yonge 5 lat temu
rodzic
commit
5af74dbfea

+ 80 - 42
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

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