|
@@ -255,13 +255,14 @@ public class AttendanceStaffServiceImpl extends ServiceImpl<AttendanceStaffMappe
|
|
|
).findFirst();
|
|
|
Optional<Attendance> zaoXiaCount = attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 16, 30))
|
|
|
&& a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue, 20, 30))
|
|
|
- ).findFirst();
|
|
|
+ ).max(Comparator.comparing(Attendance::getClockTime));
|
|
|
//异常早班1时间判断
|
|
|
Optional<Attendance> zaoShangYiChang1Count = attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 8, 30))
|
|
|
&& a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue, 9, 30))
|
|
|
).findFirst();
|
|
|
Optional<Attendance> zaoXiaYiChang1Count = attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 16, 30))
|
|
|
- && a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue, 20, 30))).findFirst();
|
|
|
+ && a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue, 20, 30)))
|
|
|
+ .max(Comparator.comparing(Attendance::getClockTime));
|
|
|
|
|
|
//异常早班2时间判断
|
|
|
Optional<Attendance> zaoShangYiChang2Count = attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 9, 30))
|
|
@@ -269,7 +270,7 @@ public class AttendanceStaffServiceImpl extends ServiceImpl<AttendanceStaffMappe
|
|
|
).findFirst();
|
|
|
Optional<Attendance> zaoXiaYiChang2Count = attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 16, 30))
|
|
|
&& a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue, 20, 30))
|
|
|
- ).findFirst();
|
|
|
+ ).max(Comparator.comparing(Attendance::getClockTime));
|
|
|
|
|
|
//中班上下班时间判断
|
|
|
Optional<Attendance> zhongShangCount = attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 12, 30))
|
|
@@ -278,7 +279,7 @@ public class AttendanceStaffServiceImpl extends ServiceImpl<AttendanceStaffMappe
|
|
|
|
|
|
Optional<Attendance> zhongXiaCount = attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 20, 30))
|
|
|
&& a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue, 21, 30))
|
|
|
- ).findFirst();
|
|
|
+ ).max(Comparator.comparing(Attendance::getClockTime));
|
|
|
//小夜班(1)上下班时间判断
|
|
|
Optional<Attendance> xiaoYeShangCount = attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 15, 30))
|
|
|
&& a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue, 16, 30))
|
|
@@ -288,10 +289,10 @@ public class AttendanceStaffServiceImpl extends ServiceImpl<AttendanceStaffMappe
|
|
|
Optional<Attendance> xiaoYeXiaCount = isLastDay ?
|
|
|
attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 23, 30))
|
|
|
&& a.getClockTime().isBefore(LocalDateTime.of(year, monthValue+1, 1, 0, 30))
|
|
|
- ).findFirst():
|
|
|
+ ).max(Comparator.comparing(Attendance::getClockTime)):
|
|
|
attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 23, 30))
|
|
|
&& a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue+1, 0, 30))
|
|
|
- ).findFirst();
|
|
|
+ ).max(Comparator.comparing(Attendance::getClockTime));
|
|
|
|
|
|
//小夜班(2)上下班时间判断
|
|
|
Optional<Attendance> xiaoYeShang2Count = attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 16, 30))
|
|
@@ -300,24 +301,24 @@ public class AttendanceStaffServiceImpl extends ServiceImpl<AttendanceStaffMappe
|
|
|
Optional<Attendance> xiaoYeXia2Count = isLastDay ?
|
|
|
attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue+1, 1, 0, 30))
|
|
|
&& a.getClockTime().isBefore(LocalDateTime.of(year, monthValue+1, 1, 1, 30))
|
|
|
- ).findFirst():
|
|
|
+ ).max(Comparator.comparing(Attendance::getClockTime)):
|
|
|
attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue+1, 0, 30))
|
|
|
&& a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue+1, 1, 30))
|
|
|
- ).findFirst();
|
|
|
+ ).max(Comparator.comparing(Attendance::getClockTime));
|
|
|
|
|
|
//异常小夜班(1)上下班时间判断
|
|
|
Optional<Attendance> xiaoYeShangYiChang1Count = attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 13, 30))
|
|
|
&& a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue, 14, 30))
|
|
|
).findFirst();
|
|
|
Optional<Attendance> xiaoYeXiaYiChang1Count =attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 21, 30))
|
|
|
- && a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue, 22, 30))).findFirst();
|
|
|
+ && a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue, 22, 30))).max(Comparator.comparing(Attendance::getClockTime));
|
|
|
|
|
|
//异常小夜班(2)上下班时间判断
|
|
|
Optional<Attendance> xiaoYeShangYiChang2Count = attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 14, 30))
|
|
|
&& a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue, 15, 30))
|
|
|
).findFirst();
|
|
|
Optional<Attendance> xiaoYeXiaYiChang2Count =attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue, 22, 30))
|
|
|
- && a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue, 23, 30))).findFirst();
|
|
|
+ && a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue, 23, 30))).max(Comparator.comparing(Attendance::getClockTime));
|
|
|
|
|
|
//大夜班上下班时间判断
|
|
|
Optional<Attendance> daYeShangCount =isLastDay ?
|
|
@@ -331,10 +332,10 @@ public class AttendanceStaffServiceImpl extends ServiceImpl<AttendanceStaffMappe
|
|
|
Optional<Attendance> daYeXiaCount =isLastDay ?
|
|
|
attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue+1, 1, 7, 30))
|
|
|
&& a.getClockTime().isBefore(LocalDateTime.of(year, monthValue+1, 1, 8, 30))
|
|
|
- ).findFirst():
|
|
|
+ ).max(Comparator.comparing(Attendance::getClockTime)):
|
|
|
attendances.stream().filter(a -> a.getClockTime().isAfter(LocalDateTime.of(year, monthValue, dayValue+1, 7, 30))
|
|
|
&& a.getClockTime().isBefore(LocalDateTime.of(year, monthValue, dayValue+1, 8, 30))
|
|
|
- ).findFirst();
|
|
|
+ ).max(Comparator.comparing(Attendance::getClockTime));
|
|
|
|
|
|
//1先判断白班
|
|
|
if (zaoShangCount.isPresent()&&zaoXiaCount.isPresent()) {
|