Browse Source

考勤统计增加不考勤人数

dzx 7 months ago
parent
commit
ee492cbd20

+ 20 - 9
src/main/java/com/xjrsoft/module/attendance/controller/StatisticsController.java

@@ -127,27 +127,38 @@ public class StatisticsController {
         statisticsVo.setAbsenteeismCount(absenteeismCount);
 
         //查询不需要考勤的人
-        AttendanceRuleCategory ruleCategory = ruleCategoryService.getOne(
+        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::getStartDate, LocalDate.now())
+                        .ge(AttendanceRuleCategory::getEndDate, LocalDate.now())
         );
-        if(ruleCategory != null && ruleCategory.getUserRelation() != null){
+        if(!ruleCategories.isEmpty()){
             BaseTeacherPageDto teacherPageDto = new BaseTeacherPageDto();
-            JsonArray userRelation = new JsonParser().parse(ruleCategory.getUserRelation()).getAsJsonArray();
             List<Long> userIds = new ArrayList<>();
             List<Long> deptIds = new ArrayList<>();
-            for (JsonElement jsonElement : userRelation) {
-                JsonObject jsonObject = jsonElement.getAsJsonObject();
-                deptIds.add(jsonObject.get("deptId").getAsLong());
-                userIds.add(jsonObject.get("userId").getAsLong());
+            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);
-            teacherPageDto.setUserIds(userIds);
             List<XjrUserPageVo> attendanceTeacherList = teacherbaseManagerService.getList(teacherPageDto);
 
+            teacherPageDto = new BaseTeacherPageDto();
+            teacherPageDto.setUserIds(userIds);
+            attendanceTeacherList.addAll(teacherbaseManagerService.getList(teacherPageDto));
+
             List<XjrUserPageVo> allTeacherList = teacherbaseManagerService.getList(new BaseTeacherPageDto());
 
             statisticsVo.setNotAttendanceCount(allTeacherList.size() - attendanceTeacherList.size());

+ 1 - 1
src/main/java/com/xjrsoft/module/teacher/service/impl/TeacherbaseManagerServiceImpl.java

@@ -917,7 +917,7 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
 
     @Override
     public List<XjrUserPageVo> getList(BaseTeacherPageDto dto) {
-        return null;
+        return teacherMapper.getList(dto);
     }
 
     @Override