|
|
@@ -13,6 +13,7 @@ import com.xjrsoft.common.annotation.XjrLog;
|
|
|
import com.xjrsoft.common.enums.DeleteMark;
|
|
|
import com.xjrsoft.common.enums.OutInStatusEnum;
|
|
|
import com.xjrsoft.common.enums.StudyStatusEnum;
|
|
|
+import com.xjrsoft.common.model.result.R;
|
|
|
import com.xjrsoft.common.model.result.RT;
|
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.module.attendance.dto.AttendanceStatisticDto;
|
|
|
@@ -135,6 +136,7 @@ public class StatisticsController {
|
|
|
.ge(AttendanceRuleCategory::getEndDate, LocalDate.now())
|
|
|
);
|
|
|
if(!ruleCategories.isEmpty()){
|
|
|
+ //查询所有需要考勤的人
|
|
|
BaseTeacherPageDto teacherPageDto = new BaseTeacherPageDto();
|
|
|
List<Long> userIds = new ArrayList<>();
|
|
|
List<Long> deptIds = new ArrayList<>();
|
|
|
@@ -151,18 +153,16 @@ public class StatisticsController {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if(dto.getDeptId() == null){
|
|
|
- teacherPageDto.setDeptIds(deptIds);
|
|
|
- }else{
|
|
|
- deptIds = new ArrayList<>();
|
|
|
- deptIds.add(dto.getDeptId());
|
|
|
- }
|
|
|
+ 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<>();
|
|
|
@@ -171,8 +171,7 @@ public class StatisticsController {
|
|
|
}
|
|
|
|
|
|
List<XjrUserPageVo> allTeacherList = teacherbaseManagerService.getList(teacherPageDto);
|
|
|
-
|
|
|
- statisticsVo.setNotAttendanceCount(allTeacherList.size() - attendanceTeacherList.size());
|
|
|
+ statisticsVo.setNotAttendanceCount(allTeacherList.stream().filter(x -> !attendanceUserIdSet.contains(x.getId())).collect(Collectors.toList()).size());
|
|
|
}
|
|
|
|
|
|
|