|
@@ -511,7 +511,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE_VIP);
|
|
|
+ SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE);
|
|
|
double attendanceRange = 0;
|
|
|
if(Objects.nonNull(sysConfig)){
|
|
|
attendanceRange = Double.valueOf(sysConfig.getParanValue());
|
|
@@ -2018,13 +2018,20 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
idSchoolMap = schools.stream().collect(Collectors.toMap(School::getId, s->s, (s1, s2)->s1));
|
|
|
}
|
|
|
|
|
|
- //签到时间范围
|
|
|
- SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE_VIP);
|
|
|
+ //签到GPS范围
|
|
|
+ SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE);
|
|
|
double attendanceRange = 0;
|
|
|
if(Objects.nonNull(sysConfig)){
|
|
|
attendanceRange = Double.valueOf(sysConfig.getParanValue());
|
|
|
}
|
|
|
|
|
|
+ //签到GPS范围VIP
|
|
|
+ SysConfig vipSysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE_VIP);
|
|
|
+ double vipAttendanceRange = 0;
|
|
|
+ if(Objects.nonNull(vipSysConfig)){
|
|
|
+ vipAttendanceRange = Double.valueOf(vipSysConfig.getParanValue());
|
|
|
+ }
|
|
|
+
|
|
|
//教师签到记录
|
|
|
List<TeacherAttendance> allTeacherAttendances = teacherAttendanceDao.findByCourseSchedules(courseIds);
|
|
|
Map<Long, List<TeacherAttendance>> teacherCourseAttendanceMap = allTeacherAttendances.stream().filter(c->teacherId.equals(c.getTeacherId())).collect(Collectors.groupingBy(TeacherAttendance::getCourseScheduleId));
|
|
@@ -2049,9 +2056,8 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
calMusicCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, attendanceRange);
|
|
|
break;
|
|
|
case VIP:
|
|
|
- calVipCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, attendanceRange);
|
|
|
+ calVipCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, vipAttendanceRange);
|
|
|
break;
|
|
|
-
|
|
|
case PRACTICE:
|
|
|
calPracticeTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher);
|
|
|
break;
|
|
@@ -2108,13 +2114,20 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
idSchoolMap = schools.stream().collect(Collectors.toMap(School::getId, s->s, (s1, s2)->s1));
|
|
|
}
|
|
|
|
|
|
- //签到时间范围
|
|
|
- SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE_VIP);
|
|
|
+ //签到GPS范围
|
|
|
+ SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE);
|
|
|
double attendanceRange = 0;
|
|
|
if(Objects.nonNull(sysConfig)){
|
|
|
attendanceRange = Double.valueOf(sysConfig.getParanValue());
|
|
|
}
|
|
|
|
|
|
+ //签到GPS范围VIP
|
|
|
+ SysConfig vipSysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE_VIP);
|
|
|
+ double vipAttendanceRange = 0;
|
|
|
+ if(Objects.nonNull(vipSysConfig)){
|
|
|
+ vipAttendanceRange = Double.valueOf(vipSysConfig.getParanValue());
|
|
|
+ }
|
|
|
+
|
|
|
//教师签到记录
|
|
|
List<TeacherAttendance> allTeacherAttendances = teacherAttendanceDao.findByCourseSchedules(courseIds);
|
|
|
Map<Long, List<TeacherAttendance>> teacherCourseAttendanceMap = allTeacherAttendances.stream().filter(c->queryInfo.getTeacherId().equals(c.getTeacherId())).collect(Collectors.groupingBy(TeacherAttendance::getCourseScheduleId));
|
|
@@ -2146,7 +2159,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
calMusicCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, attendanceRange);
|
|
|
break;
|
|
|
case VIP:
|
|
|
- calVipCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, attendanceRange);
|
|
|
+ calVipCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, vipAttendanceRange);
|
|
|
break;
|
|
|
case PRACTICE:
|
|
|
calPracticeTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher);
|
|
@@ -2208,19 +2221,25 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
startDate = startDate.withMonth(3);
|
|
|
}
|
|
|
|
|
|
+ result.put("total", BigDecimal.ZERO);
|
|
|
+ result.put("salary", BigDecimal.ZERO);
|
|
|
+ result.put("data", Collections.emptyList());
|
|
|
+
|
|
|
if(startDate.compareTo(minDate)<0){
|
|
|
- result.put("total", BigDecimal.ZERO);
|
|
|
- result.put("salary", BigDecimal.ZERO);
|
|
|
- result.put("data", Collections.emptyList());
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
List<LocalDateBigDecimalMapDto> monthIncomeMapList = courseScheduleTeacherSalaryDao.teacherIncomeStat(teacherId, year, month);
|
|
|
|
|
|
+ if(CollectionUtils.isEmpty(monthIncomeMapList)){
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
if(Objects.isNull(month)){
|
|
|
Set<String> months = monthIncomeMapList.stream().map(e -> DateUtil.dateToString(e.getDate(), "yyyy-MM")).collect(Collectors.toSet());
|
|
|
|
|
|
LocalDate now = LocalDate.now();
|
|
|
+ now = now.plusMonths(-1);
|
|
|
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM");
|
|
|
while (startDate.compareTo(now)<=0&&year.equals(startDate.get(ChronoField.YEAR))){
|
|
|
String dateStr = dateFormatter.format(startDate);
|