diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceGroupBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceGroupBo.java index 3f18439..5211895 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceGroupBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceGroupBo.java @@ -59,7 +59,7 @@ public class AttendanceGroupBo extends BaseEntity { //前端传必须打卡还是无需打卡 private Integer mustNoCheck; - private AttendanceClockDate clockDate; + private List clockDate; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceGroupServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceGroupServiceImpl.java index 1d6856e..0476609 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceGroupServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceGroupServiceImpl.java @@ -174,7 +174,6 @@ public class AttendanceGroupServiceImpl implements IAttendanceGroupService { } ); - //todo: 法定节假日自动排休 //2.3.新增打卡日期表 //2.3.1判断是必须打卡还是无需打卡 @@ -217,15 +216,24 @@ public class AttendanceGroupServiceImpl implements IAttendanceGroupService { private void judgeDate(AttendanceGroupBo bo) { //3.1.1判断是时间段还是单个日期 //如果为单个日期,向打卡日期表中插入数据 - if (Objects.equals(bo.getClockDate().getDateType(), StatusConstant.SINGLEDATE)) { - insertAttendaanceClockDate(bo); - //设置结束时间为开始时间 - bo.getClockDate().setEndDate(bo.getClockDate().getStartDate()); - } - //如果为时间段,向打卡日期表中插入数据 - else if (Objects.equals(bo.getClockDate().getDateType(), StatusConstant.DATERANGE)) { - insertAttendaanceClockDate(bo); - } + //循环clockDate集合 + bo.getClockDate().forEach( + clockDate -> { + //向打卡日期表中插入数据 + AttendanceClockDate attendanceClockDate = new AttendanceClockDate(); + BeanUtils.copyProperties(clockDate, attendanceClockDate); + attendanceClockDate.setGroupId(bo.getId()); + attendanceClockDate.setStartDate(clockDate.getStartDate()); + //判断是时间段还是单个日期 + if (Objects.equals(clockDate.getDateType(), StatusConstant.SINGLEDATE)) { + attendanceClockDate.setEndDate(clockDate.getStartDate()); + } else if (Objects.equals(clockDate.getDateType(), StatusConstant.DATERANGE)) { + attendanceClockDate.setEndDate(clockDate.getEndDate()); + } + attendanceClockDate.setEndDate(clockDate.getEndDate()); + attendanceClockDateMapper.insert(attendanceClockDate); + } + ); } private void insertAttendaanceClockDate(AttendanceGroupBo bo) {