| 
					
				 | 
			
			
				@@ -260,6 +260,17 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Teacher teacher = idTeacherMap.get(courseScheduleTeacherSalary.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(Objects.isNull(teacher)||(Objects.nonNull(teacher.getIsSettlementSalary())&&!teacher.getIsSettlementSalary())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setDeductionReason("不结算课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setActualSalary(BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setSubsidy(BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setSettlementTime(now); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setBelongToDaya(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //            boolean notPositive = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getFormalStaffDate())&&courseScheduleTeacherSalary.getCourseSchedule().getClassDate().compareTo(teacher.getFormalStaffDate())<0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //            boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getIsProbationPeriod())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -336,6 +347,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 courseScheduleTeacherSalary.setDeductionReason(StringUtils.join(deductReasons, ";")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalary.setActualSalary(finalSalary.compareTo(BigDecimal.ZERO)<0?BigDecimal.ZERO:finalSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalary.setSettlementTime(now); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            courseScheduleTeacherSalary.setBelongToDaya(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -390,6 +402,17 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Teacher teacher = idTeacherMap.get(courseScheduleTeacherSalary.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(Objects.isNull(teacher)||(Objects.nonNull(teacher.getIsSettlementSalary())&&!teacher.getIsSettlementSalary())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setDeductionReason("不结算课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setActualSalary(BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setSubsidy(BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setSettlementTime(now); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setBelongToDaya(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //            boolean notPositive = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getFormalStaffDate())&&courseScheduleTeacherSalary.getCourseSchedule().getClassDate().compareTo(teacher.getFormalStaffDate())<0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //            boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getIsProbationPeriod())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -469,6 +492,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalary.setActualSalary(finalSalary.compareTo(BigDecimal.ZERO)<0?BigDecimal.ZERO:finalSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalary.setSettlementTime(now); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            courseScheduleTeacherSalary.setBelongToDaya(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -570,6 +594,17 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Teacher teacher = idTeacherMap.get(courseScheduleTeacherSalary.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(Objects.isNull(teacher)||(Objects.nonNull(teacher.getIsSettlementSalary())&&!teacher.getIsSettlementSalary())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setDeductionReason("不结算课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setActualSalary(BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setSubsidy(BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setBelongToDaya(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setSettlementTime(now); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(CourseSchedule.CourseScheduleType.MUSIC_NETWORK.equals(courseSchedule.getType())||CourseSchedule.CourseScheduleType.HIGH_ONLINE.equals(courseSchedule.getType())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Long normalStudentNum = courseNormalStudentsMap.get(courseSchedule.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(Objects.isNull(normalStudentNum)){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -667,6 +702,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //更新教师结算信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 courseScheduleTeacherSalary.setSubsidy(subsidy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 courseScheduleTeacherSalary.setActualSalary(finalSalary.compareTo(BigDecimal.ZERO)<0?BigDecimal.ZERO:finalSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setBelongToDaya(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 courseScheduleTeacherSalary.setSettlementTime(now); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -813,6 +849,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //更新教师结算信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalary.setSubsidy(subsidy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalary.setActualSalary(finalSalary.compareTo(BigDecimal.ZERO)<0?BigDecimal.ZERO:finalSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            courseScheduleTeacherSalary.setBelongToDaya(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalary.setSettlementTime(now); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1558,6 +1595,11 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void calMusicCourseTeacherActualSalary(CourseSchedule courseSchedule, CourseScheduleTeacherSalary courseScheduleTeacherSalary, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                   List<TeacherAttendance> teacherAttendances, School school, Teacher teacher, double attendanceRange) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(StringUtils.isNotBlank(courseScheduleTeacherSalary.getDeductionReason())&&"不结算课酬".equals(courseScheduleTeacherSalary.getDeductionReason())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //不结算课酬 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BigDecimal teacherSalary = courseScheduleTeacherSalary.getExpectSalary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(CourseSchedule.CourseScheduleType.MUSIC_NETWORK.equals(courseSchedule.getType())||CourseSchedule.CourseScheduleType.HIGH_ONLINE.equals(courseSchedule.getType())){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1789,6 +1831,11 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                 List<TeacherAttendance> teacherAttendances, School school, Teacher teacher, double attendanceRange) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<TeacherSalaryDeductReasonDto> deductReasons = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(StringUtils.isNotBlank(courseScheduleTeacherSalary.getDeductionReason())&&"不结算课酬".equals(courseScheduleTeacherSalary.getDeductionReason())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //不结算课酬 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BigDecimal expectSalary = courseScheduleTeacherSalary.getExpectSalary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BigDecimal subsidy = new BigDecimal(0); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1891,6 +1938,11 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                List<TeacherAttendance> teacherAttendances, School school, Teacher teacher) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<TeacherSalaryDeductReasonDto> deductReasons = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(StringUtils.isNotBlank(courseScheduleTeacherSalary.getDeductionReason())&&"不结算课酬".equals(courseScheduleTeacherSalary.getDeductionReason())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //不结算课酬 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BigDecimal expectSalary = courseScheduleTeacherSalary.getExpectSalary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BigDecimal subsidy = new BigDecimal(0); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2187,11 +2239,14 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if(trailReasonNum<=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             teacherSalary.getDeductReasons().add(new TeacherSalaryDeductReasonDto(DeductReasonEnum.TRAIL, teacherIncomeInfo.getExpectIncome().subtract(teacherIncomeInfo.getExpectIncome().multiply(new BigDecimal("0.8"))))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else if(!CollectionUtils.isEmpty(teacherSalary.getDeductReasons())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         teacherSalary.setDeductReasons(teacherSalary.getDeductReasons().stream().filter(p->!DeductReasonEnum.TRAIL.equals(p.getDeductReason())).collect(Collectors.toList())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 teacherIncomeInfo.setDeductReasons(teacherSalary.getDeductReasons()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(CollectionUtils.isEmpty(teacherSalary.getDeductReasons())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    teacherIncomeInfo.setDeductReasons(Collections.EMPTY_LIST); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 teacherIncomeInfo.setTeacherAttendance(teacherAttendances.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(Objects.nonNull(school)&&Objects.nonNull(teacherIncomeInfo.getTeacherAttendance())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     teacherIncomeInfo.getTeacherAttendance().setSchoolLongitudeLatitude(school.getLongitudeLatitude()); 
			 |