|
@@ -415,6 +415,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
//根据教学点将当前老师的课程分组
|
|
//根据教学点将当前老师的课程分组
|
|
Map<Integer, List<CourseSchedule>> schoolCourseSchedules = currentTeacherCourseSchedules.stream()
|
|
Map<Integer, List<CourseSchedule>> schoolCourseSchedules = currentTeacherCourseSchedules.stream()
|
|
|
|
+ .filter(courseSchedule -> Objects.nonNull(courseSchedule.getSchoolId()))
|
|
.collect(Collectors.groupingBy(CourseSchedule::getSchoolId));
|
|
.collect(Collectors.groupingBy(CourseSchedule::getSchoolId));
|
|
Map<Integer, Map<Date,Integer>> schoolClassMinutesMap = new HashMap<>();
|
|
Map<Integer, Map<Date,Integer>> schoolClassMinutesMap = new HashMap<>();
|
|
for (Integer schoolId : schoolCourseSchedules.keySet()) {
|
|
for (Integer schoolId : schoolCourseSchedules.keySet()) {
|
|
@@ -453,7 +454,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
CourseSchedule courseSchedule = courseScheduleIdMap.get(courseScheduleTeacherSalary.getCourseScheduleId());
|
|
CourseSchedule courseSchedule = courseScheduleIdMap.get(courseScheduleTeacherSalary.getCourseScheduleId());
|
|
Map<Integer, Map<Date,Integer>> schoolClassMinutesMap = teacherClassMinutesMap.get(courseScheduleTeacherSalary.getUserId());
|
|
Map<Integer, Map<Date,Integer>> schoolClassMinutesMap = teacherClassMinutesMap.get(courseScheduleTeacherSalary.getUserId());
|
|
Map<Date,Integer> classDateMinutes = schoolClassMinutesMap.get(courseSchedule.getSchoolId());
|
|
Map<Date,Integer> classDateMinutes = schoolClassMinutesMap.get(courseSchedule.getSchoolId());
|
|
- Integer schoolClassMinutes = classDateMinutes.get(courseSchedule.getClassDate());
|
|
|
|
|
|
+
|
|
//结算方式
|
|
//结算方式
|
|
String settlementType = musicGroupSettlementsMap.get(courseScheduleTeacherSalary.getCourseScheduleId());
|
|
String settlementType = musicGroupSettlementsMap.get(courseScheduleTeacherSalary.getCourseScheduleId());
|
|
if(StringUtils.isEmpty(settlementType)){
|
|
if(StringUtils.isEmpty(settlementType)){
|
|
@@ -469,9 +470,10 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
//当前课程的时长
|
|
//当前课程的时长
|
|
int duration = DateUtil.minutesBetween(courseSchedule.getStartClassTime(), courseSchedule.getEndClassTime());
|
|
int duration = DateUtil.minutesBetween(courseSchedule.getStartClassTime(), courseSchedule.getEndClassTime());
|
|
//如果是单技课或者合奏课并且结算方式为3.0
|
|
//如果是单技课或者合奏课并且结算方式为3.0
|
|
- if (settlementType.equals(SalarySettlementTypeEnum.GRADIENT_SALARY.getCode())
|
|
|
|
|
|
+ if (Objects.nonNull(classDateMinutes)&&settlementType.equals(SalarySettlementTypeEnum.GRADIENT_SALARY.getCode())
|
|
&&(courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.SINGLE)
|
|
&&(courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.SINGLE)
|
|
|| courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.MIX))) {
|
|
|| courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.MIX))) {
|
|
|
|
+ Integer schoolClassMinutes = classDateMinutes.get(courseSchedule.getClassDate());
|
|
if (schoolClassMinutes >= settlementClassMinutes && duration < singleClassTime) {
|
|
if (schoolClassMinutes >= settlementClassMinutes && duration < singleClassTime) {
|
|
duration = singleClassTime;
|
|
duration = singleClassTime;
|
|
durationIsChange = true;
|
|
durationIsChange = true;
|