|
@@ -94,8 +94,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
@Autowired
|
|
|
private SubjectService subjectService;
|
|
|
@Autowired
|
|
|
- private ClassGroupTeacherMapperDao classGroupTeacherMapperDao;
|
|
|
- @Autowired
|
|
|
private CourseScheduleDao courseScheduleDao;
|
|
|
@Autowired
|
|
|
private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
|
|
@@ -157,8 +155,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
private MusicGroupSchoolTermStudentCourseDetailDao musicGroupSchoolTermStudentCourseDetailDao;
|
|
|
@Autowired
|
|
|
private MusicGroupSchoolTermCourseDetailDao musicGroupSchoolTermCourseDetailDao;
|
|
|
- @Autowired
|
|
|
- private CourseScheduleStatisticsService courseScheduleStatisticsService;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Integer, ClassGroup> getDAO() {
|
|
@@ -166,6 +162,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public ClassGroupDao getDao() {
|
|
|
+ return classGroupDao;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public PageInfo<ClassGroup> queryPage(ClassGroupQueryInfo queryInfo) {
|
|
|
PageInfo<ClassGroup> pageInfo = new PageInfo<ClassGroup>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
Map<String, Object> params = new HashMap<String, Object>();
|
|
@@ -185,7 +186,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
for (ClassGroup cg : dataList) {
|
|
|
Long studentNum = classGroupStudentNumMap.get(cg.getId());
|
|
|
cg.setStudentNum(Objects.isNull(studentNum) ? 0 : studentNum.intValue());
|
|
|
- cg.setTeacherMapperList(classGroupTeacherMapperDao.findClassGroupTeachers(cg.getId() + ""));
|
|
|
+ cg.setTeacherMapperList(classGroupTeacherMapperService.getDao().findClassGroupTeachers(cg.getId() + ""));
|
|
|
cg.setCourseScheduleList(courseScheduleDao.findCoursesByClassGroupId(cg.getId(), null));
|
|
|
}
|
|
|
}
|
|
@@ -195,20 +196,16 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
|
|
|
- public boolean create(ClassGroup classGroup) {
|
|
|
-
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Integer create(ClassGroup classGroup) {
|
|
|
if (classGroup.getType() == null) {
|
|
|
throw new BizException("班级类型不能为空");
|
|
|
}
|
|
|
if (classGroup.getGroupType() == null) {
|
|
|
throw new BizException("课程组类型不能为空");
|
|
|
}
|
|
|
- List<ClassGroupTeacherMapper> teacherMappers = classGroup.getTeacherMapperList();
|
|
|
- Set<Integer> collect = teacherMappers.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
|
|
|
- if (teacherMappers.size() != collect.size()) {
|
|
|
- throw new BizException("主教与助教存在冲突");
|
|
|
- }
|
|
|
+// 校验主教助教是否冲突
|
|
|
+ classGroupTeacherMapperService.checkTeachingBishop(classGroup.getTeacherMapperList());
|
|
|
|
|
|
//疫情原因去掉这块限制
|
|
|
//基础技能班和线上基础技能班,可分班原则为声部人数/6向上取整
|
|
@@ -248,7 +245,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
|
|
|
if (teacherMapperList.size() > 0) {
|
|
|
- classGroupTeacherMapperDao.classGroupTeachersInsert(teacherMapperList);
|
|
|
+ classGroupTeacherMapperService.getDao().classGroupTeachersInsert(teacherMapperList);
|
|
|
}
|
|
|
|
|
|
//2、插入班级学生关联关系
|
|
@@ -303,7 +300,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
musicGroup.getName(), musicGroup.getName(), null, "MUSIC", ImGroup.GroupTypeEnum.valueOf(classGroup.getType().getCode()));
|
|
|
imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
|
|
|
}
|
|
|
- return true;
|
|
|
+ return classGroup.getId();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -480,7 +477,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
// 删除基础提高班
|
|
|
classGroupDao.batchSoftDelete(classGroupIds);
|
|
|
// 删除基础提高老师
|
|
|
- classGroupTeacherMapperDao.delClassGroupTeacherMapper(classGroupIds);
|
|
|
+ classGroupTeacherMapperService.getDao().delClassGroupTeacherMapper(classGroupIds);
|
|
|
|
|
|
List<CourseSchedule> classGroupNoStartCourseSchedules = courseScheduleService.findClassGroupNoStartCourseSchedules(classGroupIds,
|
|
|
MUSIC);
|
|
@@ -1555,7 +1552,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
List<Map<Long, Integer>> vipGroupOverCourses = courseScheduleDao.countGroupOverCourse(musicGroupIds, "VIP");
|
|
|
Map<Long, Integer> vipGroupOverCourseMaps = MapUtil.convertIntegerMap(vipGroupOverCourses);
|
|
|
|
|
|
- List<ClassGroupTeacherMapper> bishopTeachers = classGroupTeacherMapperDao.findByClassGroupIdsAndType(classGroupIds, "BISHOP");
|
|
|
+ List<ClassGroupTeacherMapper> bishopTeachers = classGroupTeacherMapperService.getDao().findByClassGroupIdsAndType(classGroupIds, "BISHOP");
|
|
|
Map<Integer, Integer> classGroupTeacherMap = bishopTeachers.stream().collect(Collectors.toMap(ClassGroupTeacherMapper::getClassGroupId, ClassGroupTeacherMapper::getUserId));
|
|
|
// Map<Integer, ClassGroup> classGorupIdMap = byClassGroupIds.stream().collect(Collectors.toMap(ClassGroup::getId, classGroup -> classGroup));
|
|
|
|
|
@@ -1719,16 +1716,16 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
if (subjectNames != null && !subjectNames.isEmpty()) {
|
|
|
teacherClassHeadInfo.setSubjectNames(subjectNames);
|
|
|
}
|
|
|
- ClassGroupTeacherMapper bishopTeacher = classGroupTeacherMapperDao.findByClassGroupAndRole(classGroupId, TeachTypeEnum.BISHOP);
|
|
|
+ ClassGroupTeacherMapper bishopTeacher = classGroupTeacherMapperService.getDao().findByClassGroupAndRole(classGroupId, TeachTypeEnum.BISHOP);
|
|
|
if (Objects.nonNull(bishopTeacher)) {
|
|
|
teacherClassHeadInfo.setBishopTeacherId(bishopTeacher.getId());
|
|
|
teacherClassHeadInfo.setBishopTeacher(bishopTeacher.getUserName());
|
|
|
}
|
|
|
|
|
|
- String name = classGroupTeacherMapperDao.queryTeachingNames(classGroupId);
|
|
|
+ String name = classGroupTeacherMapperService.getDao().queryTeachingNames(classGroupId);
|
|
|
teacherClassHeadInfo.setTeachingTeacher(name);
|
|
|
|
|
|
-// ClassGroupTeacherMapper teachingTeacher = classGroupTeacherMapperDao.findByClassGroupAndRole(classGroupId, TeachTypeEnum.TEACHING);
|
|
|
+// ClassGroupTeacherMapper teachingTeacher = classGroupTeacherMapperService.getDao().findByClassGroupAndRole(classGroupId, TeachTypeEnum.TEACHING);
|
|
|
// if (Objects.nonNull(teachingTeacher)) {
|
|
|
// teacherClassHeadInfo.setTeachingTeacherId(teachingTeacher.getId());
|
|
|
// teacherClassHeadInfo.setTeachingTeacher(teachingTeacher.getUserName());
|
|
@@ -1961,7 +1958,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
teacherId = groupTeacherMapper.getUserId();
|
|
|
}
|
|
|
}
|
|
|
- classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
|
|
|
+ classGroupTeacherMapperService.getDao().classGroupTeachersInsert(classGroupTeacherMapperList);
|
|
|
|
|
|
//单建班级不排课
|
|
|
if (classGroup4MixDtos.get(0).getOnlyCreateClassGroup()) {
|
|
@@ -2320,7 +2317,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
teacherIds.add(groupTeacherMapper.getUserId());
|
|
|
}
|
|
|
//3、将老师加入关联关系
|
|
|
- classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
|
|
|
+ classGroupTeacherMapperService.getDao().classGroupTeachersInsert(classGroupTeacherMapperList);
|
|
|
//创建IM群组
|
|
|
addImGroup(classGroup, userIds, teacherIds);
|
|
|
}
|
|
@@ -2372,9 +2369,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public HttpResponseResult classGroupUpdate(List<ClassGroup4MixDto> classGroup4MixDtos) {
|
|
|
Date date = new Date();
|
|
|
- Integer classGroupId = classGroup4MixDtos.get(0).getClassGroupId();
|
|
|
- String musicGroupId = classGroup4MixDtos.get(0).getMusicGroupId();
|
|
|
-// Boolean checkCourseTimesFlag = classGroup4MixDtos.get(0).getCheckCourseTimesFlag();
|
|
|
+ ClassGroup4MixDto classGroup4MixDto1 = classGroup4MixDtos.get(0);
|
|
|
+ Integer classGroupId =classGroup4MixDto1.getClassGroupId();
|
|
|
+ String musicGroupId =classGroup4MixDto1.getMusicGroupId();
|
|
|
+// Boolean checkCourseTimesFlag =classGroup4MixDto1.getCheckCourseTimesFlag();
|
|
|
ClassGroup classGroup = classGroupDao.get(classGroupId);
|
|
|
if (classGroup == null) {
|
|
|
throw new BizException("班级不存在");
|
|
@@ -2382,8 +2380,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
|
|
|
|
|
|
Boolean confirmGenerate = false;
|
|
|
- if (Objects.nonNull(classGroup4MixDtos.get(0).getConfirmGenerate())) {
|
|
|
- confirmGenerate = classGroup4MixDtos.get(0).getConfirmGenerate();
|
|
|
+ if (Objects.nonNull(classGroup4MixDto1.getConfirmGenerate())) {
|
|
|
+ confirmGenerate =classGroup4MixDto1.getConfirmGenerate();
|
|
|
}
|
|
|
|
|
|
TeachModeEnum teachMode = TeachModeEnum.OFFLINE;
|
|
@@ -2392,9 +2390,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
|
|
|
//1、更新班级关联老师信息
|
|
|
- if (Objects.nonNull(classGroup4MixDtos.get(0).getCourseAddType()) && classGroup4MixDtos.get(0).getCourseAddType().equals("onlyUpdateTeacher")) {
|
|
|
- List<ClassGroupTeacherMapper> byClassGroup = classGroupTeacherMapperDao.findByClassGroup(classGroupId);
|
|
|
- List<ClassGroupTeacherMapper> newTeacherMapperList = classGroup4MixDtos.get(0).getClassGroupTeacherMapperList();
|
|
|
+ if (Objects.nonNull(classGroup4MixDto1.getCourseAddType()) &&classGroup4MixDto1.getCourseAddType().equals("onlyUpdateTeacher")) {
|
|
|
+ List<ClassGroupTeacherMapper> byClassGroup = classGroupTeacherMapperService.getDao().findByClassGroup(classGroupId);
|
|
|
+ List<ClassGroupTeacherMapper> newTeacherMapperList =classGroup4MixDto1.getClassGroupTeacherMapperList();
|
|
|
Set<Integer> collect = newTeacherMapperList.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
|
|
|
if (newTeacherMapperList.size() != collect.size()) {
|
|
|
throw new BizException("主教与助教存在冲突");
|
|
@@ -2421,14 +2419,14 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
List<Integer> classGroupIds = new ArrayList<>();
|
|
|
classGroupIds.add(classGroupId);
|
|
|
// 删除历史记录
|
|
|
- classGroupTeacherMapperDao.delClassGroupTeacherMapper(classGroupIds);
|
|
|
+ classGroupTeacherMapperService.getDao().delClassGroupTeacherMapper(classGroupIds);
|
|
|
for (ClassGroupTeacherMapper tm : newTeacherMapperList) {
|
|
|
tm.setClassGroupId(classGroupId);
|
|
|
tm.setCreateTime(date);
|
|
|
tm.setGroupType(GroupType.MUSIC);
|
|
|
tm.setMusicGroupId(musicGroupId);
|
|
|
tm.setUpdateTime(date);
|
|
|
- classGroupTeacherMapperDao.insert(tm);
|
|
|
+ classGroupTeacherMapperService.getDao().insert(tm);
|
|
|
}
|
|
|
imUserFriendService.refreshClassImUserFriend(classGroupId);
|
|
|
return BaseController.succeed(classGroup);
|
|
@@ -2789,7 +2787,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
List<ClassGroup> classGroups = classGroupDao.queryStudentClassGroups(musicGroupId, sysUser.getId());
|
|
|
if (classGroups.size() > 0) {
|
|
|
classGroups.forEach(e -> {
|
|
|
- e.setTeacherMapperList(classGroupTeacherMapperDao.findClassGroupTeachers(e.getId().toString()));
|
|
|
+ e.setTeacherMapperList(classGroupTeacherMapperService.getDao().findClassGroupTeachers(e.getId().toString()));
|
|
|
});
|
|
|
}
|
|
|
return classGroups;
|
|
@@ -3165,7 +3163,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
teacherId = groupTeacherMapper.getUserId();
|
|
|
}
|
|
|
}
|
|
|
- classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
|
|
|
+ classGroupTeacherMapperService.getDao().classGroupTeachersInsert(classGroupTeacherMapperList);
|
|
|
|
|
|
//单建班级不排课
|
|
|
if (classGroup4MixDtos.get(0).getOnlyCreateClassGroup()) {
|
|
@@ -3518,34 +3516,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<ClassGroupTeachersDto> classGroupAndTeacher(Integer classGroupId) {
|
|
|
- List<ClassGroupTeachersDto> classGroups = classGroupDao.findClassGroupByMixClassGroupId(classGroupId);
|
|
|
- String classGroupIds = "";
|
|
|
- for (ClassGroupTeachersDto classGroupTeachersDto : classGroups) {
|
|
|
- classGroupIds += classGroupTeachersDto.getId() + ",";
|
|
|
- }
|
|
|
- classGroupIds = classGroupIds.substring(0, classGroupIds.length() - 1);
|
|
|
-
|
|
|
- List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperDao.findClassGroupTeachers(classGroupIds);
|
|
|
- for (ClassGroupTeachersDto classGroup : classGroups) {
|
|
|
- List<ClassGroupTeacherMapper> classGroupTeacherMappers = new ArrayList<>();
|
|
|
- for (ClassGroupTeacherMapper classGroupTeacher : classGroupTeachers) {
|
|
|
- if (!classGroup.getId().equals(classGroupTeacher.getClassGroupId())) continue;
|
|
|
- classGroupTeacherMappers.add(classGroupTeacher);
|
|
|
- }
|
|
|
- classGroup.setClassGroupTeacherMapperList(classGroupTeacherMappers);
|
|
|
- }
|
|
|
- return classGroups;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
public List<HighClassGroupDto> findClassGroupByMusicGroupIdAndSubjectId(String musicGroupId, Integer subjectId) {
|
|
|
List<HighClassGroupDto> highClassGroupList = classGroupDao.findClassGroupByMusicGroupIdAndSubjectId(musicGroupId, subjectId);
|
|
|
for (HighClassGroupDto highClassGroup : highClassGroupList) {
|
|
|
List<String> subjects = subjectService.findBySubIds(highClassGroup.getSubjectIdList());
|
|
|
highClassGroup.setSubjectName(subjects.stream().collect(Collectors.joining(",")));
|
|
|
|
|
|
- ClassGroupTeacherMapper bishopTeacher = classGroupTeacherMapperDao.findByClassGroupAndRole(highClassGroup.getId(), TeachTypeEnum.BISHOP);
|
|
|
+ ClassGroupTeacherMapper bishopTeacher = classGroupTeacherMapperService.getDao().findByClassGroupAndRole(highClassGroup.getId(), TeachTypeEnum.BISHOP);
|
|
|
highClassGroup.setTeacherName(bishopTeacher.getUserName());
|
|
|
highClassGroup.setUserId(bishopTeacher.getUserId());
|
|
|
CourseSchedule courseSchedule = courseScheduleDao.findOneCourseScheduleByClassGroupId(highClassGroup.getId());
|
|
@@ -3591,7 +3568,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
String classGroupIds = classGroups.stream().map(classGroup -> classGroup.getId().toString()).collect(Collectors.joining(","));
|
|
|
List<Integer> classGroupSet = classGroups.stream().map(classGroup -> classGroup.getId()).collect(Collectors.toList());
|
|
|
|
|
|
- List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperDao.findClassGroupTeachers(classGroupIds);
|
|
|
+ List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperService.getDao().findClassGroupTeachers(classGroupIds);
|
|
|
Map<Integer, Integer> studyNums = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(classGroupDao.countStudyNum(classGroupIds))), HashMap.class);
|
|
|
|
|
|
Map<Integer, Long> totalNumMap = MapUtil.convertIntegerMap(courseScheduleDao.countTotalNumByClassGroupId(classGroupSet, null, 0));
|
|
@@ -3679,7 +3656,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
String classGroupIds = dataList.stream().map(classGroup -> classGroup.getId().toString()).collect(Collectors.joining(","));
|
|
|
List<Integer> classGroupSet = dataList.stream().map(classGroup -> classGroup.getId()).collect(Collectors.toList());
|
|
|
|
|
|
- List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperDao.findClassGroupTeachers(classGroupIds);
|
|
|
+ List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperService.getDao().findClassGroupTeachers(classGroupIds);
|
|
|
Map<Integer, Integer> studyNums = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(classGroupDao.countStudyNum(classGroupIds))), HashMap.class);
|
|
|
|
|
|
Map<Integer, Long> totalNumMap = MapUtil.convertIntegerMap(courseScheduleDao.countTotalNumByClassGroupId(classGroupSet, null, 0));
|
|
@@ -3921,7 +3898,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
for (SuperClassGroupDto result : results) {
|
|
|
classGroupIds.add(result.getId());
|
|
|
}
|
|
|
- List<ClassGroupTeacherMapDto> classGroupTeacherMaps = classGroupTeacherMapperDao.findByClassGroupIds(classGroupIds);
|
|
|
+ List<ClassGroupTeacherMapDto> classGroupTeacherMaps = classGroupTeacherMapperService.getDao().findByClassGroupIds(classGroupIds);
|
|
|
Map<Integer, Map<TeachTypeEnum, List<ClassGroupTeacherMapDto>>> classTeacherTypeMaps = classGroupTeacherMaps.stream()
|
|
|
.collect(Collectors.groupingBy(ClassGroupTeacherMapDto::getClassGroupId, Collectors.groupingBy(ClassGroupTeacherMapDto::getTeacherRole)));
|
|
|
List<Group> groups = groupDao.findByClassGroupIds(classGroupIds);
|
|
@@ -4014,13 +3991,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
if (subjectNames != null && !subjectNames.isEmpty()) {
|
|
|
teacherClassHeadInfo.setSubjectNames(subjectNames);
|
|
|
}
|
|
|
- ClassGroupTeacherMapper bishopTeacher = classGroupTeacherMapperDao.findByClassGroupAndRole(classGroupId, TeachTypeEnum.BISHOP);
|
|
|
+ ClassGroupTeacherMapper bishopTeacher = classGroupTeacherMapperService.getDao().findByClassGroupAndRole(classGroupId, TeachTypeEnum.BISHOP);
|
|
|
if (Objects.nonNull(bishopTeacher)) {
|
|
|
teacherClassHeadInfo.setBishopTeacherId(bishopTeacher.getId());
|
|
|
teacherClassHeadInfo.setBishopTeacher(bishopTeacher.getUserName());
|
|
|
}
|
|
|
|
|
|
- String name = classGroupTeacherMapperDao.queryTeachingNames(classGroupId);
|
|
|
+ String name = classGroupTeacherMapperService.getDao().queryTeachingNames(classGroupId);
|
|
|
teacherClassHeadInfo.setTeachingTeacher(name);
|
|
|
|
|
|
if (classGroup.getType() == ClassGroupTypeEnum.VIP) {
|
|
@@ -4334,36 +4311,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HighClassGroupNumDto getSubjectMaxHighClassGroupNum(String musicGroupId, ClassGroupTypeEnum type) {
|
|
|
- //基础技能班和线上基础技能班,可分班原则为声部人数/6向上取整
|
|
|
- List<StudentRegistration> musicGroupStudents = studentRegistrationDao.findMusicGroupStudent(musicGroupId, null);
|
|
|
- Map<Integer, List<StudentRegistration>> regMap = musicGroupStudents.stream().collect(Collectors.groupingBy(StudentRegistration::getActualSubjectId));
|
|
|
- int maxClassGroupNum = 0;
|
|
|
- int otherSubjectRegNum = 0;
|
|
|
- for (Map.Entry<Integer, List<StudentRegistration>> regEntry : regMap.entrySet()) {
|
|
|
- //上低音号、长号 合并计算
|
|
|
- if (regEntry.getKey().equals(14) || regEntry.getKey().equals(15)) {
|
|
|
- otherSubjectRegNum += regEntry.getValue().size();
|
|
|
- continue;
|
|
|
- }
|
|
|
- int classNum = regEntry.getValue().size() / 6;
|
|
|
- classNum += (regEntry.getValue().size() % 6) > 0 ? 1 : 0;
|
|
|
- maxClassGroupNum += classNum;
|
|
|
- }
|
|
|
- maxClassGroupNum += otherSubjectRegNum / 6;
|
|
|
- maxClassGroupNum += (otherSubjectRegNum % 6) > 0 ? 1 : 0;
|
|
|
- maxClassGroupNum += musicGroupStudents.size() / 30;
|
|
|
- maxClassGroupNum += (musicGroupStudents.size() % 30) > 0 ? 1 : 0;
|
|
|
-
|
|
|
- HighClassGroupNumDto highClassGroupNumDto = new HighClassGroupNumDto();
|
|
|
- int nowClassGroupNum = classGroupDao.getMusicGroupHighClassNumBySubject(musicGroupId, type);
|
|
|
-
|
|
|
- highClassGroupNumDto.setNowHighClassGroupNum(nowClassGroupNum);
|
|
|
- highClassGroupNumDto.setMaxHighClassGroupNum(maxClassGroupNum);
|
|
|
- return highClassGroupNumDto;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
|
|
|
public List<MusicGroupPaymentCalenderStudentDetail> queryStudentPaymentCalenders(Integer masterClassGroupId, String classGroupStudentMap, List<Integer> studentIds) {
|
|
|
//获取主班剩余课程时长
|
|
@@ -4371,13 +4318,22 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
if (masterMap.size() <= 0) {
|
|
|
throw new BizException("所选主班没有剩余课程,请重新选择");
|
|
|
}
|
|
|
+ List<Map<String, String>> classGroupStudents = (List<Map<String, String>>) JSON.parse(classGroupStudentMap);
|
|
|
+ List<Integer> classIdList = classGroupStudents.stream().map(e -> e.entrySet().stream().map(k -> Integer.parseInt(k.getKey())).findFirst().get()).collect(Collectors.toList());
|
|
|
+// Map<String, String> convertMybatisMap = MapUtil.convertMybatisMap(classGroupStudents);
|
|
|
+// List<Integer> classIdList = convertMybatisMap.keySet().stream().map(e->Integer.parseInt(e)).collect(Collectors.toList());
|
|
|
+// classIdList.add(masterClassGroupId);
|
|
|
+ Boolean hasConvertCourse = classGroupDao.hasConvertCourse(classIdList);
|
|
|
+ if(hasConvertCourse != null && hasConvertCourse){
|
|
|
+ throw new BizException("所选班级有转换课,请重新选择");
|
|
|
+ }
|
|
|
+ //主班
|
|
|
//获取学员列表
|
|
|
Map<Integer, String> userNames = MapUtil.convertMybatisMap(teacherDao.queryUsernameByIds(studentIds));
|
|
|
Map<Integer, String> phoneMaps = MapUtil.convertMybatisMap(teacherDao.queryPhoneByIds(StringUtils.join(studentIds, ",")));
|
|
|
|
|
|
Map<Integer, Integer> studentCLassMap = new HashMap<>();
|
|
|
List<Map<Integer, BigDecimal>> surplusCourseFeeMapList = new ArrayList<>();
|
|
|
- List<Map<String, String>> classGroupStudents = (List<Map<String, String>>) JSON.parse(classGroupStudentMap);
|
|
|
//班级列表
|
|
|
/*List<Integer> classGroupIds = classGroupStudents.stream().map(e -> Integer.parseInt(e.keySet().iterator().next())).collect(Collectors.toList());
|
|
|
classGroupIds.add(masterClassGroupId);
|