|  | @@ -282,7 +282,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              if(CollectionUtils.isEmpty(courseTeacherAttendances)||Objects.isNull(teacherAttendance.getSignInStatus())){
 | 
	
		
			
				|  |  |                  //未签到扣除全部课酬
 | 
	
		
			
				|  |  | -                deductCost = deductCost.add(expectSalary);
 | 
	
		
			
				|  |  | +                deductCost = deductCost.add(expectSalary.abs());
 | 
	
		
			
				|  |  |                  deductReasons.add("未签到扣除全部课酬");
 | 
	
		
			
				|  |  |              }else if(YesOrNoEnum.NO.equals(teacherAttendance.getSignInStatus())){
 | 
	
		
			
				|  |  |                  //异常签到
 | 
	
	
		
			
				|  | @@ -290,18 +290,18 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 | 
	
		
			
				|  |  |                  float signCourseTimeBetween = (float)signCourseTimeBetweenSeconds/(float)60;
 | 
	
		
			
				|  |  |                  if(signCourseTimeBetween<=1&&signCourseTimeBetween>-3){
 | 
	
		
			
				|  |  |                      //课程开始前1分钟至开始后3分钟进入教室
 | 
	
		
			
				|  |  | -                    deductCost = deductCost.add(expectSalary.divide(new BigDecimal(2)));
 | 
	
		
			
				|  |  | +                    deductCost = deductCost.add(expectSalary.divide(new BigDecimal(2)).abs());
 | 
	
		
			
				|  |  |                      deductReasons.add("课程开始前1分钟至开始后3分钟进入教室扣除一半课酬");
 | 
	
		
			
				|  |  |                  }else if(signCourseTimeBetween<=-3){
 | 
	
		
			
				|  |  |                      //课程开始后3分钟后进入教室
 | 
	
		
			
				|  |  | -                    deductCost = deductCost.add(expectSalary);
 | 
	
		
			
				|  |  | +                    deductCost = deductCost.add(expectSalary.abs());
 | 
	
		
			
				|  |  |                      deductReasons.add("课程开始后3分钟进入教室扣除全部课酬");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if(CollectionUtils.isEmpty(courseTeacherAttendances)||Objects.isNull(teacherAttendance.getSignOutStatus())){
 | 
	
		
			
				|  |  |                  //未签退扣除全部课酬
 | 
	
		
			
				|  |  | -                deductCost = deductCost.add(expectSalary);
 | 
	
		
			
				|  |  | +                deductCost = deductCost.add(expectSalary.abs());
 | 
	
		
			
				|  |  |                  deductReasons.add("未签退扣除全部课酬");
 | 
	
		
			
				|  |  |              }else if(YesOrNoEnum.NO.equals(teacherAttendance.getSignOutStatus())){
 | 
	
		
			
				|  |  |                  //异常签退
 | 
	
	
		
			
				|  | @@ -310,11 +310,11 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  if(signOutCourseTimeBetween>3){
 | 
	
		
			
				|  |  |                      //课程开始前20分钟至开始后3分钟退出教室
 | 
	
		
			
				|  |  | -                    deductCost = deductCost.add(expectSalary);
 | 
	
		
			
				|  |  | +                    deductCost = deductCost.add(expectSalary.abs());
 | 
	
		
			
				|  |  |                      deductReasons.add("课程结束前3分钟之前退出教室扣除全部课酬");
 | 
	
		
			
				|  |  |                  }else if(signOutCourseTimeBetween<=3&&signOutCourseTimeBetween>0){
 | 
	
		
			
				|  |  |                      //课程结束前3分钟后至课程结束前退出教室
 | 
	
		
			
				|  |  | -                    deductCost = deductCost.add(expectSalary.divide(new BigDecimal(2)));
 | 
	
		
			
				|  |  | +                    deductCost = deductCost.add(expectSalary.divide(new BigDecimal(2)).abs());
 | 
	
		
			
				|  |  |                      deductReasons.add("课程结束前3分钟后至课程结束前退出教室扣除一半课酬");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -408,7 +408,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 | 
	
		
			
				|  |  |  //            TeacherAttendance teacherAttendance = courseTeacherAttendances.get(0);
 | 
	
		
			
				|  |  |              if(CollectionUtils.isEmpty(courseTeacherAttendances)||Objects.isNull(courseTeacherAttendances.get(0).getSignInStatus())){
 | 
	
		
			
				|  |  |                  //未签到扣除全部课酬
 | 
	
		
			
				|  |  | -                deductCost = deductCost.add(expectSalary);
 | 
	
		
			
				|  |  | +                deductCost = deductCost.add(expectSalary.abs());
 | 
	
		
			
				|  |  |                  deductReasons.add("未签到扣除全部课酬");
 | 
	
		
			
				|  |  |              }else if(YesOrNoEnum.NO.equals(courseTeacherAttendances.get(0).getSignInStatus())&&TeachModeEnum.ONLINE.equals(courseScheduleTeacherSalary.getCourseSchedule().getTeachMode())){
 | 
	
		
			
				|  |  |                  //异常签到
 | 
	
	
		
			
				|  | @@ -416,21 +416,21 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 | 
	
		
			
				|  |  |                  float signCourseTimeBetween = (float)signCourseTimeBetweenSeconds/(float)60;
 | 
	
		
			
				|  |  |                  if(signCourseTimeBetween<=1&&signCourseTimeBetween>-3){
 | 
	
		
			
				|  |  |                      //课程开始前1分钟至开始后3分钟进入教室
 | 
	
		
			
				|  |  | -                    deductCost = deductCost.add(expectSalary.divide(new BigDecimal(2)));
 | 
	
		
			
				|  |  | +                    deductCost = deductCost.add(expectSalary.divide(new BigDecimal(2)).abs());
 | 
	
		
			
				|  |  |                      deductReasons.add("课程开始前1分钟至开始后3分钟进入教室扣除一半课酬");
 | 
	
		
			
				|  |  |                  }else if(signCourseTimeBetween<=-3){
 | 
	
		
			
				|  |  |                      //课程开始后3分钟后进入教室
 | 
	
		
			
				|  |  | -                    deductCost = deductCost.add(expectSalary);
 | 
	
		
			
				|  |  | +                    deductCost = deductCost.add(expectSalary.abs());
 | 
	
		
			
				|  |  |                      deductReasons.add("课程开始后3分钟进入教室扣除全部课酬");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }else if(YesOrNoEnum.NO.equals(courseTeacherAttendances.get(0).getSignInStatus())&&TeachModeEnum.OFFLINE.equals(courseScheduleTeacherSalary.getCourseSchedule().getTeachMode())){
 | 
	
		
			
				|  |  | -                deductCost = deductCost.add(expectSalary);
 | 
	
		
			
				|  |  | +                deductCost = deductCost.add(expectSalary.abs());
 | 
	
		
			
				|  |  |                  deductReasons.add("点名时经纬度不在范围内扣除全部课酬");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if(CollectionUtils.isEmpty(courseTeacherAttendances)||Objects.isNull(courseTeacherAttendances.get(0).getSignOutStatus())){
 | 
	
		
			
				|  |  |                  //未签退扣除全部课酬
 | 
	
		
			
				|  |  | -                deductCost = deductCost.add(expectSalary);
 | 
	
		
			
				|  |  | +                deductCost = deductCost.add(expectSalary.abs());
 | 
	
		
			
				|  |  |                  deductReasons.add("未签退扣除全部课酬");
 | 
	
		
			
				|  |  |              }else if(YesOrNoEnum.NO.equals(courseTeacherAttendances.get(0).getSignOutStatus())&&TeachModeEnum.ONLINE.equals(courseScheduleTeacherSalary.getCourseSchedule().getTeachMode())){
 | 
	
		
			
				|  |  |                  //异常签退
 | 
	
	
		
			
				|  | @@ -439,15 +439,15 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  if(signOutCourseTimeBetween>3){
 | 
	
		
			
				|  |  |                      //课程开始前20分钟至开始后3分钟退出教室
 | 
	
		
			
				|  |  | -                    deductCost = deductCost.add(expectSalary);
 | 
	
		
			
				|  |  | +                    deductCost = deductCost.add(expectSalary.abs());
 | 
	
		
			
				|  |  |                      deductReasons.add("课程结束前3分钟之前退出教室扣除全部课酬");
 | 
	
		
			
				|  |  |                  }else if(signOutCourseTimeBetween<=3&&signOutCourseTimeBetween>0){
 | 
	
		
			
				|  |  |                      //课程结束前3分钟后至课程结束前退出教室
 | 
	
		
			
				|  |  | -                    deductCost = deductCost.add(expectSalary.divide(new BigDecimal(2)));
 | 
	
		
			
				|  |  | +                    deductCost = deductCost.add(expectSalary.divide(new BigDecimal(2)).abs());
 | 
	
		
			
				|  |  |                      deductReasons.add("课程结束前3分钟后至课程结束前退出教室扣除一半课酬");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }else if(YesOrNoEnum.NO.equals(courseTeacherAttendances.get(0).getSignInStatus())&&TeachModeEnum.OFFLINE.equals(courseScheduleTeacherSalary.getCourseSchedule().getTeachMode())){
 | 
	
		
			
				|  |  | -                deductCost = deductCost.add(expectSalary);
 | 
	
		
			
				|  |  | +                deductCost = deductCost.add(expectSalary.abs());
 | 
	
		
			
				|  |  |                  deductReasons.add("点名时经纬度不在范围内扣除全部课酬");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -611,7 +611,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 | 
	
		
			
				|  |  |                  TeacherAttendance teacherAttendance = courseTeacherAttendances.get(0);
 | 
	
		
			
				|  |  |                  if(CollectionUtils.isEmpty(courseTeacherAttendances)||Objects.isNull(teacherAttendance.getSignInStatus())){
 | 
	
		
			
				|  |  |                      //未签到扣除全部课酬
 | 
	
		
			
				|  |  | -                    deductCost = deductCost.add(teacherSalary);
 | 
	
		
			
				|  |  | +                    deductCost = deductCost.add(teacherSalary.abs());
 | 
	
		
			
				|  |  |                      deductReasons.add("未签到扣除全部课酬");
 | 
	
		
			
				|  |  |                  }else if(YesOrNoEnum.NO.equals(teacherAttendance.getSignInStatus())){
 | 
	
		
			
				|  |  |                      //异常签到
 | 
	
	
		
			
				|  | @@ -619,18 +619,18 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 | 
	
		
			
				|  |  |                      float signCourseTimeBetween = (float)signCourseTimeBetweenSeconds/(float)60;
 | 
	
		
			
				|  |  |                      if(signCourseTimeBetween<=1&&signCourseTimeBetween>-3){
 | 
	
		
			
				|  |  |                          //课程开始前1分钟至开始后3分钟进入教室
 | 
	
		
			
				|  |  | -                        deductCost = deductCost.add(teacherSalary.divide(new BigDecimal(2)));
 | 
	
		
			
				|  |  | +                        deductCost = deductCost.add(teacherSalary.divide(new BigDecimal(2)).abs());
 | 
	
		
			
				|  |  |                          deductReasons.add("课程开始前1分钟至开始后3分钟进入教室扣除一半课酬");
 | 
	
		
			
				|  |  |                      }else if(signCourseTimeBetween<=-3){
 | 
	
		
			
				|  |  |                          //课程开始后3分钟后进入教室
 | 
	
		
			
				|  |  | -                        deductCost = deductCost.add(teacherSalary);
 | 
	
		
			
				|  |  | +                        deductCost = deductCost.add(teacherSalary.abs());
 | 
	
		
			
				|  |  |                          deductReasons.add("课程开始后3分钟进入教室扣除全部课酬");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  if(CollectionUtils.isEmpty(courseTeacherAttendances)||Objects.isNull(teacherAttendance.getSignOutStatus())){
 | 
	
		
			
				|  |  |                      //未签退扣除一半课酬
 | 
	
		
			
				|  |  | -                    deductCost = deductCost.add(teacherSalary.divide(new BigDecimal(2)));
 | 
	
		
			
				|  |  | +                    deductCost = deductCost.add(teacherSalary.divide(new BigDecimal(2)).abs());
 | 
	
		
			
				|  |  |                      deductReasons.add("未签退扣除一半课酬");
 | 
	
		
			
				|  |  |                  }else if(YesOrNoEnum.NO.equals(teacherAttendance.getSignOutStatus())){
 | 
	
		
			
				|  |  |                      //异常签退
 | 
	
	
		
			
				|  | @@ -639,11 +639,11 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      if(signOutCourseTimeBetween>3){
 | 
	
		
			
				|  |  |                          //课程开始前20分钟至开始后3分钟退出教室
 | 
	
		
			
				|  |  | -                        deductCost = deductCost.add(teacherSalary);
 | 
	
		
			
				|  |  | +                        deductCost = deductCost.add(teacherSalary.abs());
 | 
	
		
			
				|  |  |                          deductReasons.add("课程结束前3分钟之前退出教室扣除全部课酬");
 | 
	
		
			
				|  |  |                      }else if(signOutCourseTimeBetween<=3&&signOutCourseTimeBetween>0){
 | 
	
		
			
				|  |  |                          //课程结束前3分钟后至课程结束前退出教室
 | 
	
		
			
				|  |  | -                        deductCost = deductCost.add(teacherSalary.divide(new BigDecimal(2)));
 | 
	
		
			
				|  |  | +                        deductCost = deductCost.add(teacherSalary.divide(new BigDecimal(2)).abs());
 | 
	
		
			
				|  |  |                          deductReasons.add("课程结束前3分钟后至课程结束前退出教室扣除一半课酬");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -736,7 +736,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if(Objects.isNull(teacherAttendance)||Objects.isNull(teacherAttendance.getSignInStatus())){
 | 
	
		
			
				|  |  |                  //无签到记录扣除全部课酬
 | 
	
		
			
				|  |  | -                deductCost = deductCost.add(teacherSalary);
 | 
	
		
			
				|  |  | +                deductCost = deductCost.add(teacherSalary.abs());
 | 
	
		
			
				|  |  |                  deductReasons.add("未签到扣除全部课酬");
 | 
	
		
			
				|  |  |              }else if(YesOrNoEnum.NO.equals(teacherAttendance.getSignInStatus())){
 | 
	
		
			
				|  |  |                  int signCourseTimeBetweenSeconds = DateUtil.secondsBetween(teacherAttendance.getSignInTime(), courseSchedule.getStartClassTime());
 | 
	
	
		
			
				|  | @@ -747,11 +747,11 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 | 
	
		
			
				|  |  |                      deductReasons.add("未提前20分钟打卡扣除50元");
 | 
	
		
			
				|  |  |                  }else if(signCourseTimeBetween<=0&&signCourseTimeBetween>-30){
 | 
	
		
			
				|  |  |                      //迟到30分钟内扣除一半课酬
 | 
	
		
			
				|  |  | -                    deductCost = deductCost.add(teacherSalary.divide(new BigDecimal(2)));
 | 
	
		
			
				|  |  | +                    deductCost = deductCost.add(teacherSalary.divide(new BigDecimal(2)).abs());
 | 
	
		
			
				|  |  |                      deductReasons.add("迟到30分钟内扣除一半课酬");
 | 
	
		
			
				|  |  |                  }else if(signCourseTimeBetween<=-30){
 | 
	
		
			
				|  |  |                      //迟到30分钟及以上扣除全部课酬
 | 
	
		
			
				|  |  | -                    deductCost = deductCost.add(teacherSalary);
 | 
	
		
			
				|  |  | +                    deductCost = deductCost.add(teacherSalary.abs());
 | 
	
		
			
				|  |  |                      deductReasons.add("迟到30分钟及以上扣除全部课酬");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  if(!signInInRange){
 | 
	
	
		
			
				|  | @@ -765,14 +765,14 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if(Objects.isNull(teacherAttendance)||Objects.isNull(teacherAttendance.getSignOutStatus())){
 | 
	
		
			
				|  |  |                  //未签退扣除全部课酬
 | 
	
		
			
				|  |  | -                deductCost = deductCost.add(teacherSalary);
 | 
	
		
			
				|  |  | +                deductCost = deductCost.add(teacherSalary.abs());
 | 
	
		
			
				|  |  |                  deductReasons.add("未签退扣除全部课酬");
 | 
	
		
			
				|  |  |              }else if(YesOrNoEnum.NO.equals(teacherAttendance.getSignOutStatus())){
 | 
	
		
			
				|  |  |                  int signOutCourseTimeBetweenSeconds = DateUtil.secondsBetween(teacherAttendance.getSignOutTime(), courseSchedule.getEndClassTime());
 | 
	
		
			
				|  |  |                  float signOutCourseTimeBetween = (float)signOutCourseTimeBetweenSeconds/(float) 60;
 | 
	
		
			
				|  |  |                  if(signOutCourseTimeBetween>3){
 | 
	
		
			
				|  |  |                      //早退
 | 
	
		
			
				|  |  | -                    deductCost = deductCost.add(teacherSalary);
 | 
	
		
			
				|  |  | +                    deductCost = deductCost.add(teacherSalary.abs());
 | 
	
		
			
				|  |  |                      deductReasons.add("早退扣除全部课酬");
 | 
	
		
			
				|  |  |                  }else if((signOutCourseTimeBetween<=3&&signOutCourseTimeBetween>0)||signOutCourseTimeBetween<=3600){
 | 
	
		
			
				|  |  |                      //异常签退,扣除50元
 | 
	
	
		
			
				|  | @@ -789,7 +789,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if(!signInInRange&&!signOutInRange){
 | 
	
		
			
				|  |  |                  //签到签退GPS定位在指定距离外
 | 
	
		
			
				|  |  | -                deductCost = deductCost.add(teacherSalary);
 | 
	
		
			
				|  |  | +                deductCost = deductCost.add(teacherSalary.abs());
 | 
	
		
			
				|  |  |                  deductReasons.add("签到签退GPS定位在指定距离外,扣除全部课酬");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 |