From c289a258292cca638d27ad8d71bc40cd5948c287 Mon Sep 17 00:00:00 2001 From: dy <2389062315@qq.com> Date: Tue, 22 Jul 2025 15:49:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=8E=86=E7=9A=84=E5=85=B7=E4=BD=93?= =?UTF-8?q?=E8=80=83=E5=8B=A4=E5=92=8C=E7=8F=AD=E6=AC=A1=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AttendanceArrangementController.java | 13 +- .../domain/AttendanceArrangement.java | 6 +- .../domain/bo/AttendanceArrangementBo.java | 17 +- .../domain/constant/StatusConstant.java | 2 + .../domain/vo/AttendanceArrangementVo.java | 21 +- .../mapper/AttendanceArrangementMapper.java | 10 +- .../IAttendanceArrangementService.java | 2 +- .../AttendanceArrangementServiceImpl.java | 202 ++++++++++++------ .../Property/AttendanceArrangementMapper.xml | 6 +- 9 files changed, 178 insertions(+), 101 deletions(-) diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceArrangementController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceArrangementController.java index 45bcd77..1c4e647 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceArrangementController.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceArrangementController.java @@ -1,5 +1,6 @@ package org.dromara.property.controller; +import java.time.LocalDate; import java.util.List; import cn.hutool.core.date.DateTime; @@ -71,18 +72,6 @@ public class AttendanceArrangementController extends BaseController { return R.ok(attendanceArrangementService.queryById(id)); } - /** - * 根据时间段查询排班列表 - */ - @SaCheckPermission("Property:arrangement:query") - @GetMapping("/queryByTime") - public R queryByTime(@NotNull(message = "开始时间不能为空") - @DateTimeFormat(pattern = "yyyy-MM-dd") @RequestParam("startTime") DateTime startTime) { - return R.ok(attendanceArrangementService.queryByTime(startTime)); - } - - - /** * 新增排班 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceArrangement.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceArrangement.java index 0a01d59..c5143b1 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceArrangement.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceArrangement.java @@ -5,6 +5,8 @@ import org.dromara.common.tenant.core.TenantEntity; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; + +import java.time.LocalDate; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; @@ -53,12 +55,12 @@ public class AttendanceArrangement extends TenantEntity { /** * 开始日期 */ - private DateTime startDate; + private LocalDate startDate; /** * 结束日期(仅date_type=3时有效) */ - private DateTime endDate; + private LocalDate endDate; /** * 状态:0-未生效,1-已生效 diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceArrangementBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceArrangementBo.java index 2a5f721..99cdc10 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceArrangementBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceArrangementBo.java @@ -12,6 +12,7 @@ import jakarta.validation.constraints.*; import org.dromara.property.domain.AttendanceUserGroup; import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDate; import java.util.Date; import java.util.List; @@ -57,13 +58,25 @@ public class AttendanceArrangementBo extends BaseEntity { * 开始日期 */ @DateTimeFormat(pattern = "yyyy-MM-dd") - private DateTime startDate; + private Date startDate; /** * 结束日期(仅date_type=3时有效) */ @DateTimeFormat(pattern = "yyyy-MM-dd") - private DateTime endDate; + private Date endDate; + + /** + * 前端传日历的开始时间和结束时间 + */ + private LocalDate calendarStartDate; + private LocalDate calendarEndTimeDate; + + /** + * 前端传某天的当前日期 + */ + private Date currentDate; + /** * 状态:0-未生效,1-已生效 diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/constant/StatusConstant.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/constant/StatusConstant.java index d847c40..126467e 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/constant/StatusConstant.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/constant/StatusConstant.java @@ -22,5 +22,7 @@ public class StatusConstant { public static final Integer SINGLEDATE = 0; public static final Integer DATERANGE = 1; + public static final Integer NORMAL = 1; + } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java index 594cc8f..c6ca7b0 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java @@ -1,22 +1,14 @@ package org.dromara.property.domain.vo; -import java.util.Date; - -import cn.hutool.core.date.DateTime; -import com.fasterxml.jackson.annotation.JsonFormat; -import org.dromara.property.domain.AttendanceArrangement; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; -import org.dromara.common.excel.annotation.ExcelDictFormat; -import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; -import org.dromara.property.domain.AttendanceGroup; -import org.dromara.property.domain.AttendanceUserGroup; +import org.dromara.property.domain.*; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDate; import java.util.List; @@ -68,13 +60,13 @@ public class AttendanceArrangementVo implements Serializable { * 开始日期 */ @ExcelProperty(value = "开始日期") - private DateTime startDate; + private LocalDate startDate; /** * 结束日期(仅date_type=3时有效) */ @ExcelProperty(value = "结束日期(仅date_type=3时有效)") - private DateTime endDate; + private LocalDate endDate; /** * 状态:0-未生效,1-已生效 @@ -84,7 +76,10 @@ public class AttendanceArrangementVo implements Serializable { private List userGroupList; - private AttendanceGroup group; + private AttendanceWeekSet weekSet; + private AttendanceShift shift; + + private AttendanceScheduleCycle cycle; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AttendanceArrangementMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AttendanceArrangementMapper.java index f51228c..97efb77 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AttendanceArrangementMapper.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AttendanceArrangementMapper.java @@ -4,10 +4,13 @@ import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.property.domain.AttendanceArrangement; +import org.dromara.property.domain.bo.AttendanceArrangementBo; import org.dromara.property.domain.vo.AttendanceArrangementVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import java.time.LocalDate; import java.util.List; /** @@ -19,8 +22,11 @@ import java.util.List; public interface AttendanceArrangementMapper extends BaseMapperPlus { @Select("SELECT * FROM attendance_arrangement WHERE start_date <= #{startTime} AND end_date >= #{startTime}") - AttendanceArrangementVo selectVoByTime(DateTime startTime); + AttendanceArrangementVo selectVoByTime(LocalDate startTime); + + List selectArrangementList(LocalDate calendarStartDate, LocalDate calendarEndTimeDate); + +// List selectArrangementList(AttendanceArrangementBo bo); - List selectArrangementList(@Param("req") LambdaQueryWrapper attendanceArrangementLambdaQueryWrapper); } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAttendanceArrangementService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAttendanceArrangementService.java index 13e4bde..5b659c7 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAttendanceArrangementService.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAttendanceArrangementService.java @@ -7,6 +7,7 @@ import org.dromara.property.domain.bo.AttendanceArrangementBo; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; +import java.time.LocalDate; import java.util.Collection; import java.util.List; @@ -68,6 +69,5 @@ public interface IAttendanceArrangementService { */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); - AttendanceArrangementVo queryByTime(DateTime startTime); } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java index 4ee2801..1a2543d 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java @@ -2,6 +2,7 @@ package org.dromara.property.service.impl; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import com.alibaba.druid.sql.ast.statement.SQLIfStatement; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -13,17 +14,21 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.property.domain.*; import org.dromara.property.domain.constant.StatusConstant; -import org.dromara.property.mapper.AttendanceFixedScheduleMapper; -import org.dromara.property.mapper.AttendanceUserGroupMapper; -import org.dromara.property.mapper.AttendanceWeekSetMapper; +import org.dromara.property.domain.vo.AttendanceWeekSetVo; +import org.dromara.property.mapper.*; +import org.springframework.beans.BeanUtils; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.dromara.property.domain.bo.AttendanceArrangementBo; import org.dromara.property.domain.vo.AttendanceArrangementVo; -import org.dromara.property.mapper.AttendanceArrangementMapper; import org.dromara.property.service.IAttendanceArrangementService; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDate; +import java.time.LocalTime; +import java.time.ZoneId; import java.util.*; +import java.util.stream.Collectors; /** * 排班Service业务层处理 @@ -40,10 +45,14 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS private final AttendanceUserGroupMapper userGroupMapper; - private final AttendanceFixedScheduleMapper fixedScheduleMapper; + private final AttendanceGroupMapper attendanceGroupMapper; private final AttendanceWeekSetMapper weekSetMapper; + private final AttendanceShiftMapper attendanceShiftMapper; + + private final AttendanceScheduleCycleMapper scheduleCycleMapper; + /** * 查询排班 * @@ -73,6 +82,86 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS public TableDataInfo queryPageList(AttendanceArrangementBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + + //1.如:在2号到10号有固定班制和排班制,根据当前日期查询出所有的考勤组id + //查询指定日期在哪些排班中 + List arrangementList = baseMapper.selectList(Wrappers.lambdaQuery().ge(AttendanceArrangement::getStartDate, bo.getCurrentDate()).le(AttendanceArrangement::getEndDate, bo.getCurrentDate())); + //根据排班查询出考勤组id + List groupIds = arrangementList.stream().map(AttendanceArrangement::getGroupId).distinct().toList(); + + // 2.循环将所有的考勤组id设置到考勤组中 + //循环groupIds,循环和AttendanceGroup中的id做对比,如果有相同的,则取出attendanceGroup中的所有数据 + groupIds.forEach( + groupId -> { + //从数据库查询出当前考勤组的所有数据 + AttendanceGroup group = attendanceGroupMapper.selectOne(Wrappers.lambdaQuery().eq(AttendanceGroup::getId, groupId)); + + // 3.查询出当前考勤组的所有数据,从考勤组判断当前id是固定班制还是排班制 + if (group.getAttendanceType().equals(StatusConstant.FIXEDSCHEDULE)) { + // 3.1固定班制:将当前的日期转为周几,然后与数据库中的班次周数作对比,取出当前日期的班次信息 + //将传来的日期参数转为周几 + int week = DateUtil.dayOfWeek(bo.getCurrentDate()); + //取出当前日期的周数,与数据库中的班次周数作对比,取出当前日期的班次信息 + AttendanceWeekSet weekSet = weekSetMapper.selectOne(Wrappers.lambdaQuery().eq(AttendanceWeekSet::getGroupId, groupId).eq(AttendanceWeekSet::getDayOfWeek, week)); + //将weekSet存到结果中 + AttendanceArrangementVo arrangementVo = new AttendanceArrangementVo(); + arrangementVo.setWeekSet(weekSet); + //根据weekSet取出id,根据id查询出attendanceWeekSetShift表中的shiftId + Long shiftId = weekSet.getId(); + //根据shiftId查询attendanceShift表中对应的id的数据 + AttendanceShift shift = attendanceShiftMapper.selectById(shiftId); + //将shift存到结果中 + arrangementVo.setShift(shift); + + } else if (group.getAttendanceType().equals(StatusConstant.SHIFTSCHEDULE)) { + // 3.2排班制:判断第一天是从几号开始,循环判断,判断当前是循环中的第几天,取出当前天数的班次信息。 + //取出排班中的开始时间和结束时间 + Date startDate = bo.getStartDate(); + Date endDate = bo.getEndDate(); + Date currentDate = bo.getCurrentDate(); + //取出attendanceScheduleCycle表中的天数 + Integer cycleDays = scheduleCycleMapper.selectOne(Wrappers.lambdaQuery().eq(AttendanceScheduleCycle::getGroupId, groupId)).getDayNumber(); + //在startDate和endDate之间循环,判端当前日期是cycleDays中的第几天 + int cycleDay = 0; + while (startDate.before(currentDate) || endDate.after(currentDate)) { + cycleDay++; + startDate = DateUtil.offsetDay(startDate, 1); + //判断当前日期是clcleDays中的第几天 + if (cycleDay > cycleDays) { + cycleDay = 1; + } + } + //根据cycleDay查询出当前日期的班次信息 + AttendanceScheduleCycle cycle = scheduleCycleMapper.selectOne(Wrappers.lambdaQuery().eq(AttendanceScheduleCycle::getGroupId, groupId).eq(AttendanceScheduleCycle::getDayNumber, cycleDay)); + //将cycle存到结果中 + AttendanceArrangementVo arrangementVo = new AttendanceArrangementVo(); + arrangementVo.setCycle(cycle); + + } + } + ); + + +// //1.根据当前日期查询出排班信息 +// AttendanceArrangementVo arrangementvo = baseMapper.selectVoByTime(bo.getCurrentDate()); +// //2.查询人员组的信息 +// //根据开始时间查询出所有的排班id +// List scheduleIdList = baseMapper.selectList(Wrappers.lambdaQuery().ge(AttendanceArrangement::getStartDate, bo.getCurrentDate())).stream().map(AttendanceArrangement::getId).collect(Collectors.toList()); +// //根据排班的id查询出排班的人员详细信息 +// List userGroupList = userGroupMapper.selectList(Wrappers.lambdaQuery().in(AttendanceUserGroup::getScheduleId, scheduleIdList)); +// //将排班人员信息添加到排班信息中 +// arrangementvo.setUserGroupList(userGroupList); +// +// //3.根据排班的id查询出排班的考勤组id +// List groupIds = baseMapper.selectList(Wrappers.lambdaQuery().ge(AttendanceArrangement::getStartDate, bo.getCurrentDate())).stream().map(AttendanceArrangement::getGroupId).distinct().collect(Collectors.toList()); +// //判断考勤组是排班制还是固定班制 +// if (arrangementvo.getScheduleType().equals(StatusConstant.FIXEDSCHEDULE)) { +// //排班制 +// //根据排班的id查询出排班的考勤组id +// List weekSetList = weekSetMapper.selectList(Wrappers.lambdaQuery().in(AttendanceWeekSet::getGroupId, groupIds)); +// } + + return TableDataInfo.build(result); } @@ -84,26 +173,55 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS */ @Override public List queryList(AttendanceArrangementBo bo) { - //使用mybatis进行查询,不使用mybatisPlus - //查询排班信息列表 - List list = baseMapper.selectArrangementList(buildQueryWrapper(bo)); + + //1.根据开始时间和结束时间查询所有的排班信息 + List arrangementList = baseMapper.selectList(Wrappers.lambdaQuery().ge(AttendanceArrangement::getStartDate, bo.getCalendarStartDate()).le(AttendanceArrangement::getEndDate, bo.getCalendarEndTimeDate())); + //2.查询人员组的信息 + //根据开始时间查询排班的id + List scheduleIdList = arrangementList.stream().map(AttendanceArrangement::getId).collect(Collectors.toList()); + //根据排班的id查询出排班的人员详细信息 + List userGroupList = userGroupMapper.selectList(Wrappers.lambdaQuery().in(AttendanceUserGroup::getScheduleId, scheduleIdList)); + //3.将排班人员信息添加到排班信息中 + + return arrangementList.stream().map(arrangement -> { + AttendanceArrangementVo vo = MapstructUtils.convert(arrangement, AttendanceArrangementVo.class); + assert vo != null; + vo.setUserGroupList(userGroupList.stream().filter(userGroup -> userGroup.getScheduleId().equals(arrangement.getId())).collect(Collectors.toList())); + return vo; + }).collect(Collectors.toList()); +// //判断参数是固定排班制还是排班制 +// if (Objects.equals(bo.getScheduleType(), StatusConstant.FIXEDSCHEDULE)) { +// //固定班制 +// //获取所有的排班信息 +// List arrangementList = baseMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceArrangement::getScheduleType, StatusConstant.FIXEDSCHEDULE)); +// //判断排班信息是否在日历的开始时间和结束时间之间 +// List filterList = arrangementList.stream().filter(arrangement -> { +// LocalDate startDate = arrangement.getStartDate(); +// LocalDate endDate = arrangement.getEndDate(); +// return startDate.isAfter(calendarStartDate) && endDate.isBefore(calendarEndTimeDate); +// }).toList(); +// +// //在日历的开始日期和结束日期之间,则获取所有固定班次的考勤组id +// List groupIds = filterList.stream().map(AttendanceArrangement::getGroupId).distinct().collect(Collectors.toList()); +// //根据考勤组id查询所有的固定班制 +// List weekSetList = weekSetMapper.selectList(Wrappers.lambdaQuery().in(AttendanceWeekSet::getGroupId, groupIds)); +// +// //根据固定班制的groupId查询出week_set_shift表中的数据 +// List shiftList = weekSetList.stream().flatMap(weekSet -> weekSet.getWeeksetShiftList().stream()).toList(); +// +// } else if (Objects.equals(bo.getScheduleType(), StatusConstant.SHIFTSCHEDULE)) { +// //排班制 +// //获取所有的排班信息 +// List arrangementList = baseMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceArrangement::getScheduleType, StatusConstant.SHIFTSCHEDULE)); +// } - - return MapstructUtils.convert(list, AttendanceArrangementVo.class); +// return voList; } - - - - - - - - private LambdaQueryWrapper buildQueryWrapper(AttendanceArrangementBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); @@ -130,28 +248,6 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS //新增排班 AttendanceArrangement add = MapstructUtils.convert(bo, AttendanceArrangement.class); validEntityBeforeSave(add); -// //判断排班类型是固定班制还是排班制 -// assert add != null; -// if (Objects.equals(add.getScheduleType(), StatusConstant.FIXEDSCHEDULE)) { -// //固定班制 -// //取出开始时间和结束时间,循环插入 -// DateTime startDate = DateUtil.beginOfDay(bo.getStartDate()); -// DateTime endDate = DateUtil.endOfDay(bo.getEndDate()); -// while (startDate.isBefore(endDate)) { -// //将startDate转换为周几 -// int dayOfWeek = DateUtil.dayOfWeek(bo.getStartDate()); -// //取出当前固定班次的周几和dayOfWeek比较,如果相等,则设置当前班次 -// AttendanceWeekSet attendanceWeekSet = weekSetMapper.selectOne(Wrappers.lambdaQuery().eq(AttendanceWeekSet::getGroupId, bo.getGroupId()).eq(AttendanceWeekSet::getDayOfWeek, dayOfWeek)); -// -// if (attendanceWeekSet != null) { -// //从attendanceWeekSet中取出当前周数 -// int weekNum = attendanceWeekSet.getDayOfWeek(); -// //设置开始时间为周数 -// } -// } -// -// -// } boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setId(add.getId()); @@ -220,31 +316,5 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS return baseMapper.deleteByIds(ids) > 0; } - @Override - public AttendanceArrangementVo queryByTime(DateTime startTime) { -// //1.根据开始时间查询所有的排班信息 -// AttendanceArrangementVo arrangementVo = baseMapper.selectVoByTime(startTime); -// -// //2.查询人员组的信息 -// //根据开始时间查询排班的id -// Long scheduleId = baseMapper.selectOne(Wrappers.lambdaQuery().ge(AttendanceArrangement::getStartDate, startTime)).getId(); -// //根据排班的id查询出排班的人员详细信息 -// List userGroupList = userGroupMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, scheduleId)); -// //将排班人员信息添加到排班信息中 -// arrangementVo.setUserGroupList(userGroupList); -// -// -// -// -// //3.根据开始时间查询出排班的考勤组id -// baseMapper.selectList(Wrappers.lambdaQuery().ge(AttendanceArrangement::getStartDate, startTime)).getGroupId(); -// -// Long groupId = baseMapper.selectOne(Wrappers.lambdaQuery().ge(AttendanceArrangement::getStartDate, startTime)).getGroupId(); -// //根据查询出来的考勤组id查询出考勤信息 -// -// -// return arrangementVo; - return null; - } } diff --git a/ruoyi-modules/Property/src/main/resources/mapper/Property/AttendanceArrangementMapper.xml b/ruoyi-modules/Property/src/main/resources/mapper/Property/AttendanceArrangementMapper.xml index e9d47aa..49ab5ef 100644 --- a/ruoyi-modules/Property/src/main/resources/mapper/Property/AttendanceArrangementMapper.xml +++ b/ruoyi-modules/Property/src/main/resources/mapper/Property/AttendanceArrangementMapper.xml @@ -3,8 +3,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + +