| 
					
				 | 
			
			
				@@ -229,20 +229,22 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         someDayAgoTeacherCourseSalaryNoSettlement.forEach(courseScheduleTeacherSalary -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<String> deductReasons = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            BigDecimal expectSalary = courseScheduleTeacherSalary.getExpectSalary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             BigDecimal subsidy = courseSubsidyMap.get(courseScheduleTeacherSalary.getCourseScheduleId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (Objects.isNull(subsidy)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 subsidy = new BigDecimal(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalary.setSubsidy(subsidy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            courseScheduleTeacherSalary.setExpectSalary(courseScheduleTeacherSalary.getExpectSalary().add(subsidy)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            expectSalary = expectSalary.add(subsidy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(BigDecimal.ZERO.compareTo(subsidy)<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(BigDecimal.ZERO.compareTo(subsidy)!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 deductReasons.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"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                expectSalary = expectSalary.multiply(new BigDecimal("0.8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 deductReasons.add("未转正"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -254,7 +256,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             TeacherAttendance teacherAttendance = courseTeacherAttendances.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(CollectionUtils.isEmpty(courseTeacherAttendances)||Objects.isNull(teacherAttendance.getSignInStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //未签到扣除全部课酬 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                deductCost = deductCost.add(courseScheduleTeacherSalary.getExpectSalary()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                deductCost = deductCost.add(expectSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 deductReasons.add("未签到扣除全部课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }else if(YesOrNoEnum.NO.equals(teacherAttendance.getSignInStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //异常签到 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -262,18 +264,18 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 float signCourseTimeBetween = (float)signCourseTimeBetweenSeconds/(float)60; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(signCourseTimeBetween<=1&&signCourseTimeBetween>-3){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //课程开始前1分钟至开始后3分钟进入教室 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    deductCost = deductCost.add(courseScheduleTeacherSalary.getExpectSalary().divide(new BigDecimal(2))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    deductCost = deductCost.add(expectSalary.divide(new BigDecimal(2))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     deductReasons.add("课程开始前1分钟至开始后3分钟进入教室扣除一半课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }else if(signCourseTimeBetween<=-3){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //课程开始后3分钟后进入教室 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    deductCost = deductCost.add(courseScheduleTeacherSalary.getExpectSalary()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    deductCost = deductCost.add(expectSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     deductReasons.add("课程开始后3分钟进入教室扣除全部课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(CollectionUtils.isEmpty(courseTeacherAttendances)||Objects.isNull(teacherAttendance.getSignOutStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //未签退扣除全部课酬 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                deductCost = deductCost.add(courseScheduleTeacherSalary.getExpectSalary()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                deductCost = deductCost.add(expectSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 deductReasons.add("未签退扣除全部课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }else if(YesOrNoEnum.NO.equals(teacherAttendance.getSignOutStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //异常签退 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -282,21 +284,22 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(signOutCourseTimeBetween>3){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //课程开始前20分钟至开始后3分钟退出教室 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    deductCost = deductCost.add(courseScheduleTeacherSalary.getExpectSalary()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    deductCost = deductCost.add(expectSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     deductReasons.add("课程结束前3分钟之前退出教室扣除全部课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }else if(signOutCourseTimeBetween<=3&&signOutCourseTimeBetween>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //课程结束前3分钟后至课程结束前退出教室 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    deductCost = deductCost.add(courseScheduleTeacherSalary.getExpectSalary().divide(new BigDecimal(2))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    deductCost = deductCost.add(expectSalary.divide(new BigDecimal(2))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     deductReasons.add("课程结束前3分钟后至课程结束前退出教室扣除一半课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            BigDecimal finalSalary = courseScheduleTeacherSalary.getExpectSalary().subtract(deductCost).setScale(BigDecimal.ZERO.intValue(), BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            BigDecimal finalSalary = expectSalary.subtract(deductCost).setScale(BigDecimal.ZERO.intValue(), BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(BigDecimal.ZERO.compareTo(deductCost)<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 deductReasons.add("扣除总费用:" + deductCost); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            courseScheduleTeacherSalary.setDeductionReason(StringUtils.join(deductReasons, ";")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(!CollectionUtils.isEmpty(deductReasons)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setDeductionReason(StringUtils.join(deductReasons, ";")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalary.setActualSalary(finalSalary.compareTo(BigDecimal.ZERO)<0?BigDecimal.ZERO:finalSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalary.setSettlementTime(now); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -362,21 +365,23 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //处理课酬信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         someDayAgoTeacherCourseSalaryNoSettlement.forEach(courseScheduleTeacherSalary -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<String> deductReasons = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            BigDecimal expectSalary = courseScheduleTeacherSalary.getExpectSalary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             BigDecimal subsidy = courseSubsidyMap.get(courseScheduleTeacherSalary.getCourseScheduleId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (Objects.isNull(subsidy)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 subsidy = new BigDecimal(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalary.setSubsidy(subsidy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            courseScheduleTeacherSalary.setExpectSalary(courseScheduleTeacherSalary.getExpectSalary().add(subsidy)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(BigDecimal.ZERO.compareTo(subsidy)<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            expectSalary = expectSalary.add(subsidy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(BigDecimal.ZERO.compareTo(subsidy)!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 deductReasons.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"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                expectSalary = expectSalary.multiply(new BigDecimal("0.8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 deductReasons.add("未转正"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -387,7 +392,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             TeacherAttendance teacherAttendance = courseTeacherAttendances.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(CollectionUtils.isEmpty(courseTeacherAttendances)||Objects.isNull(teacherAttendance.getSignInStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //未签到扣除全部课酬 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                deductCost = deductCost.add(courseScheduleTeacherSalary.getExpectSalary()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                deductCost = deductCost.add(expectSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 deductReasons.add("未签到扣除全部课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }else if(YesOrNoEnum.NO.equals(teacherAttendance.getSignInStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //异常签到 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -395,24 +400,23 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 float signCourseTimeBetween = (float)signCourseTimeBetweenSeconds/(float)60; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(signCourseTimeBetween<=1&&signCourseTimeBetween>-3){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //课程开始前1分钟至开始后3分钟进入教室 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    deductCost = deductCost.add(courseScheduleTeacherSalary.getExpectSalary().divide(new BigDecimal(2))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    deductCost = deductCost.add(expectSalary.divide(new BigDecimal(2))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     deductReasons.add("课程开始前1分钟至开始后3分钟进入教室扣除一半课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }else if(signCourseTimeBetween<=-3){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //课程开始后3分钟后进入教室 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    deductCost = deductCost.add(courseScheduleTeacherSalary.getExpectSalary()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    deductCost = deductCost.add(expectSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     deductReasons.add("课程开始后3分钟进入教室扣除全部课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(TeachModeEnum.OFFLINE.equals(courseScheduleTeacherSalary.getCourseSchedule().getTeachMode())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    deductCost = courseScheduleTeacherSalary.getExpectSalary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    deductReasons.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    deductCost = deductCost.add(expectSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     deductReasons.add("点名时经纬度不在范围内扣除全部课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(CollectionUtils.isEmpty(courseTeacherAttendances)||Objects.isNull(teacherAttendance.getSignOutStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //未签退扣除全部课酬 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                deductCost = deductCost.add(courseScheduleTeacherSalary.getExpectSalary()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                deductCost = deductCost.add(expectSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 deductReasons.add("未签退扣除全部课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }else if(YesOrNoEnum.NO.equals(teacherAttendance.getSignOutStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //异常签退 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -421,17 +425,16 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(signOutCourseTimeBetween>3){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //课程开始前20分钟至开始后3分钟退出教室 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    deductCost = deductCost.add(courseScheduleTeacherSalary.getExpectSalary()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    deductCost = deductCost.add(expectSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     deductReasons.add("课程结束前3分钟之前退出教室扣除全部课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }else if(signOutCourseTimeBetween<=3&&signOutCourseTimeBetween>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //课程结束前3分钟后至课程结束前退出教室 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    deductCost = deductCost.add(courseScheduleTeacherSalary.getExpectSalary().divide(new BigDecimal(2))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    deductCost = deductCost.add(expectSalary.divide(new BigDecimal(2))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     deductReasons.add("课程结束前3分钟后至课程结束前退出教室扣除一半课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(TeachModeEnum.OFFLINE.equals(courseScheduleTeacherSalary.getCourseSchedule().getTeachMode())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    deductCost = courseScheduleTeacherSalary.getExpectSalary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    deductReasons.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    deductCost = deductCost.add(expectSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     deductReasons.add("点名时经纬度不在范围内扣除全部课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -439,9 +442,10 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(BigDecimal.ZERO.compareTo(deductCost)<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 deductReasons.add("扣除总费用:" + deductCost); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            courseScheduleTeacherSalary.setDeductionReason(StringUtils.join(deductReasons, ";")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(!CollectionUtils.isEmpty(deductReasons)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setDeductionReason(StringUtils.join(deductReasons, ";")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            BigDecimal finalSalary = courseScheduleTeacherSalary.getExpectSalary().subtract(deductCost).setScale(BigDecimal.ZERO.intValue(), BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            BigDecimal finalSalary = expectSalary.subtract(deductCost).setScale(BigDecimal.ZERO.intValue(), BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalary.setActualSalary(finalSalary.compareTo(BigDecimal.ZERO)<0?BigDecimal.ZERO:finalSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalary.setSettlementTime(now); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -579,7 +583,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     subsidy = new BigDecimal(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 teacherSalary = teacherSalary.add(subsidy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(BigDecimal.ZERO.compareTo(subsidy)<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(BigDecimal.ZERO.compareTo(subsidy)!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     deductReasons.add("教学点补贴:" + subsidy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -639,7 +643,8 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(BigDecimal.ZERO.compareTo(deductCost)<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     deductReasons.add("扣除总费用:" + deductCost); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                courseScheduleTeacherSalary.setDeductionReason(org.apache.commons.lang3.StringUtils.join(deductReasons, ";")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!CollectionUtils.isEmpty(deductReasons)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    courseScheduleTeacherSalary.setDeductionReason(org.apache.commons.lang3.StringUtils.join(deductReasons, ";")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //更新教师结算信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 courseScheduleTeacherSalary.setSubsidy(subsidy); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -694,7 +699,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 subsidy = new BigDecimal(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             teacherSalary = teacherSalary.add(subsidy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(BigDecimal.ZERO.compareTo(subsidy)<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(BigDecimal.ZERO.compareTo(subsidy)!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 deductReasons.add("教学点补贴:" + subsidy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -793,9 +798,8 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(!signInInRange&&!signOutInRange){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                deductReasons.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //签到签退GPS定位在指定距离外 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                deductCost = teacherSalary; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                deductCost = deductCost.add(teacherSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 deductReasons.add("签到签退GPS定位在指定距离外,扣除全部课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -804,7 +808,9 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(BigDecimal.ZERO.compareTo(deductCost)<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 deductReasons.add("扣除总费用:" + deductCost); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            courseScheduleTeacherSalary.setDeductionReason(org.apache.commons.lang3.StringUtils.join(deductReasons, ";")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(!CollectionUtils.isEmpty(deductReasons)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setDeductionReason(org.apache.commons.lang3.StringUtils.join(deductReasons, ";")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //更新教师结算信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalary.setSubsidy(subsidy); 
			 |