From e0e1e64520a5508b445cf2aff8afdff30247ec6f Mon Sep 17 00:00:00 2001 From: aikai Date: Fri, 18 Oct 2024 18:40:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=A1=E7=BB=93=E6=9D=9F=E5=90=8E?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=BF=94=E5=9B=9E=E5=8F=82=E6=95=B0=20DayTim?= =?UTF-8?q?e=20=E6=AD=A4=E6=AC=A1=E6=89=93=E5=8D=A1=E5=BD=92=E5=B1=9E?= =?UTF-8?q?=E4=B8=8E=E5=93=AA=E4=B8=80=E5=A4=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/attendance/AttendanceService.java | 7 ++++++- .../system/service/attendance/AttendanceServiceImpl.java | 6 ++++-- .../attendance/punch/dto/AttendanceOnTheDayDTO.java | 2 ++ .../punchrecord/AttendancePunchRecordServiceImpl.java | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceService.java index 34c2de18..426be5a9 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceService.java @@ -63,7 +63,12 @@ public interface AttendanceService { */ Integer verifyCheckInAddress(double latitude, double longitude, List addressList, String addressGroupIds); - List buildAttendanceOnTheDay(List attendanceGroupShiftItemDOList); + /** + * @param attendanceGroupShiftItemDOList + * @param dayTime 日期yyyy-MM-dd格式 (归属于哪一天) + * @return + */ + List buildAttendanceOnTheDay(List attendanceGroupShiftItemDOList, String dayTime); /** * 按天查询 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java index bb941bde..7aa57065 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java @@ -431,7 +431,7 @@ public class AttendanceServiceImpl implements AttendanceService { // 如果Redis中没有,则从数据库加载并存入Redis if (attendanceOnTheDayDTOS.isEmpty()) { - attendanceOnTheDayDTOS = this.buildAttendanceOnTheDay(attendanceGroupShiftItemDOList); + attendanceOnTheDayDTOS = this.buildAttendanceOnTheDay(attendanceGroupShiftItemDOList, targetDayStr); this.saveToRedis(key, targetDayStr, mapKey, attendanceOnTheDayDTOS); } return attendanceOnTheDayDTOS; @@ -457,7 +457,7 @@ public class AttendanceServiceImpl implements AttendanceService { } @Override - public List buildAttendanceOnTheDay(List attendanceGroupShiftItemDOList) { + public List buildAttendanceOnTheDay(List attendanceGroupShiftItemDOList, String dayTime) { List attendanceOnTheDayDTOS = new ArrayList<>(); //上下班时间 for (AttendanceGroupShiftItemDO attendanceGroupShiftItemDO : attendanceGroupShiftItemDOList) { @@ -468,6 +468,7 @@ public class AttendanceServiceImpl implements AttendanceService { dto.setTime(attendanceGroupShiftItemDO.getBeginTime()); dto.setPunchTime(StringUtils.EMPTY); dto.setType(UP_WORK); + dto.setDayTime(dayTime); dto.setLevel(attendanceGroupShiftItemDO.getLevel()); dto.setBeforePunchTime(attendanceGroupShiftItemDO.getBeforePunchTimeUpWork()); dto.setAfterPunchTime(attendanceGroupShiftItemDO.getAfterPunchTimeUpWork()); @@ -483,6 +484,7 @@ public class AttendanceServiceImpl implements AttendanceService { dto.setTime(attendanceGroupShiftItemDO.getEndTime()); dto.setPunchTime(StringUtils.EMPTY); dto.setType(DOWN_WORK); + dto.setDayTime(dayTime); dto.setLevel(attendanceGroupShiftItemDO.getLevel()); dto.setBeforePunchTime(attendanceGroupShiftItemDO.getBeforePunchTimeDownWork()); dto.setAfterPunchTime(attendanceGroupShiftItemDO.getAfterPunchTimeDownWork()); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punch/dto/AttendanceOnTheDayDTO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punch/dto/AttendanceOnTheDayDTO.java index 67131a8d..3d3550ea 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punch/dto/AttendanceOnTheDayDTO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punch/dto/AttendanceOnTheDayDTO.java @@ -77,4 +77,6 @@ public class AttendanceOnTheDayDTO { @Schema(description = "早退时长时间戳") private Long leaveEarlyTime; + @Schema(description = "日期yyyy-MM-dd格式 (归属于哪一天)") + private String dayTime; } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punchrecord/AttendancePunchRecordServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punchrecord/AttendancePunchRecordServiceImpl.java index beba5ef4..d93b7d7c 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punchrecord/AttendancePunchRecordServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punchrecord/AttendancePunchRecordServiceImpl.java @@ -222,7 +222,7 @@ public class AttendancePunchRecordServiceImpl implements AttendancePunchRecordSe if (CollectionUtil.isEmpty(attendanceGroupShiftItemDOS)) { continue; } - List attendanceOnTheDayDTOS = attendanceService.buildAttendanceOnTheDay(attendanceGroupShiftItemDOS); + List attendanceOnTheDayDTOS = attendanceService.buildAttendanceOnTheDay(attendanceGroupShiftItemDOS, time); for (Long userId : userIds) { AdminUserDO adminUserDO = userMap.get(userId); Map leaveRedisMap = this.getAttendanceLeaveRedisMap(userId);