Explorar o código

个人考勤统计调整

dzx hai 7 meses
pai
achega
8a50b8459b

+ 17 - 14
src/main/java/com/xjrsoft/module/attendance/controller/StatisticsController.java

@@ -134,22 +134,25 @@ public class StatisticsController {
                         .le(AttendanceRuleCategory::getStartDate, LocalDate.now())
                         .ge(AttendanceRuleCategory::getStartDate, LocalDate.now())
         );
-        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());
-        }
-        teacherPageDto.setDeptIds(deptIds);
-        teacherPageDto.setUserIds(userIds);
-        List<XjrUserPageVo> attendanceTeacherList = teacherbaseManagerService.getList(teacherPageDto);
+        if(ruleCategory != null && ruleCategory.getUserRelation() != null){
+            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());
+            }
+            teacherPageDto.setDeptIds(deptIds);
+            teacherPageDto.setUserIds(userIds);
+            List<XjrUserPageVo> attendanceTeacherList = teacherbaseManagerService.getList(teacherPageDto);
 
-        List<XjrUserPageVo> allTeacherList = teacherbaseManagerService.getList(new BaseTeacherPageDto());
+            List<XjrUserPageVo> allTeacherList = teacherbaseManagerService.getList(new BaseTeacherPageDto());
+
+            statisticsVo.setNotAttendanceCount(allTeacherList.size() - attendanceTeacherList.size());
+        }
 
-        statisticsVo.setNotAttendanceCount(allTeacherList.size() - attendanceTeacherList.size());
 
         //计算出勤率
         BigDecimal divide = BigDecimal.ZERO;