|
@@ -252,10 +252,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
if(classGroup == null){
|
|
|
throw new BizException("排课失败,班级信息不存在");
|
|
|
}
|
|
|
- List<CourseTimeDto> teachingArrangementList = JsonUtil.parseArray(teachingArrangement, CourseTimeDto.class);
|
|
|
- if(teachingArrangementList == null || teachingArrangementList.size() == 0){
|
|
|
- throw new BizException("请设置课时安排");
|
|
|
- }
|
|
|
|
|
|
if(teachMode == TeachModeEnum.OFFLINE && schoolId == null){
|
|
|
throw new BizException("线下课请指定教学点");
|
|
@@ -265,25 +261,58 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
throw new BizException("请指定课程类型");
|
|
|
}
|
|
|
|
|
|
- //查询班级学生信息
|
|
|
- List<ClassGroupStudentMapper> classGroupStudentMapperList = classGroupStudentMapperDao.findByClassGroup(classGroupId);
|
|
|
+ if (type == CourseScheduleType.VIP){
|
|
|
+ throw new BizException("暂不支持vip课加课");
|
|
|
+ }
|
|
|
+
|
|
|
+ List<CourseTimeDto> teachingArrangementList = JsonUtil.parseArray(teachingArrangement, CourseTimeDto.class);
|
|
|
+ if(teachingArrangementList == null || teachingArrangementList.size() == 0){
|
|
|
+ throw new BizException("请设置课时安排");
|
|
|
+ }
|
|
|
|
|
|
//查询班级老师信息
|
|
|
List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroupTeacherMapperService.getClassGroupTeachers(classGroupId);
|
|
|
|
|
|
+ //查询主教老师
|
|
|
+ Integer teacherId = null;
|
|
|
+ for(ClassGroupTeacherMapper cgtm : classGroupTeacherMapperList){
|
|
|
+ if(cgtm.getTeacherRole() == TeachTypeEnum.BISHOP){
|
|
|
+ teacherId = cgtm.getUserId();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(teacherId == null){
|
|
|
+ throw new BizException("班级缺少主教老师");
|
|
|
+ }
|
|
|
+
|
|
|
//查询老师默认课酬
|
|
|
if (type == CourseScheduleType.PRACTICE) {
|
|
|
-
|
|
|
- } else if (type == CourseScheduleType.VIP) {
|
|
|
+
|
|
|
+ List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
|
|
|
+ .queryByUserId(teacherId);
|
|
|
|
|
|
} else {
|
|
|
-
|
|
|
+ // 所有老师默认乐团课酬
|
|
|
+ /*List<TeacherDefaultMusicGroupSalary> teacherDefaultMusicGroupSalaries = teacherDefaultMusicGroupSalaryDao.findByTeacher(newTeacherIdList);
|
|
|
+ for (TeacherDefaultMusicGroupSalary tdms : teacherDefaultMusicGroupSalaries) {
|
|
|
+ Map<CourseScheduleType, TeacherDefaultMusicGroupSalary> map = musicGroupSalaryMap.get(tdms.getUserId());
|
|
|
+ if (map == null) {
|
|
|
+ map = new HashMap<CourseSchedule.CourseScheduleType, TeacherDefaultMusicGroupSalary>();
|
|
|
+ }
|
|
|
+ map.put(tdms.getCourseScheduleType(), tdms);
|
|
|
+ musicGroupSalaryMap.put(tdms.getUserId(), map);
|
|
|
+ }*/
|
|
|
}
|
|
|
|
|
|
+ //查询班级学生信息
|
|
|
+ List<ClassGroupStudentMapper> classGroupStudentMapperList = classGroupStudentMapperDao.findByClassGroup(classGroupId);
|
|
|
+
|
|
|
+ //查询教学点补贴
|
|
|
+
|
|
|
Map<Integer,CourseTimeDto> dayOfWeekMap = teachingArrangementList.stream().collect(Collectors.toMap(CourseTimeDto :: getDayOfWeek, ct -> ct));
|
|
|
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
- Date date = null;
|
|
|
Date now = new Date();
|
|
|
CourseTimeDto courseTimeDto = null;
|
|
|
List<CourseSchedule> courseScheduleList = new ArrayList<CourseSchedule>();
|
|
@@ -319,9 +348,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
dateYmdStr = dateYmdStr + " " + courseTimeDto.getEndClassTime();
|
|
|
Date courseEndTime = DateUtil.stringToDate(dateYmdStr, "yyyy-MM-dd HH:mm");
|
|
|
courseSchedule.setEndClassTime(courseEndTime);
|
|
|
+
|
|
|
+ if(courseEndTime.before(courseStartTime)){
|
|
|
+ throw new BizException("课时上课时间安排错误");
|
|
|
+ }
|
|
|
|
|
|
- courseSchedule.setTeacherId(-1);
|
|
|
- courseSchedule.setActualTeacherId(-1);
|
|
|
+ courseSchedule.setTeacherId(teacherId);
|
|
|
+ courseSchedule.setActualTeacherId(teacherId);
|
|
|
courseSchedule.setCreateTime(now);
|
|
|
courseSchedule.setUpdateTime(now);
|
|
|
courseSchedule.setTeachMode(teachMode);
|
|
@@ -332,40 +365,45 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
courseScheduleList.add(courseSchedule);
|
|
|
|
|
|
// 课程与老师薪水表
|
|
|
- CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
|
|
|
- courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
|
|
|
- courseScheduleTeacherSalary.setGroupType(classGroup.getGroupType());
|
|
|
- courseScheduleTeacherSalary.setMusicGroupId(classGroup.getMusicGroupId());
|
|
|
- //courseScheduleTeacherSalary.setTeacherRole(classGroupTeacherMapper.getTeacherRole());
|
|
|
- //courseScheduleTeacherSalary.setUserId(practiceGroup.getUserId());
|
|
|
- //courseScheduleTeacherSalary.setExpectSalary(new BigDecimal(practiceCourseSalaryConfig.getParanValue()));
|
|
|
- courseScheduleTeacherSalary.setCreateTime(now);
|
|
|
- courseScheduleTeacherSalary.setUpdateTime(now);
|
|
|
- courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
|
|
|
- courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
|
|
|
+ for (ClassGroupTeacherMapper cgtm : classGroupTeacherMapperList) {
|
|
|
+ CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
|
|
|
+ courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
|
|
|
+ courseScheduleTeacherSalary.setGroupType(classGroup.getGroupType());
|
|
|
+ courseScheduleTeacherSalary.setMusicGroupId(classGroup.getMusicGroupId());
|
|
|
+ courseScheduleTeacherSalary.setTeacherRole(cgtm.getTeacherRole());
|
|
|
+ courseScheduleTeacherSalary.setUserId(cgtm.getUserId());
|
|
|
+ //courseScheduleTeacherSalary.setExpectSalary(new BigDecimal(practiceCourseSalaryConfig.getParanValue()));
|
|
|
+ courseScheduleTeacherSalary.setCreateTime(now);
|
|
|
+ courseScheduleTeacherSalary.setUpdateTime(now);
|
|
|
+ courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
|
|
|
+ courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
|
|
|
+ }
|
|
|
|
|
|
// 学生缴费记录
|
|
|
- CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
|
|
|
- courseScheduleStudentPayment.setGroupType(classGroup.getGroupType());
|
|
|
- courseScheduleStudentPayment.setMusicGroupId(classGroup.getMusicGroupId());
|
|
|
- courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
|
|
|
- //courseScheduleStudentPayment.setUserId(practiceGroup.getStudentId());
|
|
|
- courseScheduleStudentPayment.setExpectPrice(BigDecimal.ZERO);
|
|
|
- courseScheduleStudentPayment.setClassGroupId(classGroup.getId());
|
|
|
- courseScheduleStudentPayment.setCreateTime(now);
|
|
|
- courseScheduleStudentPayment.setUpdateTime(now);
|
|
|
- courseScheduleStudentPayments.add(courseScheduleStudentPayment);
|
|
|
+ for (ClassGroupStudentMapper cgsm : classGroupStudentMapperList) {
|
|
|
+ CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
|
|
|
+ courseScheduleStudentPayment.setGroupType(classGroup.getGroupType());
|
|
|
+ courseScheduleStudentPayment.setMusicGroupId(classGroup.getMusicGroupId());
|
|
|
+ courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
|
|
|
+ courseScheduleStudentPayment.setUserId(cgsm.getUserId());
|
|
|
+ courseScheduleStudentPayment.setExpectPrice(BigDecimal.ZERO);
|
|
|
+ courseScheduleStudentPayment.setClassGroupId(classGroup.getId());
|
|
|
+ courseScheduleStudentPayment.setCreateTime(now);
|
|
|
+ courseScheduleStudentPayment.setUpdateTime(now);
|
|
|
+ courseScheduleStudentPayments.add(courseScheduleStudentPayment);
|
|
|
+ }
|
|
|
|
|
|
// 教师签到记录
|
|
|
- TeacherAttendance teacherAttendance = new TeacherAttendance();
|
|
|
- teacherAttendance.setMusicGroupId(classGroup.getMusicGroupId());
|
|
|
- //teacherAttendance.setTeacherId(practiceGroup.getUserId());
|
|
|
- teacherAttendance.setClassGroupId(classGroup.getId());
|
|
|
- teacherAttendance.setGroupType(classGroup.getGroupType());
|
|
|
- teacherAttendance.setCourseScheduleId(courseSchedule.getId());
|
|
|
- teacherAttendance.setCreateTime(now);
|
|
|
- teacherAttendances.add(teacherAttendance);
|
|
|
-
|
|
|
+ for (ClassGroupTeacherMapper cgtm : classGroupTeacherMapperList) {
|
|
|
+ TeacherAttendance teacherAttendance = new TeacherAttendance();
|
|
|
+ teacherAttendance.setMusicGroupId(classGroup.getMusicGroupId());
|
|
|
+ teacherAttendance.setTeacherId(cgtm.getUserId());
|
|
|
+ teacherAttendance.setClassGroupId(classGroup.getId());
|
|
|
+ teacherAttendance.setGroupType(classGroup.getGroupType());
|
|
|
+ teacherAttendance.setCourseScheduleId(courseSchedule.getId());
|
|
|
+ teacherAttendance.setCreateTime(now);
|
|
|
+ teacherAttendances.add(teacherAttendance);
|
|
|
+ }
|
|
|
break;
|
|
|
}
|
|
|
}
|