|
|
@@ -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());
|