瀏覽代碼

fix 基础技能课课酬 2.0按3.0 结算方式

周箭河 5 年之前
父節點
當前提交
306fbdda84
共有 1 個文件被更改,包括 35 次插入0 次删除
  1. 35 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

+ 35 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1157,6 +1157,22 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                         classTimeDuty = new BigDecimal(classCourseDuration).divide(new BigDecimal(90), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
                         baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary();
                     }
+
+                    //课堂课课酬
+                    if (musicGroup.isClassroomLessons()) {
+                        //课程时长与结算单位时长占比
+                        classTimeDuty = new BigDecimal(classCourseDuration).divide(new BigDecimal(40), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
+                        baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary();
+                    }
+                    //基础技能提高课
+                    if (classGroup4MixDto.getCourseType().equals(CourseSchedule.CourseScheduleType.HIGH)) {
+                        //课程时长与结算单位时长占比
+                        classTimeDuty = new BigDecimal(classCourseDuration).divide(new BigDecimal(45), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
+                        baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary();
+                        if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
+                            baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary();
+                        }
+                    }
                     salary = baseSalary.multiply(classTimeDuty).setScale(2, BigDecimal.ROUND_HALF_UP);
 
                     CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
@@ -1444,6 +1460,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
             int dayOfWeek = now.getDayOfWeek().getValue();
             for (CourseTimeDto courseTimeDto : classGroup4MixDto.getCourseTimeDtoList()) {
+                if(courseTimeDto.getDayOfWeek() < 1 || courseTimeDto.getDayOfWeek() > 7){
+                    throw new BizException("排课循环周期错误,请核查");
+                }
                 if (!courseTimeDto.getDayOfWeek().equals(dayOfWeek)) continue;
 
                 //课时长度
@@ -1501,6 +1520,22 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                         classTimeDuty = new BigDecimal(classCourseDuration).divide(new BigDecimal(90), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
                         baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary();
                     }
+                    //课堂课课酬
+                    if (musicGroup.isClassroomLessons()) {
+                        //课程时长与结算单位时长占比
+                        classTimeDuty = new BigDecimal(classCourseDuration).divide(new BigDecimal(40), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
+                        baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary();
+                    }
+                    //基础技能提高课
+                    if (classGroup4MixDto.getCourseType().equals(CourseSchedule.CourseScheduleType.HIGH)) {
+                        //课程时长与结算单位时长占比
+                        classTimeDuty = new BigDecimal(classCourseDuration).divide(new BigDecimal(45), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
+                        baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary();
+                        if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
+                            baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary();
+                        }
+                    }
+
                     salary = baseSalary.multiply(classTimeDuty).setScale(2, BigDecimal.ROUND_HALF_UP);
 
                     CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();