chenshudong il y a 4 mois
Parent
commit
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 414
             queryAttendanceTeamUserRecord.setCreateBy(SecurityUtils.getUsername());
415 415
             queryAttendanceTeamUserRecord.setUserId(postRecord.getUserId());
416 416
             queryAttendanceTeamUserRecord.setCheckInType("1");
417
-            List<AttendanceTeamUserRecord> attendanceTeamUserRecordList = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(queryAttendanceTeamUserRecord);
417
+            List<AttendanceTeamUserRecord> attendanceTeamUserRecordList = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(queryAttendanceTeamUserRecord, true);
418 418
             attendanceTeamUserRecordList.forEach(attendanceTeamUserRecord -> {
419 419
                 attendanceTeamUserRecord.setUpdateBy(SecurityUtils.getUsername());
420 420
                 attendanceTeamUserRecord.setCheckInType("2");
@@ -747,7 +747,7 @@ public class AttendancePostRecordController extends BaseController {
747 747
                 .map(SysRole::getRoleKey)
748 748
                 .collect(Collectors.toList());
749 749
         if (roleKeyList.contains(RoleTypeEnum.kezhang.getCode())) {
750
-            Map<String, Date> shiftTime = attendancePostRecordService.getShiftTime();
750
+            Map<String, Date> shiftTime = attendancePostRecordService.getShiftTimeNew();
751 751
             Date shiftStartTime = shiftTime.get("start");
752 752
             Date shiftEndTime = shiftTime.get("end");
753 753
             List<AttendancePostRecord> regionalList = attendancePostRecordService
@@ -768,7 +768,7 @@ public class AttendancePostRecordController extends BaseController {
768 768
         List<String> channelCodeList = channels.stream()
769 769
                 .map(PositionInfoVO::getChannelCode)
770 770
                 .collect(Collectors.toList());
771
-        Map<String, Date> shiftTime = attendancePostRecordService.getShiftTime();
771
+        Map<String, Date> shiftTime = attendancePostRecordService.getShiftTimeNew();
772 772
         Date shiftStartTime = shiftTime.get("start");
773 773
         Date shiftEndTime = shiftTime.get("end");
774 774
         return attendancePostRecordService
@@ -786,9 +786,9 @@ public class AttendancePostRecordController extends BaseController {
786 786
             // 处理日期解析异常,使用当前日期作为默认值
787 787
             queryRecord.setAttendanceDate(new Date());
788 788
         }
789
-
789
+        queryRecord.setCheckInType("1");
790 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 946
                 .filter(record -> StringUtils.equals(record.getTerminlCode(), terminalCode))
947 947
                 .collect(Collectors.groupingBy(AttendanceTeamUserRecord::getAttendanceTeamName));
948 948
 
949
-        Date date = determineShiftDate();
949
+//        Date date = determineShiftDate();
950
+        Date date = DateUtils.getNowDate();
950 951
 
951 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 57
     public AjaxResult list(AttendanceTeamUserRecord attendanceTeamUserRecord) {
58 58
         attendanceTeamUserRecord.setCreateBy(getUsername());
59 59
         attendanceTeamUserRecord.setCheckInType("1");
60
-        List<AttendanceTeamUserRecord> list = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(attendanceTeamUserRecord);
60
+        List<AttendanceTeamUserRecord> list = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(attendanceTeamUserRecord, true);
61 61
         return success(list);
62 62
     }
63 63
 
@@ -73,7 +73,7 @@ public class AttendanceTeamUserRecordController extends BaseController {
73 73
         }
74 74
         attendanceTeamUserRecord.setCreateBy(getUsername());
75 75
         attendanceTeamUserRecord.setCheckInType("1");
76
-        List<AttendanceTeamUserRecord> list = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(attendanceTeamUserRecord);
76
+        List<AttendanceTeamUserRecord> list = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(attendanceTeamUserRecord, true);
77 77
         ExcelUtil<AttendanceTeamUserRecord> util = new ExcelUtil<AttendanceTeamUserRecord>(AttendanceTeamUserRecord.class);
78 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 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 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 35
      * @param attendanceTeamUserRecord 考勤班组成员
36 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 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 251
                     AttendanceTeamUserRecord queryAttendanceTeamUserRecord = new AttendanceTeamUserRecord();
252 252
                     queryAttendanceTeamUserRecord.setCreateBy(SecurityUtils.getUsername());
253 253
                     queryAttendanceTeamUserRecord.setCheckInType("1");
254
-                    List<AttendanceTeamUserRecord> attendanceTeamUserRecordList = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(queryAttendanceTeamUserRecord);
254
+                    List<AttendanceTeamUserRecord> attendanceTeamUserRecordList = attendanceTeamUserRecordService.selectAttendanceTeamUserRecordList(queryAttendanceTeamUserRecord, true);
255 255
                     attendanceTeamUserRecordList.forEach(attendanceTeamUserRecord -> {
256 256
                         attendanceTeamUserRecord.setUpdateBy(SecurityUtils.getUsername());
257 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 63
      * @return 考勤班组成员
64 64
      */
65 65
     @Override
66
-    public List<AttendanceTeamUserRecord> selectAttendanceTeamUserRecordList(AttendanceTeamUserRecord attendanceTeamUserRecord) {
66
+    public List<AttendanceTeamUserRecord> selectAttendanceTeamUserRecordList(AttendanceTeamUserRecord attendanceTeamUserRecord, boolean changeDate) {
67 67
         // 如果指定了考勤日期,则调整查询时间范围
68 68
 //        if (attendanceTeamUserRecord.getAttendanceDate() != null) {
69 69
 //            try {
@@ -86,9 +86,11 @@ public class AttendanceTeamUserRecordServiceImpl implements IAttendanceTeamUserR
86 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 95
         return attendanceTeamUserRecordMapper.selectAttendanceTeamUserRecordList(attendanceTeamUserRecord);
94 96
     }
@@ -213,7 +215,7 @@ public class AttendanceTeamUserRecordServiceImpl implements IAttendanceTeamUserR
213 215
         AttendanceTeamUserRecord attendanceTeamUserRecord = new AttendanceTeamUserRecord();
214 216
         attendanceTeamUserRecord.setAttendanceDate(DateUtils.getNowDate());
215 217
         attendanceTeamUserRecord.setCheckInType("1");
216
-        List<AttendanceTeamUserRecord> attendanceTeamUserRecords = selectAttendanceTeamUserRecordList(attendanceTeamUserRecord);
218
+        List<AttendanceTeamUserRecord> attendanceTeamUserRecords = selectAttendanceTeamUserRecordList(attendanceTeamUserRecord, true);
217 219
         List<Long> collect = attendanceTeamUserRecords.stream().map(AttendanceTeamUserRecord::getAttendanceTeamId).collect(Collectors.toList());
218 220
         if (CollectionUtil.isEmpty(collect)) {
219 221
             return new ArrayList<>();

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

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