|
@@ -416,7 +416,7 @@ public class ReportServiceImpl implements ReportService {
|
|
|
Set<LocalDate> allLeaveDaySet = new HashSet<>();
|
|
|
Map<LocalDateTime, List<AttendanceSheetRelationWorkDay>> dayLeaveMap = attendanceSheetDOS.stream().collect(Collectors.groupingBy(AttendanceSheetRelationWorkDay::getAttendanceDate));
|
|
|
for (LocalDateTime date : dayLeaveMap.keySet()) {
|
|
|
- Long leaveCount = dayLeaveMap.get(date).stream().filter(distinctByKey(c -> c.getAttendanceStatus())).collect(Collectors.counting());
|
|
|
+ Long leaveCount = dayLeaveMap.get(date).stream().filter(distinctByKey(c -> c.getAttendanceType())).collect(Collectors.counting());
|
|
|
//次数大于等于2,说明上下午都请假,算整天请假
|
|
|
if (leaveCount >= 2) {
|
|
|
allLeaveDaySet.add(date.toLocalDate());
|
|
@@ -435,7 +435,7 @@ public class ReportServiceImpl implements ReportService {
|
|
|
Map<String, List<AttendanceSheetRelationWorkDay>> weekLeaveMap = attendanceSheetDOS.stream().collect(Collectors.groupingBy(c -> c.getYear() + "-" + c.getMonth() + "-" + c.getWeek()));
|
|
|
for (String date : weekLeaveMap.keySet()) {
|
|
|
List<WorkdayDO> workdayDOS = workDayCount.get(date);
|
|
|
- Long leaveCount = weekLeaveMap.get(date).stream().filter(distinctByKey(c -> c.getAttendanceStatus())).collect(Collectors.counting());
|
|
|
+ Long leaveCount = weekLeaveMap.get(date).stream().collect(Collectors.counting());
|
|
|
//如果该周请假的次数 >= 该周工作日 * 2 (上下午),则说明该周都请假
|
|
|
if (leaveCount >= (workdayDOS == null ? 0 : workdayDOS.size() * 2)) {
|
|
|
allLeaveWeekSet.add(date);
|