Sfoglia il codice sorgente

feat:网管课批量加课课酬判断

Joburgess 4 anni fa
parent
commit
bff9d3701f

+ 17 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -3022,6 +3022,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				throw new BizException("上课时间不得早于当前时间");
 			}
 
+			List<CourseScheduleTeacherSalary> oldCourseSalarys = courseSalaryListMap.get(oldCourses.get(i).getId());
+			CourseScheduleTeacherSalary oldMainTeacherSalary = null;
+			if(!CollectionUtils.isEmpty(oldCourseSalarys)){
+				List<CourseScheduleTeacherSalary> mainTeachSalarys = oldCourseSalarys.stream().filter(c -> TeachTypeEnum.BISHOP.equals(c.getTeacherRole())).collect(Collectors.toList());
+				oldMainTeacherSalary = CollectionUtils.isEmpty(mainTeachSalarys)?null:mainTeachSalarys.get(0);
+			}
+
 			for (ClassGroupTeacherMapper classGroupTeacherMapper : courseAdjustInfo.getClassGroupTeacherMapperList()) {
 				if(!changeSalaryTeachTypes.contains(classGroupTeacherMapper.getTeacherRole())){
 					continue;
@@ -3035,10 +3042,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				courseScheduleTeacherSalary.setClassGroupId(oldCourses.get(i).getClassGroupId());
 				courseScheduleTeacherSalary.setCreateTime(now);
 				courseScheduleTeacherSalary.setUpdateTime(now);
-				if(CourseScheduleType.PRACTICE.equals(oldCourses.get(i).getType())&&courseSalaryListMap.containsKey(oldCourses.get(i).getId())){
-					courseScheduleTeacherSalary.setExpectSalary(courseSalaryListMap.get(oldCourses.get(i).getId()).get(0).getExpectSalary());
+
+				if(TeachTypeEnum.BISHOP.equals(classGroupTeacherMapper.getTeacherRole())&&!oldMainTeacherSalary.getEnableChangeSalary()){
+					courseScheduleTeacherSalary.setExpectSalary(oldMainTeacherSalary.getExpectSalary());
+					courseScheduleTeacherSalary.setSubsidy(oldMainTeacherSalary.getSubsidy());
+					courseScheduleTeacherSalary.setEnableChangeSalary(oldMainTeacherSalary.getEnableChangeSalary());
+				}else{
+					if(CourseScheduleType.PRACTICE.equals(oldCourses.get(i).getType())&&courseSalaryListMap.containsKey(oldCourses.get(i).getId())){
+						courseScheduleTeacherSalary.setExpectSalary(courseSalaryListMap.get(oldCourses.get(i).getId()).get(0).getExpectSalary());
+					}
+					courseScheduleTeacherSalaryService.updateSingleCourseTeacherSalary(oldCourses.get(i), courseScheduleTeacherSalary);
 				}
-				courseScheduleTeacherSalaryService.updateSingleCourseTeacherSalary(oldCourses.get(i), courseScheduleTeacherSalary);
 				courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
 
 				if (courseAdjustInfo.getConfirmGenerate() && !courseAdjustInfo.getAllowZeroSalary() && BigDecimal.ZERO.compareTo(courseScheduleTeacherSalary.getExpectSalary()) == 0) {