|
@@ -143,52 +143,52 @@ public class StatisticsController {
|
|
|
statisticsVo.setLeaveCount(leaveCount);
|
|
statisticsVo.setLeaveCount(leaveCount);
|
|
|
statisticsVo.setAbsenteeismCount(absenteeismCount);
|
|
statisticsVo.setAbsenteeismCount(absenteeismCount);
|
|
|
|
|
|
|
|
- //查询不需要考勤的人
|
|
|
|
|
- List<AttendanceRuleCategory> ruleCategories = ruleCategoryService.list(
|
|
|
|
|
- new QueryWrapper<AttendanceRuleCategory>().lambda()
|
|
|
|
|
- .eq(AttendanceRuleCategory::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
|
|
- .eq(AttendanceRuleCategory::getRoleId, 2)
|
|
|
|
|
- .le(AttendanceRuleCategory::getStartDate, LocalDate.now())
|
|
|
|
|
- .ge(AttendanceRuleCategory::getEndDate, LocalDate.now())
|
|
|
|
|
- );
|
|
|
|
|
- if(!ruleCategories.isEmpty()){
|
|
|
|
|
- //查询所有需要考勤的人
|
|
|
|
|
- BaseTeacherPageDto teacherPageDto = new BaseTeacherPageDto();
|
|
|
|
|
- List<Long> userIds = new ArrayList<>();
|
|
|
|
|
- List<Long> deptIds = new ArrayList<>();
|
|
|
|
|
- for (AttendanceRuleCategory ruleCategory : ruleCategories) {
|
|
|
|
|
- JsonArray userRelation = new JsonParser().parse(ruleCategory.getUserRelation()).getAsJsonArray();
|
|
|
|
|
-
|
|
|
|
|
- for (JsonElement jsonElement : userRelation) {
|
|
|
|
|
- JsonObject jsonObject = jsonElement.getAsJsonObject();
|
|
|
|
|
- if(jsonObject.get("deptId") != null && !jsonObject.get("deptId").isJsonNull()){
|
|
|
|
|
- deptIds.add(jsonObject.get("deptId").getAsLong());
|
|
|
|
|
- }
|
|
|
|
|
- if(jsonObject.get("userId") != null && !jsonObject.get("userId").isJsonNull()){
|
|
|
|
|
- userIds.add(jsonObject.get("userId").getAsLong());
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- teacherPageDto.setDeptIds(deptIds);
|
|
|
|
|
- List<XjrUserPageVo> attendanceTeacherList = teacherbaseManagerService.getList(teacherPageDto);
|
|
|
|
|
-
|
|
|
|
|
- teacherPageDto = new BaseTeacherPageDto();
|
|
|
|
|
- teacherPageDto.setUserIds(userIds);
|
|
|
|
|
- attendanceTeacherList.addAll(teacherbaseManagerService.getList(teacherPageDto));
|
|
|
|
|
- //将所有需要考勤的人的id存入set集合
|
|
|
|
|
- Set<String> attendanceUserIdSet = attendanceTeacherList.stream().map(XjrUserPageVo::getId).collect(Collectors.toSet());
|
|
|
|
|
-
|
|
|
|
|
- //查询所有人
|
|
|
|
|
- teacherPageDto = new BaseTeacherPageDto();
|
|
|
|
|
- if(dto.getDeptId() != null){
|
|
|
|
|
- List<Long> dtoDeptIds = new ArrayList<>();
|
|
|
|
|
- dtoDeptIds.add(dto.getDeptId());
|
|
|
|
|
- teacherPageDto.setDeptIds(dtoDeptIds);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- List<XjrUserPageVo> allTeacherList = teacherbaseManagerService.getList(teacherPageDto);
|
|
|
|
|
- statisticsVo.setNotAttendanceCount(allTeacherList.stream().filter(x -> !attendanceUserIdSet.contains(x.getId())).collect(Collectors.toList()).size());
|
|
|
|
|
- }
|
|
|
|
|
|
|
+// //查询不需要考勤的人
|
|
|
|
|
+// List<AttendanceRuleCategory> ruleCategories = ruleCategoryService.list(
|
|
|
|
|
+// new QueryWrapper<AttendanceRuleCategory>().lambda()
|
|
|
|
|
+// .eq(AttendanceRuleCategory::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
|
|
+// .eq(AttendanceRuleCategory::getRoleId, 2)
|
|
|
|
|
+// .le(AttendanceRuleCategory::getStartDate, LocalDate.now())
|
|
|
|
|
+// .ge(AttendanceRuleCategory::getEndDate, LocalDate.now())
|
|
|
|
|
+// );
|
|
|
|
|
+// if(!ruleCategories.isEmpty()){
|
|
|
|
|
+// //查询所有需要考勤的人
|
|
|
|
|
+// BaseTeacherPageDto teacherPageDto = new BaseTeacherPageDto();
|
|
|
|
|
+// List<Long> userIds = new ArrayList<>();
|
|
|
|
|
+// List<Long> deptIds = new ArrayList<>();
|
|
|
|
|
+// for (AttendanceRuleCategory ruleCategory : ruleCategories) {
|
|
|
|
|
+// JsonArray userRelation = new JsonParser().parse(ruleCategory.getUserRelation()).getAsJsonArray();
|
|
|
|
|
+//
|
|
|
|
|
+// for (JsonElement jsonElement : userRelation) {
|
|
|
|
|
+// JsonObject jsonObject = jsonElement.getAsJsonObject();
|
|
|
|
|
+// if(jsonObject.get("deptId") != null && !jsonObject.get("deptId").isJsonNull()){
|
|
|
|
|
+// deptIds.add(jsonObject.get("deptId").getAsLong());
|
|
|
|
|
+// }
|
|
|
|
|
+// if(jsonObject.get("userId") != null && !jsonObject.get("userId").isJsonNull()){
|
|
|
|
|
+// userIds.add(jsonObject.get("userId").getAsLong());
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// teacherPageDto.setDeptIds(deptIds);
|
|
|
|
|
+// List<XjrUserPageVo> attendanceTeacherList = teacherbaseManagerService.getList(teacherPageDto);
|
|
|
|
|
+//
|
|
|
|
|
+// teacherPageDto = new BaseTeacherPageDto();
|
|
|
|
|
+// teacherPageDto.setUserIds(userIds);
|
|
|
|
|
+// attendanceTeacherList.addAll(teacherbaseManagerService.getList(teacherPageDto));
|
|
|
|
|
+// //将所有需要考勤的人的id存入set集合
|
|
|
|
|
+// Set<String> attendanceUserIdSet = attendanceTeacherList.stream().map(XjrUserPageVo::getId).collect(Collectors.toSet());
|
|
|
|
|
+//
|
|
|
|
|
+// //查询所有人
|
|
|
|
|
+// teacherPageDto = new BaseTeacherPageDto();
|
|
|
|
|
+// if(dto.getDeptId() != null){
|
|
|
|
|
+// List<Long> dtoDeptIds = new ArrayList<>();
|
|
|
|
|
+// dtoDeptIds.add(dto.getDeptId());
|
|
|
|
|
+// teacherPageDto.setDeptIds(dtoDeptIds);
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// List<XjrUserPageVo> allTeacherList = teacherbaseManagerService.getList(teacherPageDto);
|
|
|
|
|
+// statisticsVo.setNotAttendanceCount(allTeacherList.stream().filter(x -> !attendanceUserIdSet.contains(x.getId())).collect(Collectors.toList()).size());
|
|
|
|
|
+// }
|
|
|
|
|
|
|
|
|
|
|
|
|
//计算出勤率
|
|
//计算出勤率
|