Переглянути джерело

fix:乐团可课酬设置小班课课酬按照人数重新计算

Joburgess 4 роки тому
батько
коміт
8a0e08665f

+ 26 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultMusicGroupSalaryServiceImpl.java

@@ -124,7 +124,7 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
 								BigDecimal duration = new BigDecimal(DateUtil.minutesBetween(ts.getCourseSchedule().getStartClassTime(), ts.getCourseSchedule()
 										.getEndClassTime()));
 								int mins = 0;
-								if(tdms.getCourseScheduleType() == CourseScheduleType.HIGH || tdms.getCourseScheduleType() == CourseScheduleType.HIGH_ONLINE || tdms.getCourseScheduleType() == CourseScheduleType.MUSIC_NETWORK) {
+								if(tdms.getCourseScheduleType() == CourseScheduleType.HIGH_ONLINE || tdms.getCourseScheduleType() == CourseScheduleType.MUSIC_NETWORK) {
 									if (!classGroupStudentNumMap.containsKey(ts.getClassGroupId())) {
 										// 查询 班级人数
 										String[] strs = classGroupStudentMapperDao.findStudentNumByClassGroupId(ts.getClassGroupId());
@@ -140,7 +140,7 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
 										if(studentNum == null || studentNum == 0){
 											studentNum = 1;
 										}
-										if(studentNum>5 && tdms.getCourseScheduleType() != CourseScheduleType.HIGH){
+										if(studentNum>5){
 											studentNum = 5;
 										}
 										ts.setExpectSalary(new BigDecimal(obj.getDouble(studentNum + "")));
@@ -163,6 +163,18 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
 											ts.setExpectSalary(duration.divide(new BigDecimal(mins), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(tdms.getAssistantTeacher90MinSalary()));
 										}
 									}
+									if(CourseScheduleType.HIGH.equals(tdms.getCourseScheduleType())){
+										if (!classGroupStudentNumMap.containsKey(ts.getClassGroupId())) {
+											// 查询 班级人数
+											String[] strs = classGroupStudentMapperDao.findStudentNumByClassGroupId(ts.getClassGroupId());
+											classGroupStudentNumMap.put(ts.getClassGroupId(), strs.length);
+										}
+										Integer studentNum = classGroupStudentNumMap.get(ts.getClassGroupId());
+										if(studentNum == null || studentNum == 0){
+											studentNum = 1;
+										}
+										ts.setExpectSalary(ts.getExpectSalary().multiply(new BigDecimal(studentNum)));
+									}
 									list.add(ts);
 								} else if (musicGroup.getSettlementType() == SalarySettlementTypeEnum.TEACHER_DEFAULT) {// 默认课酬
 									mins = 30;
@@ -181,6 +193,18 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
 											ts.setExpectSalary(duration.divide(minsDecimal, CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(tdms.getAssistantTeacher30MinSalary()));
 										}
 									}
+									if(CourseScheduleType.HIGH.equals(tdms.getCourseScheduleType())){
+										if (!classGroupStudentNumMap.containsKey(ts.getClassGroupId())) {
+											// 查询 班级人数
+											String[] strs = classGroupStudentMapperDao.findStudentNumByClassGroupId(ts.getClassGroupId());
+											classGroupStudentNumMap.put(ts.getClassGroupId(), strs.length);
+										}
+										Integer studentNum = classGroupStudentNumMap.get(ts.getClassGroupId());
+										if(studentNum == null || studentNum == 0){
+											studentNum = 1;
+										}
+										ts.setExpectSalary(ts.getExpectSalary().multiply(new BigDecimal(studentNum)));
+									}
 									list.add(ts);
 								}
 								if(ts.getExpectSalary() == null){