|
@@ -2157,10 +2157,14 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
Map<String, Object> params = new HashMap<>(16);
|
|
|
MapUtil.populateMap(params, queryInfo);
|
|
|
|
|
|
- if(StringUtils.isNotBlank(queryInfo.getSearch())){
|
|
|
- List<Group> groups = groupDao.searchGroups(queryInfo.getSearch());
|
|
|
+ if(StringUtils.isNotBlank(queryInfo.getSearch())||StringUtils.isNotBlank(queryInfo.getOrganIdList())){
|
|
|
+ List<Group> groups = groupDao.searchGroups(params);
|
|
|
if(!CollectionUtils.isEmpty(groups)){
|
|
|
params.put("groups", groups);
|
|
|
+ }else{
|
|
|
+ if(StringUtils.isNotBlank(queryInfo.getOrganIdList())){
|
|
|
+ return pageInfo;
|
|
|
+ }
|
|
|
}
|
|
|
List<Integer> studentCourseIds=courseScheduleDao.findCourseIdsByStudent(queryInfo.getSearch());
|
|
|
List<Integer> teacherCourseIds=courseScheduleDao.findCourseIdsByTeacher(queryInfo.getSearch());
|
|
@@ -2176,6 +2180,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
pageInfo.setTotal(count);
|
|
|
params.put("offset", pageInfo.getOffset());
|
|
|
results = courseScheduleDao.endFindCourseSchedules(params);
|
|
|
+ List<Long> courseScheduleIds = results.stream().map(CourseScheduleEndDto::getId).collect(Collectors.toList());
|
|
|
+ List<TeacherAttendance> teacherAttendances = teacherAttendanceDao.findTeacherIdByCourseSchedule(courseScheduleIds);
|
|
|
+ Map<Long, List<TeacherAttendance>> courseTeacherAttendanceMap = teacherAttendances.stream().collect(Collectors.groupingBy(TeacherAttendance::getCourseScheduleId));
|
|
|
+ List<Map<Integer, Integer>> studentNumCourseMaps = studentAttendanceDao.countStudentAttendancesByCourses(courseScheduleIds);
|
|
|
+ Map<Integer, Long> studentNumCourseMap = MapUtil.convertIntegerMap(studentNumCourseMaps);
|
|
|
List<Group> groups=new ArrayList<>();
|
|
|
groups.add(null);
|
|
|
List<Integer> teacherIds=new ArrayList<>();
|
|
@@ -2190,13 +2199,27 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
Map<String, Map<GroupType, List<Group>>> groupsGroupByGroup = groups.stream().collect(Collectors.groupingBy(Group::getId, Collectors.groupingBy(Group::getGroupType)));
|
|
|
results.forEach(result -> {
|
|
|
Map<GroupType, List<Group>> groupsTypeMap = groupsGroupByGroup.get(result.getMusicGroupId());
|
|
|
+ result.setTeacher(null);
|
|
|
if(Objects.nonNull(groupsTypeMap)){
|
|
|
List<Group> groupTemps = groupsTypeMap.get(result.getGroupType());
|
|
|
if(!CollectionUtils.isEmpty(groupTemps)){
|
|
|
result.setGroupName(groupTemps.get(0).getGroupName());
|
|
|
+ result.setOrganName(groupTemps.get(0).getOrganName());
|
|
|
}
|
|
|
result.setTeacherName(nameIdMap.get(result.getActualTeacherId()));
|
|
|
}
|
|
|
+ List<TeacherAttendance> courseTeacherAttendances = courseTeacherAttendanceMap.get(result.getId());
|
|
|
+ if(!CollectionUtils.isEmpty(courseTeacherAttendances)){
|
|
|
+ TeacherAttendance teacherAttendance=courseTeacherAttendances.get(0);
|
|
|
+ result.setIsSignIn(Objects.isNull(teacherAttendance.getSignInStatus())?3:teacherAttendance.getSignInStatus().getCode());
|
|
|
+ result.setIsSignOut(Objects.isNull(teacherAttendance.getSignOutStatus())?3:teacherAttendance.getSignOutStatus().getCode());
|
|
|
+ }
|
|
|
+ Long studentNum = studentNumCourseMap.get(result.getId());
|
|
|
+ if (Objects.nonNull(studentNum)) {
|
|
|
+ result.setIsCallNames(studentNum > 0 ? 0 : 1);
|
|
|
+ } else {
|
|
|
+ result.setIsCallNames(1);
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
pageInfo.setRows(results);
|