|
@@ -80,6 +80,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
@Autowired
|
|
|
private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
|
|
|
@Autowired
|
|
|
+ private StudentAttendanceDao studentAttendanceDao;
|
|
|
+ @Autowired
|
|
|
private CourseScheduleTeacherSalaryService courseScheduleTeacherSalaryService;
|
|
|
@Autowired
|
|
|
private StudentRegistrationService studentRegistrationService;
|
|
@@ -887,7 +889,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
break;
|
|
|
case "PRACTICE":
|
|
|
teacherMusicClassGroup = classGroupDao.findTeacherPracticeClassGroup(user.getId().longValue());
|
|
|
- //获取陪练课学生名称
|
|
|
break;
|
|
|
default:
|
|
|
throw new BizException("课程类型错误");
|
|
@@ -917,8 +918,14 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
//统计班级人数
|
|
|
List<Map<Integer, Integer>> classGroupStudentNumMaps = classGroupStudentMapperDao.countClassGroupsStudentNum(classGroupIds,null);
|
|
|
Map<Integer, Long> classGroupStudentNumMap = MapUtil.convertIntegerMap(classGroupStudentNumMaps);
|
|
|
- Map<Integer, Long> currentClassTimes = MapUtil.convertIntegerMap(courseScheduleDao.countCurrentNumByClassGroupId(classGroupIds,user.getId()));
|
|
|
+ Map<Integer, Long> currentClassTimes;
|
|
|
Map<Integer, Long> noStartClassTimes = MapUtil.convertIntegerMap(courseScheduleDao.countCurrentNumByClassGroupId(classGroupIds,null));
|
|
|
+ if(!type.equals(GroupType.MUSIC)){
|
|
|
+ currentClassTimes = noStartClassTimes;
|
|
|
+ }else {
|
|
|
+ currentClassTimes = MapUtil.convertIntegerMap(courseScheduleDao.countCurrentNumByClassGroupId(classGroupIds,user.getId()));
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
teacherMusicClassGroup.forEach(teacherClassGroupDto -> {
|
|
|
if(teacherClassGroupDto.getType() == ClassGroupTypeEnum.PRACTICE){
|
|
@@ -2034,25 +2041,28 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
// Set<Integer> mixClassGroupIds = dataList.stream().map(e -> e.getMixClassGroupId()).collect(Collectors.toSet());
|
|
|
// String mixClassGroupIdsStr = StringUtils.join(mixClassGroupIds, ",");
|
|
|
//所有课程编号的列表
|
|
|
- List<Integer> couseScheduleIds = dataList.stream().map(MusicGroupCourseScheduleDto::getCourseScheduleId).distinct().collect(Collectors.toList());
|
|
|
+ List<Integer> courseScheduleIds = dataList.stream().map(MusicGroupCourseScheduleDto::getCourseScheduleId).distinct().collect(Collectors.toList());
|
|
|
//获取合奏班名称
|
|
|
// Map<Integer, String> classGroupNames = MapUtil.convertMybatisMap(classGroupDao.findNameById(mixClassGroupIdsStr));
|
|
|
|
|
|
//主教老师
|
|
|
Map<Long, List<CourseScheduleTeacherSalary>> courseScheduleBishopTeacherMaps=new HashMap<>();
|
|
|
|
|
|
+ //是否点名
|
|
|
+ Map<Integer, Long> studentNumCourseMap = MapUtil.convertIntegerMap(studentAttendanceDao.countStudentAttendancesByCourses(courseScheduleIds));
|
|
|
//助教老师
|
|
|
Map<Long, List<CourseScheduleTeacherSalary>> courseScheduleTeachingTeacherMaps=new HashMap<>();
|
|
|
- if(!CollectionUtils.isEmpty(couseScheduleIds)){
|
|
|
- List<CourseScheduleTeacherSalary> bishopTeachers = courseScheduleTeacherSalaryDao.findByCourseScheduleIdsAndTeacherRole(couseScheduleIds, "BISHOP");
|
|
|
+ if(!CollectionUtils.isEmpty(courseScheduleIds)){
|
|
|
+ List<CourseScheduleTeacherSalary> bishopTeachers = courseScheduleTeacherSalaryDao.findByCourseScheduleIdsAndTeacherRole(courseScheduleIds, "BISHOP");
|
|
|
courseScheduleBishopTeacherMaps = bishopTeachers.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
|
|
|
|
|
|
//助教老师
|
|
|
- List<CourseScheduleTeacherSalary> teachingTeachers = courseScheduleTeacherSalaryDao.findByCourseScheduleIdsAndTeacherRole(couseScheduleIds, "TEACHING");
|
|
|
+ List<CourseScheduleTeacherSalary> teachingTeachers = courseScheduleTeacherSalaryDao.findByCourseScheduleIdsAndTeacherRole(courseScheduleIds, "TEACHING");
|
|
|
courseScheduleTeachingTeacherMaps = teachingTeachers.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
|
|
|
}
|
|
|
-
|
|
|
+ MusicGroupCourseScheduleDto scheduleDto = null;
|
|
|
for(int i=0;i<dataList.size();i++){
|
|
|
+ scheduleDto = dataList.get(i);
|
|
|
// e.setMixClassGroupName(classGroupNames.get(e.getMixClassGroupId()));
|
|
|
List<CourseScheduleTeacherSalary> currentBishopTeacher = courseScheduleBishopTeacherMaps.get(dataList.get(i).getCourseScheduleId().longValue());
|
|
|
List<CourseScheduleTeacherSalary> TeachingTeachers = new ArrayList<>();
|
|
@@ -2070,6 +2080,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
TeachingTeachers.addAll(currentCourseTeachingTeachers);
|
|
|
dataList.get(i).setTeachingTeachers(TeachingTeachers);
|
|
|
dataList.get(i).setTeacherNum(TeachingTeachers.size());
|
|
|
+ Long studentNum = studentNumCourseMap.get(scheduleDto.getCourseScheduleId());
|
|
|
+ if (Objects.nonNull(studentNum)) {
|
|
|
+ scheduleDto.setIsCallNames(studentNum > 0 ? YesOrNoEnum.YES : YesOrNoEnum.NO);
|
|
|
+ } else {
|
|
|
+ scheduleDto.setIsCallNames(YesOrNoEnum.NO);
|
|
|
+ }
|
|
|
/*if (CollectionUtils.isEmpty(currentCourseTeachingTeachers) && !CollectionUtils.isEmpty(currentBishopTeacher)) {
|
|
|
currentCourseTeachingTeachers = new ArrayList<>();
|
|
|
if (currentBishopTeacher != null) {
|