| 
					
				 | 
			
			
				@@ -222,8 +222,18 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //获取课程对应教学点补贴 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Map<Long, BigDecimal>> courseSubsidyByCourses = courseScheduleTeacherSalaryDao.findCourseSubsidyByCourses(new ArrayList<>(courseScheduleIds)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Integer, BigDecimal> courseSubsidyMap = MapUtil.convertIntegerMap(courseSubsidyByCourses); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         someDayAgoTeacherCourseSalaryNoSettlement.forEach(courseScheduleTeacherSalary -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            BigDecimal subsidy = courseSubsidyMap.get(courseScheduleTeacherSalary.getCourseSchedule().getSchoolId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (Objects.isNull(subsidy)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                subsidy = new BigDecimal(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            courseScheduleTeacherSalary.setExpectSalary(courseScheduleTeacherSalary.getExpectSalary().add(subsidy)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Teacher teacher = idTeacherMap.get(courseScheduleTeacherSalary.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseScheduleTeacherSalary.getCourseSchedule().getClassDate().compareTo(teacher.getFormalStaffDate())<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 courseScheduleTeacherSalary.setExpectSalary(courseScheduleTeacherSalary.getExpectSalary().multiply(new BigDecimal("0.8"))); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -340,9 +350,19 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<TeacherAttendance> allTeacherAttendances = teacherAttendanceDao.findByCourseSchedules(courseScheduleIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String, List<TeacherAttendance>> teacherCourseAttendanceMap = allTeacherAttendances.stream().collect(Collectors.groupingBy(ta -> org.apache.commons.lang3.StringUtils.joinWith(":", ta.getCourseScheduleId(), ta.getTeacherId()))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //获取课程对应教学点补贴 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Map<Long, BigDecimal>> courseSubsidyByCourses = courseScheduleTeacherSalaryDao.findCourseSubsidyByCourses(courseScheduleIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Integer, BigDecimal> courseSubsidyMap = MapUtil.convertIntegerMap(courseSubsidyByCourses); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //处理课酬信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         someDayAgoTeacherCourseSalaryNoSettlement.forEach(courseScheduleTeacherSalary -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            BigDecimal subsidy = courseSubsidyMap.get(courseScheduleTeacherSalary.getCourseSchedule().getSchoolId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (Objects.isNull(subsidy)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                subsidy = new BigDecimal(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            courseScheduleTeacherSalary.setExpectSalary(courseScheduleTeacherSalary.getExpectSalary().add(subsidy)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Teacher teacher = idTeacherMap.get(courseScheduleTeacherSalary.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseScheduleTeacherSalary.getCourseSchedule().getClassDate().compareTo(teacher.getFormalStaffDate())<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 courseScheduleTeacherSalary.setExpectSalary(courseScheduleTeacherSalary.getExpectSalary().multiply(new BigDecimal("0.8"))); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -542,6 +562,12 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     teacherSalary = BigDecimal.ZERO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                BigDecimal subsidy = courseSubsidyMap.get(courseSchedule.getSchoolId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (Objects.isNull(subsidy)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    subsidy = new BigDecimal(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                teacherSalary = teacherSalary.add(subsidy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //如果上课日期在转正日期之前的按80%结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseSchedule.getClassDate().compareTo(teacher.getFormalStaffDate())<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     teacherSalary = teacherSalary.multiply(new BigDecimal("0.8")); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -645,16 +671,16 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 teacherSalary=courseScheduleTeacherSalary.getExpectSalary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseSchedule.getClassDate().compareTo(teacher.getFormalStaffDate())<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                teacherSalary = teacherSalary.multiply(new BigDecimal("0.8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             BigDecimal subsidy = courseSubsidyMap.get(courseSchedule.getSchoolId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (Objects.isNull(subsidy)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 subsidy = new BigDecimal(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             teacherSalary = teacherSalary.add(subsidy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseSchedule.getClassDate().compareTo(teacher.getFormalStaffDate())<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                teacherSalary = teacherSalary.multiply(new BigDecimal("0.8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //扣除费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             BigDecimal deductCost = BigDecimal.ZERO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<String> deductReasons = new ArrayList<>(); 
			 |