소스 검색

上班考勤,本轮考勤已打卡则不再记录后续打卡(以免算迟到)

zhengqiang 5 년 전
부모
커밋
9f7654a5cd
1개의 변경된 파일12개의 추가작업 그리고 0개의 파일을 삭제
  1. 12 0
      web/src/main/java/com/jpsoft/smart/modules/business/controller/WorkAttendanceController.java

+ 12 - 0
web/src/main/java/com/jpsoft/smart/modules/business/controller/WorkAttendanceController.java

@@ -137,9 +137,21 @@ public class WorkAttendanceController {
                 //todo 每个人在指定时间段内每天的考勤情况
                 List<WorkAttendance> workAttendanceList = workAttendanceService.findByPersonIdAndDate(personInfo.getId(),startDate,endDate);
 
+                Map<String,Boolean> configMap = new HashMap<>();
+
                 for (WorkAttendance workAttendance : workAttendanceList) {
                     if(workAttendance.getRecordTime()!=null) {
                         String key = sdf.format(workAttendance.getRecordTime());
+
+                        if (workAttendance.getClassifier().equals(1)){
+                            //上班考勤,本轮考勤已打卡则不再记录后续打卡(以免算迟到)
+                            if(configMap.containsKey(workAttendance.getAlarmConfigId()) && configMap.get(workAttendance.getAlarmConfigId())){
+                                continue;
+                            }
+
+                            configMap.put(workAttendance.getAlarmConfigId(),workAttendance.getResult().equalsIgnoreCase(WorkAttendance.SUCCESS));
+                        }
+
                         workAttendanceMap.get(key).add(workAttendance);
                     }
                 }