|
@@ -563,6 +563,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
throw new BizException("请登录");
|
|
|
}
|
|
|
|
|
|
+ if(StringUtils.isBlank(type)){
|
|
|
+ throw new BizException("请指定课程类型");
|
|
|
+ }
|
|
|
+
|
|
|
List<TeacherClassGroupDto> teacherMusicClassGroup;
|
|
|
switch (type) {
|
|
|
case "VIP":
|
|
@@ -572,7 +576,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
teacherMusicClassGroup = classGroupDao.findTeacherMusicClassGroup(user.getId().longValue());
|
|
|
break;
|
|
|
default:
|
|
|
- throw new BizException("请指定课程类型");
|
|
|
+ throw new BizException("课程类型错误");
|
|
|
}
|
|
|
if (CollectionUtils.isEmpty(teacherMusicClassGroup)) {
|
|
|
return teacherMusicClassGroup;
|
|
@@ -713,100 +717,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PageInfo<MusicGroupClassGroupDto> queryMusicGroupClassGroup(QueryInfo queryInfo) {
|
|
|
- PageInfo<MusicGroupClassGroupDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
- Map<String, Object> params = new HashMap<>();
|
|
|
- MapUtil.populateMap(params, queryInfo);
|
|
|
- List<MusicGroupClassGroupDto> dataList = null;
|
|
|
- int count = classGroupDao.countMusicGroupClassGroup(params);
|
|
|
- if (count > 0) {
|
|
|
- pageInfo.setTotal(count);
|
|
|
- params.put("offset", pageInfo.getOffset());
|
|
|
- dataList = classGroupDao.queryMusicGroupClassGroup(params);
|
|
|
- Set<Integer> classGroups = dataList.stream().map(e -> e.getClassGroupId()).collect(Collectors.toSet());
|
|
|
- String join = StringUtils.join(classGroups, ",");
|
|
|
- //获取主教老师
|
|
|
- Map<Integer, String> masterTeachers = MapUtil.convertMybatisMap(classGroupDao.countStudentNum(join, "BISHOP"));
|
|
|
- //获取助教老师
|
|
|
- Map<Integer, String> subTeachers = MapUtil.convertMybatisMap(classGroupDao.countStudentNum(join, "TEACHING"));
|
|
|
- //获取在读人数
|
|
|
- Map<Integer, String> studyNums = MapUtil.convertMybatisMap(classGroupDao.countStudyNum(join));
|
|
|
- //获取退班人数
|
|
|
- Map<Integer, String> quitNums = MapUtil.convertMybatisMap(classGroupDao.countQuitNum(join));
|
|
|
- dataList.forEach(e -> {
|
|
|
- e.setMasterTeacher(masterTeachers.get(e.getClassGroupId()));
|
|
|
- e.setSubTeacher(subTeachers.get(e.getClassGroupId()));
|
|
|
- e.setStudyNum(studyNums.get(e.getClassGroupId()));
|
|
|
- e.setQuitNum(quitNums.get(e.getClassGroupId()));
|
|
|
- });
|
|
|
- }
|
|
|
- if (count == 0) {
|
|
|
- dataList = new ArrayList<>();
|
|
|
- }
|
|
|
- pageInfo.setRows(dataList);
|
|
|
- return pageInfo;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public PageInfo<MusicGroupCourseScheduleDto> queryMusicGroupCourseSchedule(queryMusicGroupCourseScheduleQueryInfo queryInfo) {
|
|
|
- PageInfo<MusicGroupCourseScheduleDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
- Map<String, Object> params = new HashMap<>();
|
|
|
- MapUtil.populateMap(params, queryInfo);
|
|
|
- List<MusicGroupCourseScheduleDto> dataList = null;
|
|
|
- int count = classGroupDao.countMusicGroupCourseSchedule(params);
|
|
|
- if (count > 0) {
|
|
|
- pageInfo.setTotal(count);
|
|
|
- params.put("offset", pageInfo.getOffset());
|
|
|
- dataList = classGroupDao.queryMusicGroupCourseSchedule(params);
|
|
|
- //获取当前合奏班班级编号列表
|
|
|
- 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());
|
|
|
- //获取合奏班名称
|
|
|
- Map<Integer, String> classGroupNames = MapUtil.convertMybatisMap(classGroupDao.findNameById(mixClassGroupIdsStr));
|
|
|
-
|
|
|
- //主教老师
|
|
|
- List<CourseScheduleTeacherSalary> bishopTeachers = courseScheduleTeacherSalaryDao.findByCourseScheduleIdsAndTeacherRole(couseScheduleIds, "BISHOP");
|
|
|
- Map<Long, CourseScheduleTeacherSalary> courseScheduleBishopTeacherMaps = bishopTeachers.stream().collect(Collectors.toMap(CourseScheduleTeacherSalary::getCourseScheduleId, courseScheduleTeacherSalary -> courseScheduleTeacherSalary));
|
|
|
-
|
|
|
- //助教老师
|
|
|
- List<CourseScheduleTeacherSalary> teachingTeachers = courseScheduleTeacherSalaryDao.findByCourseScheduleIdsAndTeacherRole(couseScheduleIds, "TEACHING");
|
|
|
- Map<Long, List<CourseScheduleTeacherSalary>> courseScheduleTeachingTeacherMaps = teachingTeachers.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
|
|
|
-
|
|
|
- dataList.forEach(e -> {
|
|
|
- e.setMixClassGroupName(classGroupNames.get(e.getMixClassGroupId()));
|
|
|
- CourseScheduleTeacherSalary currentBishopTeacher = courseScheduleBishopTeacherMaps.get(e.getCourseScheduleId().longValue());
|
|
|
- if (!Objects.isNull(currentBishopTeacher)) {
|
|
|
- e.setMasterTeacherId(currentBishopTeacher.getUserId());
|
|
|
- e.setMasterTeacherName(currentBishopTeacher.getUserName());
|
|
|
- e.setTeacherNum(1);
|
|
|
- }
|
|
|
-
|
|
|
- List<CourseScheduleTeacherSalary> currentCourseTeachingTeachers = courseScheduleTeachingTeacherMaps.get(e.getCourseScheduleId().longValue());
|
|
|
- if (CollectionUtils.isEmpty(currentCourseTeachingTeachers)) {
|
|
|
- e.setTeachingTeachers(new ArrayList<>());
|
|
|
- } else {
|
|
|
- e.setTeachingTeachers(currentCourseTeachingTeachers);
|
|
|
- e.setTeacherNum(e.getTeacherNum() == null ? 0 : e.getTeacherNum() + currentCourseTeachingTeachers.size());
|
|
|
- }
|
|
|
-
|
|
|
- });
|
|
|
- }
|
|
|
- if (count == 0) {
|
|
|
- dataList = new ArrayList<>();
|
|
|
- }
|
|
|
- pageInfo.setRows(dataList);
|
|
|
- return pageInfo;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public boolean batchIncreaseClassTimes(List<Integer> classGroupList) {
|
|
|
- classGroupDao.batchIncreaseClassTimes(classGroupList);
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public ClassGroup classGroupAdjust(ClassGroup4MixDto classGroup4MixDto) throws Exception {
|
|
|
Date date = new Date();
|
|
@@ -1091,4 +1001,98 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaryList);
|
|
|
return classGroup;
|
|
|
}
|
|
|
-}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageInfo<MusicGroupClassGroupDto> queryMusicGroupClassGroup(QueryInfo queryInfo) {
|
|
|
+ PageInfo<MusicGroupClassGroupDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ MapUtil.populateMap(params, queryInfo);
|
|
|
+ List<MusicGroupClassGroupDto> dataList = null;
|
|
|
+ int count = classGroupDao.countMusicGroupClassGroup(params);
|
|
|
+ if (count > 0) {
|
|
|
+ pageInfo.setTotal(count);
|
|
|
+ params.put("offset", pageInfo.getOffset());
|
|
|
+ dataList = classGroupDao.queryMusicGroupClassGroup(params);
|
|
|
+ Set<Integer> classGroups = dataList.stream().map(e -> e.getClassGroupId()).collect(Collectors.toSet());
|
|
|
+ String join = StringUtils.join(classGroups, ",");
|
|
|
+ //获取主教老师
|
|
|
+ Map<Integer,String> masterTeachers = MapUtil.convertMybatisMap(classGroupDao.countStudentNum(join, "BISHOP"));
|
|
|
+ //获取助教老师
|
|
|
+ Map<Integer,String> subTeachers = MapUtil.convertMybatisMap(classGroupDao.countStudentNum(join, "TEACHING"));
|
|
|
+ //获取在读人数
|
|
|
+ Map<Integer,String> studyNums = MapUtil.convertMybatisMap(classGroupDao.countStudyNum(join));
|
|
|
+ //获取退班人数
|
|
|
+ Map<Integer,String> quitNums = MapUtil.convertMybatisMap(classGroupDao.countQuitNum(join));
|
|
|
+ dataList.forEach(e->{
|
|
|
+ e.setMasterTeacher(masterTeachers.get(e.getClassGroupId()));
|
|
|
+ e.setSubTeacher(subTeachers.get(e.getClassGroupId()));
|
|
|
+ e.setStudyNum(studyNums.get(e.getClassGroupId()));
|
|
|
+ e.setQuitNum(quitNums.get(e.getClassGroupId()));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (count == 0) {
|
|
|
+ dataList = new ArrayList<>();
|
|
|
+ }
|
|
|
+ pageInfo.setRows(dataList);
|
|
|
+ return pageInfo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageInfo<MusicGroupCourseScheduleDto> queryMusicGroupCourseSchedule(queryMusicGroupCourseScheduleQueryInfo queryInfo) {
|
|
|
+ PageInfo<MusicGroupCourseScheduleDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ MapUtil.populateMap(params, queryInfo);
|
|
|
+ List<MusicGroupCourseScheduleDto> dataList = null;
|
|
|
+ int count = classGroupDao.countMusicGroupCourseSchedule(params);
|
|
|
+ if (count > 0) {
|
|
|
+ pageInfo.setTotal(count);
|
|
|
+ params.put("offset", pageInfo.getOffset());
|
|
|
+ dataList = classGroupDao.queryMusicGroupCourseSchedule(params);
|
|
|
+ //获取当前合奏班班级编号列表
|
|
|
+ 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());
|
|
|
+ //获取合奏班名称
|
|
|
+ Map<Integer,String> classGroupNames = MapUtil.convertMybatisMap(classGroupDao.findNameById(mixClassGroupIdsStr));
|
|
|
+
|
|
|
+ //主教老师
|
|
|
+ List<CourseScheduleTeacherSalary> bishopTeachers = courseScheduleTeacherSalaryDao.findByCourseScheduleIdsAndTeacherRole(couseScheduleIds, "BISHOP");
|
|
|
+ Map<Long, CourseScheduleTeacherSalary> courseScheduleBishopTeacherMaps = bishopTeachers.stream().collect(Collectors.toMap(CourseScheduleTeacherSalary::getCourseScheduleId, courseScheduleTeacherSalary -> courseScheduleTeacherSalary));
|
|
|
+
|
|
|
+ //助教老师
|
|
|
+ List<CourseScheduleTeacherSalary> teachingTeachers = courseScheduleTeacherSalaryDao.findByCourseScheduleIdsAndTeacherRole(couseScheduleIds, "TEACHING");
|
|
|
+ Map<Long, List<CourseScheduleTeacherSalary>> courseScheduleTeachingTeacherMaps=teachingTeachers.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
|
|
|
+
|
|
|
+ dataList.forEach(e->{
|
|
|
+ e.setMixClassGroupName(classGroupNames.get(e.getMixClassGroupId()));
|
|
|
+ CourseScheduleTeacherSalary currentBishopTeacher = courseScheduleBishopTeacherMaps.get(e.getCourseScheduleId().longValue());
|
|
|
+ if(!Objects.isNull(currentBishopTeacher)){
|
|
|
+ e.setMasterTeacherId(currentBishopTeacher.getUserId());
|
|
|
+ e.setMasterTeacherName(currentBishopTeacher.getUserName());
|
|
|
+ e.setTeacherNum(1);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<CourseScheduleTeacherSalary> currentCourseTeachingTeachers = courseScheduleTeachingTeacherMaps.get(e.getCourseScheduleId().longValue());
|
|
|
+ if(CollectionUtils.isEmpty(currentCourseTeachingTeachers)){
|
|
|
+ e.setTeachingTeachers(new ArrayList<>());
|
|
|
+ }else{
|
|
|
+ e.setTeachingTeachers(currentCourseTeachingTeachers);
|
|
|
+ e.setTeacherNum(e.getTeacherNum()==null?0:e.getTeacherNum() + currentCourseTeachingTeachers.size());
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (count == 0) {
|
|
|
+ dataList = new ArrayList<>();
|
|
|
+ }
|
|
|
+ pageInfo.setRows(dataList);
|
|
|
+ return pageInfo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean batchIncreaseClassTimes(List<Integer> classGroupList) {
|
|
|
+ classGroupDao.batchIncreaseClassTimes(classGroupList);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+}
|