|
@@ -561,12 +561,17 @@ public class AttendanceSheetServiceImpl implements AttendanceSheetService {
|
|
usernameAttendanceRecordMap.forEach((username, attendanceRecordList) -> {
|
|
usernameAttendanceRecordMap.forEach((username, attendanceRecordList) -> {
|
|
AttendanceRecordDO firstRecord = attendanceRecordList.get(0);
|
|
AttendanceRecordDO firstRecord = attendanceRecordList.get(0);
|
|
AttendanceRecordDO lastRecord = attendanceRecordList.get(attendanceRecordList.size() - 1);
|
|
AttendanceRecordDO lastRecord = attendanceRecordList.get(attendanceRecordList.size() - 1);
|
|
|
|
+ AdminUserRespDTO user = userApi.getUserByUsername(firstRecord.getUsername().replace("'", "")).getCheckedData();
|
|
|
|
+ //没获取到用户跳过
|
|
|
|
+ if (user == null) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
//计算早上考勤记录
|
|
//计算早上考勤记录
|
|
//第一次打卡时间在上班时间+不计入迟到时间之前
|
|
//第一次打卡时间在上班时间+不计入迟到时间之前
|
|
- AttendanceSheetDO morningSheetDO = getAttendanceMorningSheetDO(normalTimeAm, lateFlag, finishAmFlag, firstRecord.getUsername().replace("'", ""), firstRecord, null, year, month, day);
|
|
|
|
|
|
+ AttendanceSheetDO morningSheetDO = getAttendanceMorningSheetDO(normalTimeAm, lateFlag, finishAmFlag, firstRecord.getUsername().replace("'", ""), firstRecord, user, year, month, day);
|
|
//计算下午考勤记录
|
|
//计算下午考勤记录
|
|
//最后一次打卡时间在下午上班时间之前算旷工
|
|
//最后一次打卡时间在下午上班时间之前算旷工
|
|
- AttendanceSheetDO afternoonSheetDO = getAttendanceAfternoonSheetDO(normalTimePm, finishPmFlag, lastRecord.getUsername().replace("'", ""), lastRecord, null, year, month, day);
|
|
|
|
|
|
+ AttendanceSheetDO afternoonSheetDO = getAttendanceAfternoonSheetDO(normalTimePm, finishPmFlag, lastRecord.getUsername().replace("'", ""), lastRecord, user, year, month, day);
|
|
attendanceSheetDOList.add(morningSheetDO);
|
|
attendanceSheetDOList.add(morningSheetDO);
|
|
attendanceSheetDOList.add(afternoonSheetDO);
|
|
attendanceSheetDOList.add(afternoonSheetDO);
|
|
});
|
|
});
|