|
@@ -1834,64 +1834,66 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
if (newCourseSchedule.getGroupType() == GroupType.MUSIC) {
|
|
if (newCourseSchedule.getGroupType() == GroupType.MUSIC) {
|
|
Map<CourseScheduleType, TeacherDefaultMusicGroupSalary> map = musicGroupSalaryMap.get(teacherId);
|
|
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 {
|
|
} 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) {
|
|
} else if (newCourseSchedule.getGroupType() == GroupType.VIP) {
|
|
Map<Integer, TeacherDefaultVipGroupSalary> map = vipGroupSalaryMap.get(teacherId);
|
|
Map<Integer, TeacherDefaultVipGroupSalary> map = vipGroupSalaryMap.get(teacherId);
|
|
|
|
+ if (map == null) {
|
|
|
|
+ throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
|
|
|
|
+ }
|
|
if (vipGroup == null) {
|
|
if (vipGroup == null) {
|
|
throw new BizException("课程[{}]记录存在异常,请联系管理员", courseScheduleId);
|
|
throw new BizException("课程[{}]记录存在异常,请联系管理员", courseScheduleId);
|
|
}
|
|
}
|
|
TeacherDefaultVipGroupSalary tdvs = map.get(vipGroup.getVipGroupCategoryId());
|
|
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 {
|
|
} else {
|
|
- ts.setExpectSalary(new BigDecimal(0));
|
|
|
|
|
|
+ ts.setExpectSalary(tdvs.getOnlineClassesSalary());
|
|
}
|
|
}
|
|
} else if (newCourseSchedule.getGroupType() == GroupType.PRACTICE) {
|
|
} else if (newCourseSchedule.getGroupType() == GroupType.PRACTICE) {
|
|
List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
|
|
List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
|