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