|
@@ -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定位在指定距离外,扣除全部课酬");
|
|
|
}
|
|
|
|