|
@@ -3460,8 +3460,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
List<CourseScheduleTeacherSalary> insertCourseScheduleTeacherSalaryList = new ArrayList<CourseScheduleTeacherSalary>();
|
|
|
|
|
|
// 获取课程对应教学点补贴
|
|
|
- List<Map<Long, BigDecimal>> courseSubsidyByCourses = courseScheduleTeacherSalaryDao.findCourseSubsidyByCourses(courseScheduleIds);
|
|
|
- Map<Integer, BigDecimal> courseSubsidyMap = MapUtil.convertIntegerMap(courseSubsidyByCourses);
|
|
|
+// List<Map<Long, BigDecimal>> courseSubsidyByCourses = courseScheduleTeacherSalaryDao.findCourseSubsidyByCourses(courseScheduleIds);
|
|
|
+// Map<Integer, BigDecimal> courseSubsidyMap = MapUtil.convertIntegerMap(courseSubsidyByCourses);
|
|
|
|
|
|
// 课程对应乐团结算方式集合
|
|
|
List<Map<String, String>> musicGroupSettlementTypeByCourse = courseScheduleTeacherSalaryDao.findMusicGroupSettlementTypeByCourse(courseScheduleIds);
|
|
@@ -3617,8 +3617,15 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
List<CourseScheduleTeacherSalary> oldCourseScheduleTeacherSalaryList = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseScheduleIds);
|
|
|
Map<Long, List<CourseScheduleTeacherSalary>> courseSalaryListMap = new HashMap<>();
|
|
|
+ Boolean changeMainTeacherSalary = false;
|
|
|
+ CourseScheduleTeacherSalary mainTeacherSalary = null;
|
|
|
if(!CollectionUtils.isEmpty(oldCourseScheduleTeacherSalaryList)){
|
|
|
courseSalaryListMap = oldCourseScheduleTeacherSalaryList.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
|
|
|
+ List<CourseScheduleTeacherSalary> mainTeacherSalarys = oldCourseScheduleTeacherSalaryList.stream().filter(t -> TeachTypeEnum.BISHOP.equals(t.getTeacherRole())).collect(Collectors.toList());
|
|
|
+ if(!CollectionUtils.isEmpty(mainTeacherSalarys)){
|
|
|
+ mainTeacherSalary = mainTeacherSalarys.get(0);
|
|
|
+ changeMainTeacherSalary = mainTeacherSalary.getEnableChangeSalary();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIdList);
|
|
@@ -3630,7 +3637,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
ts.setCreateTime(date);
|
|
|
ts.setGroupType(newCourseSchedule.getGroupType());
|
|
|
ts.setMusicGroupId(newCourseSchedule.getMusicGroupId());
|
|
|
- ts.setSubsidy(courseSubsidyMap.get(courseScheduleId));
|
|
|
if (teacherId == newCourseSchedule.getActualTeacherId().intValue()) {
|
|
|
ts.setTeacherRole(TeachTypeEnum.BISHOP);
|
|
|
} else {
|
|
@@ -3638,37 +3644,44 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
}
|
|
|
ts.setUpdateTime(date);
|
|
|
ts.setUserId(teacherId);
|
|
|
- // 重新生成课酬
|
|
|
- if (newCourseSchedule.getGroupType() == GroupType.MUSIC) {
|
|
|
- courseScheduleTeacherSalaryService.createMusicGroupCourseTeacherSalary(null, newCourseSchedule, ts);
|
|
|
- } else if (newCourseSchedule.getGroupType() == GroupType.VIP) {
|
|
|
- Map<String, BigDecimal> salaryMap = vipGroupService.countVipGroupPredictFee(vipGroup, teacherId, ts.getCourseScheduleId());
|
|
|
|
|
|
- BigDecimal teacherSalary=null;
|
|
|
+ if(TeachTypeEnum.BISHOP.equals(ts.getTeacherRole())&&!changeMainTeacherSalary){
|
|
|
+ ts.setExpectSalary(mainTeacherSalary.getExpectSalary());
|
|
|
+ ts.setSubsidy(mainTeacherSalary.getSubsidy());
|
|
|
+ }else{
|
|
|
+ // 重新生成课酬
|
|
|
+ if (newCourseSchedule.getGroupType() == GroupType.MUSIC) {
|
|
|
+ courseScheduleTeacherSalaryService.createMusicGroupCourseTeacherSalary(null, newCourseSchedule, ts);
|
|
|
+ } else if (newCourseSchedule.getGroupType() == GroupType.VIP) {
|
|
|
+ Map<String, BigDecimal> salaryMap = vipGroupService.countVipGroupPredictFee(vipGroup, teacherId, ts.getCourseScheduleId());
|
|
|
|
|
|
- if(Objects.nonNull(salaryMap)){
|
|
|
- teacherSalary=newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE?salaryMap.get("offlineTeacherSalary"):salaryMap.get("onlineTeacherSalary");
|
|
|
- }
|
|
|
+ BigDecimal teacherSalary=null;
|
|
|
|
|
|
- ts.setExpectSalary(teacherSalary);
|
|
|
-
|
|
|
- } else if (newCourseSchedule.getGroupType() == PRACTICE) {
|
|
|
- SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
|
|
|
- BigDecimal freeTeacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
|
|
|
-
|
|
|
- List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
|
|
|
- .queryByUserId(teacherId);
|
|
|
- List<CourseScheduleTeacherSalary> teacherSalaries = courseSalaryListMap.get(ts.getCourseScheduleId());
|
|
|
- if(!CollectionUtils.isEmpty(teacherSalaries)&&freeTeacherSalary.compareTo(teacherSalaries.get(0).getExpectSalary())==0){
|
|
|
- ts.setExpectSalary(freeTeacherSalary);
|
|
|
- }else{
|
|
|
- if (teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0) {
|
|
|
- ts.setExpectSalary(teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary());
|
|
|
- } else {
|
|
|
- throw new BizException("请设置老师 的网管课课酬");
|
|
|
+ if(Objects.nonNull(salaryMap)){
|
|
|
+ teacherSalary=newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE?salaryMap.get("offlineTeacherSalary"):salaryMap.get("onlineTeacherSalary");
|
|
|
+ }
|
|
|
+
|
|
|
+ ts.setExpectSalary(teacherSalary);
|
|
|
+
|
|
|
+ } else if (newCourseSchedule.getGroupType() == PRACTICE) {
|
|
|
+ SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
|
|
|
+ BigDecimal freeTeacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
|
|
|
+
|
|
|
+ List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
|
|
|
+ .queryByUserId(teacherId);
|
|
|
+ List<CourseScheduleTeacherSalary> teacherSalaries = courseSalaryListMap.get(ts.getCourseScheduleId());
|
|
|
+ if(!CollectionUtils.isEmpty(teacherSalaries)&&freeTeacherSalary.compareTo(teacherSalaries.get(0).getExpectSalary())==0){
|
|
|
+ ts.setExpectSalary(freeTeacherSalary);
|
|
|
+ }else{
|
|
|
+ if (teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0) {
|
|
|
+ ts.setExpectSalary(teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary());
|
|
|
+ } else {
|
|
|
+ throw new BizException("请设置老师 的网管课课酬");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
if(ts.getExpectSalary() == null){
|
|
|
throw new BizException("请设置老师的课酬");
|
|
|
}
|