Bladeren bron

勤务模块

chenshudong 4 maanden geleden
bovenliggende
commit
af674240e0

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

@@ -318,21 +318,46 @@ public class AttendanceRecordServiceImpl implements IAttendanceRecordService {
318 318
     @Override
319 319
     public List<AttendanceRecordRep> recordList(AttendanceRecordReq dto) {
320 320
         List<AttendanceRecordRep> result = Lists.newArrayList();
321
-        AttendanceRecord recordSearch = new AttendanceRecord();
322
-        recordSearch.setUserId(dto.getUserId());
321
+//        AttendanceRecord recordSearch = new AttendanceRecord();
322
+//        recordSearch.setUserId(dto.getUserId());
323
+//        if (StrUtil.equals("1", dto.getType())) {
324
+//            // 单日查询场景
325
+//            Date targetAttendanceDate = dto.getCheckInDate();
326
+//            // 计算查询时间范围
327
+//            Date yesterday = DateUtils.addDays(targetAttendanceDate, -1);
328
+//            // 设置查询条件
329
+//            recordSearch.setAttendanceDateStart(yesterday);
330
+//            recordSearch.setAttendanceDateEnd(targetAttendanceDate);
331
+//        } else {
332
+//            recordSearch.setAttendanceDateStart(dto.getStartDate());
333
+//            recordSearch.setAttendanceDateEnd(dto.getEndDate());
334
+//        }
335
+//        List<AttendanceRecord> attendanceRecords = attendanceRecordMapper.selectAttendanceRecordList(recordSearch);
336
+//        if (CollectionUtil.isEmpty(attendanceRecords)) {
337
+//            return result;
338
+//        }
339
+        List<AttendanceRecord> attendanceRecords;
323 340
         if (StrUtil.equals("1", dto.getType())) {
324
-            // 单日查询场景
325
-            Date targetAttendanceDate = dto.getCheckInDate();
326
-            // 计算查询时间范围
327
-            Date yesterday = DateUtils.addDays(targetAttendanceDate, -1);
328
-            // 设置查询条件
329
-            recordSearch.setAttendanceDateStart(targetAttendanceDate);
330
-            recordSearch.setAttendanceDateEnd(targetAttendanceDate);
341
+            AttendanceRecord recordSearch = new AttendanceRecord();
342
+            recordSearch.setUserId(dto.getUserId());
343
+            attendanceRecords = attendanceRecordMapper.selectAttendanceRecordList(recordSearch);
344
+            if (CollectionUtil.isEmpty(attendanceRecords)) {
345
+                return result;
346
+            }
347
+            List<AttendanceRecord> tempList = attendanceRecords.stream().filter(record -> record.getAttendanceDate().equals(dto.getCheckInDate())).collect(Collectors.toList());
348
+            if (CollectionUtil.isEmpty(tempList)) {
349
+                Date attendanceDate = attendanceRecords.get(0).getAttendanceDate();
350
+                attendanceRecords = attendanceRecords.stream().filter(record -> record.getAttendanceDate().equals(attendanceDate)).collect(Collectors.toList());
351
+            } else {
352
+                attendanceRecords = tempList;
353
+            }
331 354
         } else {
355
+            AttendanceRecord recordSearch = new AttendanceRecord();
356
+            recordSearch.setUserId(dto.getUserId());
332 357
             recordSearch.setAttendanceDateStart(dto.getStartDate());
333 358
             recordSearch.setAttendanceDateEnd(dto.getEndDate());
359
+            attendanceRecords = attendanceRecordMapper.selectAttendanceRecordList(recordSearch);
334 360
         }
335
-        List<AttendanceRecord> attendanceRecords = attendanceRecordMapper.selectAttendanceRecordList(recordSearch);
336 361
         if (CollectionUtil.isEmpty(attendanceRecords)) {
337 362
             return result;
338 363
         }