打卡结束后新增返回参数 DayTime 此次打卡归属与哪一天

This commit is contained in:
aikai 2024-10-18 18:40:20 +08:00
parent e204668d09
commit e0e1e64520
4 changed files with 13 additions and 4 deletions

View File

@ -63,7 +63,12 @@ public interface AttendanceService {
*/ */
Integer verifyCheckInAddress(double latitude, double longitude, List<AttendanceAddressGroupItemDO> addressList, String addressGroupIds); Integer verifyCheckInAddress(double latitude, double longitude, List<AttendanceAddressGroupItemDO> addressList, String addressGroupIds);
List<AttendanceOnTheDayDTO> buildAttendanceOnTheDay(List<AttendanceGroupShiftItemDO> attendanceGroupShiftItemDOList); /**
* @param attendanceGroupShiftItemDOList
* @param dayTime 日期yyyy-MM-dd格式 (归属于哪一天)
* @return
*/
List<AttendanceOnTheDayDTO> buildAttendanceOnTheDay(List<AttendanceGroupShiftItemDO> attendanceGroupShiftItemDOList, String dayTime);
/** /**
* 按天查询 * 按天查询

View File

@ -431,7 +431,7 @@ public class AttendanceServiceImpl implements AttendanceService {
// 如果Redis中没有则从数据库加载并存入Redis // 如果Redis中没有则从数据库加载并存入Redis
if (attendanceOnTheDayDTOS.isEmpty()) { if (attendanceOnTheDayDTOS.isEmpty()) {
attendanceOnTheDayDTOS = this.buildAttendanceOnTheDay(attendanceGroupShiftItemDOList); attendanceOnTheDayDTOS = this.buildAttendanceOnTheDay(attendanceGroupShiftItemDOList, targetDayStr);
this.saveToRedis(key, targetDayStr, mapKey, attendanceOnTheDayDTOS); this.saveToRedis(key, targetDayStr, mapKey, attendanceOnTheDayDTOS);
} }
return attendanceOnTheDayDTOS; return attendanceOnTheDayDTOS;
@ -457,7 +457,7 @@ public class AttendanceServiceImpl implements AttendanceService {
} }
@Override @Override
public List<AttendanceOnTheDayDTO> buildAttendanceOnTheDay(List<AttendanceGroupShiftItemDO> attendanceGroupShiftItemDOList) { public List<AttendanceOnTheDayDTO> buildAttendanceOnTheDay(List<AttendanceGroupShiftItemDO> attendanceGroupShiftItemDOList, String dayTime) {
List<AttendanceOnTheDayDTO> attendanceOnTheDayDTOS = new ArrayList<>(); List<AttendanceOnTheDayDTO> attendanceOnTheDayDTOS = new ArrayList<>();
//上下班时间 //上下班时间
for (AttendanceGroupShiftItemDO attendanceGroupShiftItemDO : attendanceGroupShiftItemDOList) { for (AttendanceGroupShiftItemDO attendanceGroupShiftItemDO : attendanceGroupShiftItemDOList) {
@ -468,6 +468,7 @@ public class AttendanceServiceImpl implements AttendanceService {
dto.setTime(attendanceGroupShiftItemDO.getBeginTime()); dto.setTime(attendanceGroupShiftItemDO.getBeginTime());
dto.setPunchTime(StringUtils.EMPTY); dto.setPunchTime(StringUtils.EMPTY);
dto.setType(UP_WORK); dto.setType(UP_WORK);
dto.setDayTime(dayTime);
dto.setLevel(attendanceGroupShiftItemDO.getLevel()); dto.setLevel(attendanceGroupShiftItemDO.getLevel());
dto.setBeforePunchTime(attendanceGroupShiftItemDO.getBeforePunchTimeUpWork()); dto.setBeforePunchTime(attendanceGroupShiftItemDO.getBeforePunchTimeUpWork());
dto.setAfterPunchTime(attendanceGroupShiftItemDO.getAfterPunchTimeUpWork()); dto.setAfterPunchTime(attendanceGroupShiftItemDO.getAfterPunchTimeUpWork());
@ -483,6 +484,7 @@ public class AttendanceServiceImpl implements AttendanceService {
dto.setTime(attendanceGroupShiftItemDO.getEndTime()); dto.setTime(attendanceGroupShiftItemDO.getEndTime());
dto.setPunchTime(StringUtils.EMPTY); dto.setPunchTime(StringUtils.EMPTY);
dto.setType(DOWN_WORK); dto.setType(DOWN_WORK);
dto.setDayTime(dayTime);
dto.setLevel(attendanceGroupShiftItemDO.getLevel()); dto.setLevel(attendanceGroupShiftItemDO.getLevel());
dto.setBeforePunchTime(attendanceGroupShiftItemDO.getBeforePunchTimeDownWork()); dto.setBeforePunchTime(attendanceGroupShiftItemDO.getBeforePunchTimeDownWork());
dto.setAfterPunchTime(attendanceGroupShiftItemDO.getAfterPunchTimeDownWork()); dto.setAfterPunchTime(attendanceGroupShiftItemDO.getAfterPunchTimeDownWork());

View File

@ -77,4 +77,6 @@ public class AttendanceOnTheDayDTO {
@Schema(description = "早退时长时间戳") @Schema(description = "早退时长时间戳")
private Long leaveEarlyTime; private Long leaveEarlyTime;
@Schema(description = "日期yyyy-MM-dd格式 (归属于哪一天)")
private String dayTime;
} }

View File

@ -222,7 +222,7 @@ public class AttendancePunchRecordServiceImpl implements AttendancePunchRecordSe
if (CollectionUtil.isEmpty(attendanceGroupShiftItemDOS)) { if (CollectionUtil.isEmpty(attendanceGroupShiftItemDOS)) {
continue; continue;
} }
List<AttendanceOnTheDayDTO> attendanceOnTheDayDTOS = attendanceService.buildAttendanceOnTheDay(attendanceGroupShiftItemDOS); List<AttendanceOnTheDayDTO> attendanceOnTheDayDTOS = attendanceService.buildAttendanceOnTheDay(attendanceGroupShiftItemDOS, time);
for (Long userId : userIds) { for (Long userId : userIds) {
AdminUserDO adminUserDO = userMap.get(userId); AdminUserDO adminUserDO = userMap.get(userId);
Map<Object, Object> leaveRedisMap = this.getAttendanceLeaveRedisMap(userId); Map<Object, Object> leaveRedisMap = this.getAttendanceLeaveRedisMap(userId);