chenshudong 4 månader sedan
förälder
incheckning
a5cec62c74

+ 7 - 6
airport-admin/src/main/java/com/sundot/airport/web/controller/attendance/AttendancePostRecordController.java

@@ -414,7 +414,7 @@ public class AttendancePostRecordController extends BaseController {
414
             queryAttendanceTeamUserRecord.setCreateBy(SecurityUtils.getUsername());
414
             queryAttendanceTeamUserRecord.setCreateBy(SecurityUtils.getUsername());
415
             queryAttendanceTeamUserRecord.setUserId(postRecord.getUserId());
415
             queryAttendanceTeamUserRecord.setUserId(postRecord.getUserId());
416
             queryAttendanceTeamUserRecord.setCheckInType("1");
416
             queryAttendanceTeamUserRecord.setCheckInType("1");
417
-            List<AttendanceTeamUserRecord> attendanceTeamUserRecordList = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(queryAttendanceTeamUserRecord);
417
+            List<AttendanceTeamUserRecord> attendanceTeamUserRecordList = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(queryAttendanceTeamUserRecord, true);
418
             attendanceTeamUserRecordList.forEach(attendanceTeamUserRecord -> {
418
             attendanceTeamUserRecordList.forEach(attendanceTeamUserRecord -> {
419
                 attendanceTeamUserRecord.setUpdateBy(SecurityUtils.getUsername());
419
                 attendanceTeamUserRecord.setUpdateBy(SecurityUtils.getUsername());
420
                 attendanceTeamUserRecord.setCheckInType("2");
420
                 attendanceTeamUserRecord.setCheckInType("2");
@@ -747,7 +747,7 @@ public class AttendancePostRecordController extends BaseController {
747
                 .map(SysRole::getRoleKey)
747
                 .map(SysRole::getRoleKey)
748
                 .collect(Collectors.toList());
748
                 .collect(Collectors.toList());
749
         if (roleKeyList.contains(RoleTypeEnum.kezhang.getCode())) {
749
         if (roleKeyList.contains(RoleTypeEnum.kezhang.getCode())) {
750
-            Map<String, Date> shiftTime = attendancePostRecordService.getShiftTime();
750
+            Map<String, Date> shiftTime = attendancePostRecordService.getShiftTimeNew();
751
             Date shiftStartTime = shiftTime.get("start");
751
             Date shiftStartTime = shiftTime.get("start");
752
             Date shiftEndTime = shiftTime.get("end");
752
             Date shiftEndTime = shiftTime.get("end");
753
             List<AttendancePostRecord> regionalList = attendancePostRecordService
753
             List<AttendancePostRecord> regionalList = attendancePostRecordService
@@ -768,7 +768,7 @@ public class AttendancePostRecordController extends BaseController {
768
         List<String> channelCodeList = channels.stream()
768
         List<String> channelCodeList = channels.stream()
769
                 .map(PositionInfoVO::getChannelCode)
769
                 .map(PositionInfoVO::getChannelCode)
770
                 .collect(Collectors.toList());
770
                 .collect(Collectors.toList());
771
-        Map<String, Date> shiftTime = attendancePostRecordService.getShiftTime();
771
+        Map<String, Date> shiftTime = attendancePostRecordService.getShiftTimeNew();
772
         Date shiftStartTime = shiftTime.get("start");
772
         Date shiftStartTime = shiftTime.get("start");
773
         Date shiftEndTime = shiftTime.get("end");
773
         Date shiftEndTime = shiftTime.get("end");
774
         return attendancePostRecordService
774
         return attendancePostRecordService
@@ -786,9 +786,9 @@ public class AttendancePostRecordController extends BaseController {
786
             // 处理日期解析异常,使用当前日期作为默认值
786
             // 处理日期解析异常,使用当前日期作为默认值
787
             queryRecord.setAttendanceDate(new Date());
787
             queryRecord.setAttendanceDate(new Date());
788
         }
788
         }
789
-
789
+        queryRecord.setCheckInType("1");
790
         return attendanceTeamUserRecordService
790
         return attendanceTeamUserRecordService
791
-                .selectAttendanceTeamUserRecordList(queryRecord);
791
+                .selectAttendanceTeamUserRecordList(queryRecord, false);
792
     }
792
     }
793
 
793
 
794
 
794
 
@@ -946,7 +946,8 @@ public class AttendancePostRecordController extends BaseController {
946
                 .filter(record -> StringUtils.equals(record.getTerminlCode(), terminalCode))
946
                 .filter(record -> StringUtils.equals(record.getTerminlCode(), terminalCode))
947
                 .collect(Collectors.groupingBy(AttendanceTeamUserRecord::getAttendanceTeamName));
947
                 .collect(Collectors.groupingBy(AttendanceTeamUserRecord::getAttendanceTeamName));
948
 
948
 
949
-        Date date = determineShiftDate();
949
+//        Date date = determineShiftDate();
950
+        Date date = DateUtils.getNowDate();
950
 
951
 
951
         List<AttendanceRecordCountWaitDTO> waitList = new ArrayList<>();
952
         List<AttendanceRecordCountWaitDTO> waitList = new ArrayList<>();
952
 
953
 

+ 2 - 2
airport-admin/src/main/java/com/sundot/airport/web/controller/attendance/AttendanceTeamUserRecordController.java

@@ -57,7 +57,7 @@ public class AttendanceTeamUserRecordController extends BaseController {
57
     public AjaxResult list(AttendanceTeamUserRecord attendanceTeamUserRecord) {
57
     public AjaxResult list(AttendanceTeamUserRecord attendanceTeamUserRecord) {
58
         attendanceTeamUserRecord.setCreateBy(getUsername());
58
         attendanceTeamUserRecord.setCreateBy(getUsername());
59
         attendanceTeamUserRecord.setCheckInType("1");
59
         attendanceTeamUserRecord.setCheckInType("1");
60
-        List<AttendanceTeamUserRecord> list = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(attendanceTeamUserRecord);
60
+        List<AttendanceTeamUserRecord> list = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(attendanceTeamUserRecord, true);
61
         return success(list);
61
         return success(list);
62
     }
62
     }
63
 
63
 
@@ -73,7 +73,7 @@ public class AttendanceTeamUserRecordController extends BaseController {
73
         }
73
         }
74
         attendanceTeamUserRecord.setCreateBy(getUsername());
74
         attendanceTeamUserRecord.setCreateBy(getUsername());
75
         attendanceTeamUserRecord.setCheckInType("1");
75
         attendanceTeamUserRecord.setCheckInType("1");
76
-        List<AttendanceTeamUserRecord> list = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(attendanceTeamUserRecord);
76
+        List<AttendanceTeamUserRecord> list = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(attendanceTeamUserRecord, true);
77
         ExcelUtil<AttendanceTeamUserRecord> util = new ExcelUtil<AttendanceTeamUserRecord>(AttendanceTeamUserRecord.class);
77
         ExcelUtil<AttendanceTeamUserRecord> util = new ExcelUtil<AttendanceTeamUserRecord>(AttendanceTeamUserRecord.class);
78
         util.exportExcel(response, list, "考勤班组成员数据");
78
         util.exportExcel(response, list, "考勤班组成员数据");
79
     }
79
     }

+ 7 - 0
airport-attendance/src/main/java/com/sundot/airport/attendance/service/IAttendancePostRecordService.java

@@ -142,6 +142,13 @@ public interface IAttendancePostRecordService {
142
     Map<String, Date> getShiftTime();
142
     Map<String, Date> getShiftTime();
143
 
143
 
144
     /**
144
     /**
145
+     * 获取当前班次时间
146
+     *
147
+     * @return 时间
148
+     */
149
+    Map<String, Date> getShiftTimeNew();
150
+
151
+    /**
145
      * 查询指定用户最近的上岗记录的考勤日期
152
      * 查询指定用户最近的上岗记录的考勤日期
146
      *
153
      *
147
      * @param createBy 创建人
154
      * @param createBy 创建人

+ 1 - 1
airport-attendance/src/main/java/com/sundot/airport/attendance/service/IAttendanceTeamUserRecordService.java

@@ -35,7 +35,7 @@ public interface IAttendanceTeamUserRecordService {
35
      * @param attendanceTeamUserRecord 考勤班组成员
35
      * @param attendanceTeamUserRecord 考勤班组成员
36
      * @return 考勤班组成员集合
36
      * @return 考勤班组成员集合
37
      */
37
      */
38
-    public List<AttendanceTeamUserRecord> selectAttendanceTeamUserRecordList(AttendanceTeamUserRecord attendanceTeamUserRecord);
38
+    public List<AttendanceTeamUserRecord> selectAttendanceTeamUserRecordList(AttendanceTeamUserRecord attendanceTeamUserRecord, boolean changeDate);
39
 
39
 
40
     /**
40
     /**
41
      * 新增考勤班组成员
41
      * 新增考勤班组成员

+ 16 - 0
airport-attendance/src/main/java/com/sundot/airport/attendance/service/impl/AttendancePostRecordServiceImpl.java

@@ -269,6 +269,22 @@ public class AttendancePostRecordServiceImpl implements IAttendancePostRecordSer
269
     }
269
     }
270
 
270
 
271
     /**
271
     /**
272
+     * 获取当前班次周期的开始和结束时间
273
+     *
274
+     * @return map  startTime:开始时间  endTime:结束时间
275
+     */
276
+    @Override
277
+    public Map<String, Date> getShiftTimeNew() {
278
+        String todayStr = DateUtils.getDate();
279
+        Date shiftStartTime = DateUtils.parseDate(todayStr + " " + "00:00:00");
280
+        Date shiftEndTime = DateUtils.parseDate(todayStr + " " + "23:59:59");
281
+        Map<String, Date> map = new HashMap<>();
282
+        map.put("start", shiftStartTime);
283
+        map.put("end", shiftEndTime);
284
+        return map;
285
+    }
286
+
287
+    /**
272
      * 查询指定用户最近的上岗记录的考勤日期
288
      * 查询指定用户最近的上岗记录的考勤日期
273
      *
289
      *
274
      * @param createBy 创建人
290
      * @param createBy 创建人

+ 1 - 1
airport-attendance/src/main/java/com/sundot/airport/attendance/service/impl/AttendanceRecordServiceImpl.java

@@ -251,7 +251,7 @@ public class AttendanceRecordServiceImpl implements IAttendanceRecordService {
251
                     AttendanceTeamUserRecord queryAttendanceTeamUserRecord = new AttendanceTeamUserRecord();
251
                     AttendanceTeamUserRecord queryAttendanceTeamUserRecord = new AttendanceTeamUserRecord();
252
                     queryAttendanceTeamUserRecord.setCreateBy(SecurityUtils.getUsername());
252
                     queryAttendanceTeamUserRecord.setCreateBy(SecurityUtils.getUsername());
253
                     queryAttendanceTeamUserRecord.setCheckInType("1");
253
                     queryAttendanceTeamUserRecord.setCheckInType("1");
254
-                    List<AttendanceTeamUserRecord> attendanceTeamUserRecordList = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(queryAttendanceTeamUserRecord);
254
+                    List<AttendanceTeamUserRecord> attendanceTeamUserRecordList = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(queryAttendanceTeamUserRecord, true);
255
                     attendanceTeamUserRecordList.forEach(attendanceTeamUserRecord -> {
255
                     attendanceTeamUserRecordList.forEach(attendanceTeamUserRecord -> {
256
                         attendanceTeamUserRecord.setUpdateBy(SecurityUtils.getUsername());
256
                         attendanceTeamUserRecord.setUpdateBy(SecurityUtils.getUsername());
257
                         attendanceTeamUserRecord.setCheckInType("2");
257
                         attendanceTeamUserRecord.setCheckInType("2");

+ 7 - 5
airport-attendance/src/main/java/com/sundot/airport/attendance/service/impl/AttendanceTeamUserRecordServiceImpl.java

@@ -63,7 +63,7 @@ public class AttendanceTeamUserRecordServiceImpl implements IAttendanceTeamUserR
63
      * @return 考勤班组成员
63
      * @return 考勤班组成员
64
      */
64
      */
65
     @Override
65
     @Override
66
-    public List<AttendanceTeamUserRecord> selectAttendanceTeamUserRecordList(AttendanceTeamUserRecord attendanceTeamUserRecord) {
66
+    public List<AttendanceTeamUserRecord> selectAttendanceTeamUserRecordList(AttendanceTeamUserRecord attendanceTeamUserRecord, boolean changeDate) {
67
         // 如果指定了考勤日期,则调整查询时间范围
67
         // 如果指定了考勤日期,则调整查询时间范围
68
 //        if (attendanceTeamUserRecord.getAttendanceDate() != null) {
68
 //        if (attendanceTeamUserRecord.getAttendanceDate() != null) {
69
 //            try {
69
 //            try {
@@ -86,9 +86,11 @@ public class AttendanceTeamUserRecordServiceImpl implements IAttendanceTeamUserR
86
 //                throw new ServiceException("日期格式化错误");
86
 //                throw new ServiceException("日期格式化错误");
87
 //            }
87
 //            }
88
 //        }
88
 //        }
89
-        Date maxDate = attendanceTeamUserRecordMapper.selectMaxDateBy(attendanceTeamUserRecord);
90
-        if (maxDate != null) {
91
-            attendanceTeamUserRecord.setAttendanceDate(maxDate);
89
+        if (changeDate) {
90
+            Date maxDate = attendanceTeamUserRecordMapper.selectMaxDateBy(attendanceTeamUserRecord);
91
+            if (maxDate != null) {
92
+                attendanceTeamUserRecord.setAttendanceDate(maxDate);
93
+            }
92
         }
94
         }
93
         return attendanceTeamUserRecordMapper.selectAttendanceTeamUserRecordList(attendanceTeamUserRecord);
95
         return attendanceTeamUserRecordMapper.selectAttendanceTeamUserRecordList(attendanceTeamUserRecord);
94
     }
96
     }
@@ -213,7 +215,7 @@ public class AttendanceTeamUserRecordServiceImpl implements IAttendanceTeamUserR
213
         AttendanceTeamUserRecord attendanceTeamUserRecord = new AttendanceTeamUserRecord();
215
         AttendanceTeamUserRecord attendanceTeamUserRecord = new AttendanceTeamUserRecord();
214
         attendanceTeamUserRecord.setAttendanceDate(DateUtils.getNowDate());
216
         attendanceTeamUserRecord.setAttendanceDate(DateUtils.getNowDate());
215
         attendanceTeamUserRecord.setCheckInType("1");
217
         attendanceTeamUserRecord.setCheckInType("1");
216
-        List<AttendanceTeamUserRecord> attendanceTeamUserRecords = selectAttendanceTeamUserRecordList(attendanceTeamUserRecord);
218
+        List<AttendanceTeamUserRecord> attendanceTeamUserRecords = selectAttendanceTeamUserRecordList(attendanceTeamUserRecord, true);
217
         List<Long> collect = attendanceTeamUserRecords.stream().map(AttendanceTeamUserRecord::getAttendanceTeamId).collect(Collectors.toList());
219
         List<Long> collect = attendanceTeamUserRecords.stream().map(AttendanceTeamUserRecord::getAttendanceTeamId).collect(Collectors.toList());
218
         if (CollectionUtil.isEmpty(collect)) {
220
         if (CollectionUtil.isEmpty(collect)) {
219
             return new ArrayList<>();
221
             return new ArrayList<>();

+ 1 - 3
airport-attendance/src/main/resources/mapper/attendance/AttendancePostRecordMapper.xml

@@ -341,8 +341,7 @@
341
     <select id="selectLocationsByTimeAndChannelName" resultMap="AttendancePostRecordResult">
341
     <select id="selectLocationsByTimeAndChannelName" resultMap="AttendancePostRecordResult">
342
         <include refid="selectAttendancePostRecordVo"/>
342
         <include refid="selectAttendancePostRecordVo"/>
343
         <where>
343
         <where>
344
-            check_in_time >= #{startTime}
345
-            and check_in_time &lt;= #{endTime}
344
+            check_in_time &lt;= #{endTime}
346
             AND (check_out_time IS NULL
345
             AND (check_out_time IS NULL
347
             OR check_out_time = '2000-01-01 00:00:00'
346
             OR check_out_time = '2000-01-01 00:00:00'
348
             OR check_out_time = '')
347
             OR check_out_time = '')
@@ -377,7 +376,6 @@
377
         <include refid="selectAttendancePostRecordVo"/>
376
         <include refid="selectAttendancePostRecordVo"/>
378
         <where>
377
         <where>
379
             user_id = #{userId}
378
             user_id = #{userId}
380
-            and check_in_time >= #{startTime}
381
             and check_in_time &lt;= #{endTime}
379
             and check_in_time &lt;= #{endTime}
382
             AND (check_out_time IS NULL
380
             AND (check_out_time IS NULL
383
             OR check_out_time = '2000-01-01 00:00:00'
381
             OR check_out_time = '2000-01-01 00:00:00'