diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/web/StaffController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/web/StaffController.java index 532838649fe1b2a821727cf4d3eb5ca0c53ffe52..316b24fab735f3b7aa744627d846e02123d41844 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/web/StaffController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/web/StaffController.java @@ -134,35 +134,57 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ attendanceRecordQuery.setWorkNum(entity.getWorkNum()); List<AttendanceRecordEntity> attendanceRecordEntities = recordService.find(attendanceRecordQuery); - + List<AttendanceRecordDetailEntity> allDetail = new ArrayList<>(); + for (AttendanceRecordEntity recordEntity:attendanceRecordEntities){ + allDetail.addAll(recordEntity.getAttendanceRecordDetailList()); + } //杩熷埌娆℃暟 - Long beLate = attendanceRecordEntities.parallelStream() - .flatMap(item -> item.getAttendanceRecordDetailList().stream()) - .filter(f -> GoWorkResultEnum.杩熷埌.getValue() == f.getGoWorkResult() || OffWorkResultEnum.杩熷埌.getValue() == f.getOffWorkResult()) - .map(i -> i.getStaffId()) - .distinct() - .count(); - + long beLate = 0l; //鏃╅€€娆℃暟 - long leaveEarly = attendanceRecordEntities.parallelStream() - .flatMap(item -> item.getAttendanceRecordDetailList().stream()) - .filter(f -> GoWorkResultEnum.鏃╅€€.getValue() == f.getGoWorkResult() || OffWorkResultEnum.鏃╅€€.getValue() == f.getOffWorkResult()) - .map(i -> i.getStaffId()) - .distinct() - .count(); - + long leaveEarly = 0l; //缂哄崱娆℃暟 - long lackOfCards = attendanceRecordEntities.parallelStream() - .flatMap(item -> item.getAttendanceRecordDetailList().stream()) - .filter(f -> GoWorkResultEnum.缂哄崱.getValue() == f.getGoWorkResult() || OffWorkResultEnum.缂哄崱.getValue() == f.getOffWorkResult()) - .map(i -> i.getStaffId()) - .distinct() - .count(); + long lackOfCards = 0l; + for(AttendanceRecordDetailEntity item:allDetail){ + if(GoWorkResultEnum.杩熷埌.getValue() == item.getGoWorkResult() || OffWorkResultEnum.杩熷埌.getValue() == item.getOffWorkResult()){ + beLate++; + } + if(GoWorkResultEnum.鏃╅€€.getValue() == item.getGoWorkResult() || OffWorkResultEnum.鏃╅€€.getValue() == item.getOffWorkResult()){ + leaveEarly++; + } + if(GoWorkResultEnum.缂哄崱.getValue() == item.getGoWorkResult() || OffWorkResultEnum.缂哄崱.getValue() == item.getOffWorkResult()){ + lackOfCards++; + } + } + +// //杩熷埌娆℃暟 +// Long beLate = attendanceRecordEntities.parallelStream() +// .flatMap(item -> item.getAttendanceRecordDetailList().stream()) +// .filter(f -> GoWorkResultEnum.杩熷埌.getValue() == f.getGoWorkResult() || OffWorkResultEnum.杩熷埌.getValue() == f.getOffWorkResult()) +// .map(i -> i.getStaffId()) +// .distinct() +// .count(); +// +// //鏃╅€€娆℃暟 +// long leaveEarly = attendanceRecordEntities.parallelStream() +// .flatMap(item -> item.getAttendanceRecordDetailList().stream()) +// .filter(f -> GoWorkResultEnum.鏃╅€€.getValue() == f.getGoWorkResult() || OffWorkResultEnum.鏃╅€€.getValue() == f.getOffWorkResult()) +// .map(i -> i.getStaffId()) +// .distinct() +// .count(); +// +// //缂哄崱娆℃暟 +// long lackOfCards = attendanceRecordEntities.parallelStream() +// .flatMap(item -> item.getAttendanceRecordDetailList().stream()) +// .filter(f -> GoWorkResultEnum.缂哄崱.getValue() == f.getGoWorkResult() || OffWorkResultEnum.缂哄崱.getValue() == f.getOffWorkResult()) +// .map(i -> i.getStaffId()) +// .distinct() +// .count(); AttendanceLeaveRecordQuery leaveRecordQuery = new AttendanceLeaveRecordQuery(); - leaveRecordQuery.setCreateTimeStart(DateUtil.beginOfMonth(new Date()).toDateStr()); - leaveRecordQuery.setCreateTimeEnd(DateUtil.today()); + //璇峰亣寮€濮嬫椂闂村ぇ浜庡綋鍓嶆湀浠藉垵濮嬫棩鏈� + leaveRecordQuery.setStartTimeStart(DateUtil.beginOfMonth(new Date()).toDateStr()); + leaveRecordQuery.setStartTimeEnd(DateUtil.today()); leaveRecordQuery.setLeavePersonId(entity.getId()); leaveRecordQuery.setProcessStatus(ProcessStatusEnum.宸插鐞�.getValue()); int levealPersonNum = leaveRecordService.count(leaveRecordQuery, getContext());