Forráskód Böngészése

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 éve
szülő
commit
44fdd3c594

+ 50 - 48
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -1834,64 +1834,66 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					if (newCourseSchedule.getGroupType() == GroupType.MUSIC) {
 						Map<CourseScheduleType, TeacherDefaultMusicGroupSalary> map = musicGroupSalaryMap.get(teacherId);
 
-						if (map != null) {
-							TeacherDefaultMusicGroupSalary tdms = map.get(newCourseSchedule.getType());
-							if (tdms != null) {
-								// 乐团结算方式
-								String settlementType = musicGroupSettlementsMap.get(courseScheduleId);
-								int unitMinutes = 30;
-
-								// 如果当前教师是在指定日期之后入职的,则按照3.0的方式结算
-								Teacher teacher = teacherMap.get(teacherId);
-								if (Objects.nonNull(teacher.getEntryDate())
-										&& (teacher.getEntryDate().after(entryDate) || teacher.getEntryDate().getTime() == entryDate.getTime())) {
-									settlementType = SalarySettlementTypeEnum.GRADIENT_SALARY.getCode();
-								}
-								if (StringUtils.equals(settlementType, "TEACHER_DEFAULT")) {
-									if (newCourseSchedule.getType() == CourseScheduleType.CLASSROOM) {
-										unitMinutes = 40;
-									} else if (newCourseSchedule.getType() == CourseScheduleType.HIGH) {
-										unitMinutes = 45;
-									}
-									if (ts.getTeacherRole() == TeachTypeEnum.BISHOP) {
-										ts.setExpectSalary(new BigDecimal(tdms.getMainTeacher30MinSalary().doubleValue() * newMinutes / unitMinutes));
-									} else {
-										ts.setExpectSalary(new BigDecimal(tdms.getAssistantTeacher30MinSalary().doubleValue() * newMinutes / unitMinutes));
-									}
-								} else if (StringUtils.equals(settlementType, "GRADIENT_SALARY")) {
-									unitMinutes = 90;
-									if (newCourseSchedule.getType() == CourseScheduleType.CLASSROOM) {
-										unitMinutes = 40;
-									} else if (newCourseSchedule.getType() == CourseScheduleType.HIGH) {
-										unitMinutes = 45;
-									}
-									if (ts.getTeacherRole() == TeachTypeEnum.BISHOP) {
-										ts.setExpectSalary(new BigDecimal(tdms.getMainTeacher90MinSalary().doubleValue() * newMinutes / unitMinutes));
-									} else {
-										ts.setExpectSalary(new BigDecimal(tdms.getAssistantTeacher90MinSalary().doubleValue() * newMinutes / unitMinutes));
-									}
-								}
+						if (map == null) {
+							throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
+						}
+
+						TeacherDefaultMusicGroupSalary tdms = map.get(newCourseSchedule.getType());
+						if (tdms != null) {
+							throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
+						}
+
+						// 乐团结算方式
+						String settlementType = musicGroupSettlementsMap.get(courseScheduleId);
+						int unitMinutes = 30;
+
+						// 如果当前教师是在指定日期之后入职的,则按照3.0的方式结算
+						Teacher teacher = teacherMap.get(teacherId);
+						if (Objects.nonNull(teacher.getEntryDate())
+								&& (teacher.getEntryDate().after(entryDate) || teacher.getEntryDate().getTime() == entryDate.getTime())) {
+							settlementType = SalarySettlementTypeEnum.GRADIENT_SALARY.getCode();
+						}
+						if (StringUtils.equals(settlementType, "TEACHER_DEFAULT")) {
+							if (newCourseSchedule.getType() == CourseScheduleType.CLASSROOM) {
+								unitMinutes = 40;
+							} else if (newCourseSchedule.getType() == CourseScheduleType.HIGH) {
+								unitMinutes = 45;
+							}
+							if (ts.getTeacherRole() == TeachTypeEnum.BISHOP) {
+								ts.setExpectSalary(new BigDecimal(tdms.getMainTeacher30MinSalary().doubleValue() * newMinutes / unitMinutes));
 							} else {
-								ts.setExpectSalary(new BigDecimal(0));
+								ts.setExpectSalary(new BigDecimal(tdms.getAssistantTeacher30MinSalary().doubleValue() * newMinutes / unitMinutes));
+							}
+						} else if (StringUtils.equals(settlementType, "GRADIENT_SALARY")) {
+							unitMinutes = 90;
+							if (newCourseSchedule.getType() == CourseScheduleType.CLASSROOM) {
+								unitMinutes = 40;
+							} else if (newCourseSchedule.getType() == CourseScheduleType.HIGH) {
+								unitMinutes = 45;
+							}
+							if (ts.getTeacherRole() == TeachTypeEnum.BISHOP) {
+								ts.setExpectSalary(new BigDecimal(tdms.getMainTeacher90MinSalary().doubleValue() * newMinutes / unitMinutes));
+							} else {
+								ts.setExpectSalary(new BigDecimal(tdms.getAssistantTeacher90MinSalary().doubleValue() * newMinutes / unitMinutes));
 							}
-						} else {
-							ts.setExpectSalary(new BigDecimal(0));
 						}
-						
+					
 					} else if (newCourseSchedule.getGroupType() == GroupType.VIP) {
 						Map<Integer, TeacherDefaultVipGroupSalary> map = vipGroupSalaryMap.get(teacherId);
+						if (map == null) {
+							throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
+						}
 						if (vipGroup == null) {
 							throw new BizException("课程[{}]记录存在异常,请联系管理员", courseScheduleId);
 						}
 						TeacherDefaultVipGroupSalary tdvs = map.get(vipGroup.getVipGroupCategoryId());
-						if (tdvs != null) {
-							if (newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE) {
-								ts.setExpectSalary(tdvs.getOfflineClassesSalary());
-							} else {
-								ts.setExpectSalary(tdvs.getOnlineClassesSalary());
-							}
+						if (tdvs == null) {
+							throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
+						}
+						if (newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE) {
+							ts.setExpectSalary(tdvs.getOfflineClassesSalary());
 						} else {
-							ts.setExpectSalary(new BigDecimal(0));
+							ts.setExpectSalary(tdvs.getOnlineClassesSalary());
 						}
 					} else if (newCourseSchedule.getGroupType() == GroupType.PRACTICE) {
 						List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao