|
@@ -222,8 +222,18 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //获取课程对应教学点补贴
|
|
|
|
+ List<Map<Long, BigDecimal>> courseSubsidyByCourses = courseScheduleTeacherSalaryDao.findCourseSubsidyByCourses(new ArrayList<>(courseScheduleIds));
|
|
|
|
+ Map<Integer, BigDecimal> courseSubsidyMap = MapUtil.convertIntegerMap(courseSubsidyByCourses);
|
|
|
|
+
|
|
someDayAgoTeacherCourseSalaryNoSettlement.forEach(courseScheduleTeacherSalary -> {
|
|
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());
|
|
Teacher teacher = idTeacherMap.get(courseScheduleTeacherSalary.getUserId());
|
|
if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseScheduleTeacherSalary.getCourseSchedule().getClassDate().compareTo(teacher.getFormalStaffDate())<0){
|
|
if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseScheduleTeacherSalary.getCourseSchedule().getClassDate().compareTo(teacher.getFormalStaffDate())<0){
|
|
courseScheduleTeacherSalary.setExpectSalary(courseScheduleTeacherSalary.getExpectSalary().multiply(new BigDecimal("0.8")));
|
|
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);
|
|
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())));
|
|
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 -> {
|
|
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());
|
|
Teacher teacher = idTeacherMap.get(courseScheduleTeacherSalary.getUserId());
|
|
if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseScheduleTeacherSalary.getCourseSchedule().getClassDate().compareTo(teacher.getFormalStaffDate())<0){
|
|
if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseScheduleTeacherSalary.getCourseSchedule().getClassDate().compareTo(teacher.getFormalStaffDate())<0){
|
|
courseScheduleTeacherSalary.setExpectSalary(courseScheduleTeacherSalary.getExpectSalary().multiply(new BigDecimal("0.8")));
|
|
courseScheduleTeacherSalary.setExpectSalary(courseScheduleTeacherSalary.getExpectSalary().multiply(new BigDecimal("0.8")));
|
|
@@ -542,6 +562,12 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
teacherSalary = BigDecimal.ZERO;
|
|
teacherSalary = BigDecimal.ZERO;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ BigDecimal subsidy = courseSubsidyMap.get(courseSchedule.getSchoolId());
|
|
|
|
+ if (Objects.isNull(subsidy)) {
|
|
|
|
+ subsidy = new BigDecimal(0);
|
|
|
|
+ }
|
|
|
|
+ teacherSalary = teacherSalary.add(subsidy);
|
|
|
|
+
|
|
//如果上课日期在转正日期之前的按80%结算
|
|
//如果上课日期在转正日期之前的按80%结算
|
|
if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseSchedule.getClassDate().compareTo(teacher.getFormalStaffDate())<0){
|
|
if(Objects.isNull(teacher)||Objects.isNull(teacher.getFormalStaffDate())||courseSchedule.getClassDate().compareTo(teacher.getFormalStaffDate())<0){
|
|
teacherSalary = teacherSalary.multiply(new BigDecimal("0.8"));
|
|
teacherSalary = teacherSalary.multiply(new BigDecimal("0.8"));
|
|
@@ -645,16 +671,16 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
teacherSalary=courseScheduleTeacherSalary.getExpectSalary();
|
|
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());
|
|
BigDecimal subsidy = courseSubsidyMap.get(courseSchedule.getSchoolId());
|
|
if (Objects.isNull(subsidy)) {
|
|
if (Objects.isNull(subsidy)) {
|
|
subsidy = new BigDecimal(0);
|
|
subsidy = new BigDecimal(0);
|
|
}
|
|
}
|
|
teacherSalary = teacherSalary.add(subsidy);
|
|
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;
|
|
BigDecimal deductCost = BigDecimal.ZERO;
|
|
List<String> deductReasons = new ArrayList<>();
|
|
List<String> deductReasons = new ArrayList<>();
|