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