|
@@ -3,9 +3,7 @@ package com.ym.mec.biz.service.impl;
|
|
import static com.ym.mec.biz.dal.enums.GroupType.MUSIC;
|
|
import static com.ym.mec.biz.dal.enums.GroupType.MUSIC;
|
|
import static com.ym.mec.biz.dal.enums.GroupType.PRACTICE;
|
|
import static com.ym.mec.biz.dal.enums.GroupType.PRACTICE;
|
|
import static com.ym.mec.biz.dal.enums.GroupType.VIP;
|
|
import static com.ym.mec.biz.dal.enums.GroupType.VIP;
|
|
-import static com.ym.mec.biz.dal.enums.PracticeGroupType.CHARGE;
|
|
|
|
-import static com.ym.mec.biz.dal.enums.PracticeGroupType.FREE;
|
|
|
|
-import static com.ym.mec.biz.dal.enums.PracticeGroupType.TRIAL;
|
|
|
|
|
|
+import static com.ym.mec.biz.dal.enums.PracticeGroupType.*;
|
|
|
|
|
|
import java.lang.reflect.InvocationTargetException;
|
|
import java.lang.reflect.InvocationTargetException;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
@@ -3325,6 +3323,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
// 删除课酬
|
|
// 删除课酬
|
|
List<Long> courseScheduleIdList = new ArrayList<Long>();
|
|
List<Long> courseScheduleIdList = new ArrayList<Long>();
|
|
courseScheduleIdList.add(courseScheduleId);
|
|
courseScheduleIdList.add(courseScheduleId);
|
|
|
|
+
|
|
|
|
+ List<CourseScheduleTeacherSalary> oldCourseScheduleTeacherSalaryList = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseScheduleIds);
|
|
|
|
+ Map<Long, List<CourseScheduleTeacherSalary>> courseSalaryListMap = new HashMap<>();
|
|
|
|
+ if(!CollectionUtils.isEmpty(oldCourseScheduleTeacherSalaryList)){
|
|
|
|
+ courseSalaryListMap = oldCourseScheduleTeacherSalaryList.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
|
|
|
|
+ }
|
|
|
|
+
|
|
courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIdList);
|
|
courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIdList);
|
|
|
|
|
|
for (Integer teacherId : newTeacherIdList) {
|
|
for (Integer teacherId : newTeacherIdList) {
|
|
@@ -3357,20 +3362,20 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
ts.setExpectSalary(teacherSalary);
|
|
ts.setExpectSalary(teacherSalary);
|
|
|
|
|
|
} else if (newCourseSchedule.getGroupType() == PRACTICE) {
|
|
} else if (newCourseSchedule.getGroupType() == PRACTICE) {
|
|
- PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(newCourseSchedule.getMusicGroupId()));
|
|
|
|
- if(Objects.isNull(practiceGroup)){
|
|
|
|
- throw new BizException("课程组信息错误");
|
|
|
|
- }
|
|
|
|
|
|
+ SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
|
|
|
|
+ BigDecimal freeTeacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
|
|
|
|
+
|
|
List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
|
|
List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
|
|
.queryByUserId(teacherId);
|
|
.queryByUserId(teacherId);
|
|
- if (teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0) {
|
|
|
|
- ts.setExpectSalary(teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary());
|
|
|
|
- } else {
|
|
|
|
- throw new BizException("请设置老师 的网管课课酬");
|
|
|
|
- }
|
|
|
|
- if(Objects.nonNull(practiceGroup)&& !PracticeGroupType.CHARGE.equals(practiceGroup.getType()) && !PracticeGroupType.COME_ON_PACKAGE.equals(practiceGroup.getType())){
|
|
|
|
- SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
|
|
|
|
- ts.setExpectSalary(new BigDecimal(practiceCourseSalaryConfig.getParanValue()));
|
|
|
|
|
|
+ List<CourseScheduleTeacherSalary> teacherSalaries = courseSalaryListMap.get(ts.getCourseScheduleId());
|
|
|
|
+ if(!CollectionUtils.isEmpty(teacherSalaries)&&freeTeacherSalary.compareTo(teacherSalaries.get(0).getExpectSalary())==0){
|
|
|
|
+ ts.setExpectSalary(freeTeacherSalary);
|
|
|
|
+ }else{
|
|
|
|
+ if (teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0) {
|
|
|
|
+ ts.setExpectSalary(teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary());
|
|
|
|
+ } else {
|
|
|
|
+ throw new BizException("请设置老师 的网管课课酬");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(ts.getExpectSalary() == null){
|
|
if(ts.getExpectSalary() == null){
|
|
@@ -4571,26 +4576,26 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
courseScheduleDao.update(oldCourseSchedule);
|
|
courseScheduleDao.update(oldCourseSchedule);
|
|
|
|
|
|
PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(oldCourseSchedule.getMusicGroupId()));
|
|
PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(oldCourseSchedule.getMusicGroupId()));
|
|
- if(practiceGroup.getType() != TRIAL){
|
|
|
|
- if(practiceGroup.getType() != FREE){
|
|
|
|
|
|
+
|
|
|
|
+ List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedule(courseScheduleId);
|
|
|
|
+ if(!CollectionUtils.isEmpty(courseScheduleTeacherSalaries)){
|
|
|
|
+ SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
|
|
|
|
+ BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
|
|
|
|
+ for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
|
|
|
|
+ courseScheduleTeacherSalary.setUserId(teacherId);
|
|
|
|
+ if(teacherSalary.compareTo(courseScheduleTeacherSalary.getExpectSalary())==0){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
|
|
List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
|
|
if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
|
|
if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
|
|
throw new BizException("请设置老师默认课酬");
|
|
throw new BizException("请设置老师默认课酬");
|
|
}
|
|
}
|
|
- courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
|
|
- }else{
|
|
|
|
- List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedule(courseScheduleId);
|
|
|
|
- if(!CollectionUtils.isEmpty(courseScheduleTeacherSalaries)){
|
|
|
|
- SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
|
|
|
|
- BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
|
|
|
|
- for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
|
|
|
|
- courseScheduleTeacherSalary.setUserId(teacherId);
|
|
|
|
- courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
|
|
|
|
- }
|
|
|
|
- courseScheduleTeacherSalaryDao.batchUpdate(courseScheduleTeacherSalaries);
|
|
|
|
- }
|
|
|
|
|
|
+ courseScheduleTeacherSalary.setExpectSalary(teacherDefaultPracticeGroupSalaries.get(0).getMainTeacherSalary());
|
|
}
|
|
}
|
|
|
|
+ courseScheduleTeacherSalaryDao.batchUpdate(courseScheduleTeacherSalaries);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
//删除申述
|
|
//删除申述
|
|
courseScheduleComplaintsDao.delByCourseScheduleId(courseScheduleId);
|
|
courseScheduleComplaintsDao.delByCourseScheduleId(courseScheduleId);
|
|
@@ -4675,25 +4680,24 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
courseScheduleDao.batchUpdate(courseSchedules);
|
|
courseScheduleDao.batchUpdate(courseSchedules);
|
|
Set<Long> courseScheduleIds = courseSchedules.stream().map(e -> e.getId()).collect(Collectors.toSet());
|
|
Set<Long> courseScheduleIds = courseSchedules.stream().map(e -> e.getId()).collect(Collectors.toSet());
|
|
if(practiceGroup.getType() != TRIAL){
|
|
if(practiceGroup.getType() != TRIAL){
|
|
- if(CHARGE == practiceGroup.getType()){
|
|
|
|
- List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
|
|
|
|
- if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
|
|
|
|
- throw new BizException("请设置老师默认课酬");
|
|
|
|
- }
|
|
|
|
- courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
|
|
- }else{
|
|
|
|
- List<CourseSchedule> groupNotStartCourses = courseScheduleDao.findGroupNotStartCourses(practiceGroupId, PRACTICE);
|
|
|
|
- if(!CollectionUtils.isEmpty(groupNotStartCourses)){
|
|
|
|
- SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
|
|
|
|
- BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
|
|
|
|
- List<Long> courseIds = groupNotStartCourses.stream().map(CourseSchedule::getId).collect(Collectors.toList());
|
|
|
|
- List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseIds);
|
|
|
|
- for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
|
|
|
|
- courseScheduleTeacherSalary.setUserId(teacherId);
|
|
|
|
- courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
|
|
|
|
|
|
+ List<CourseSchedule> groupNotStartCourses = courseScheduleDao.findGroupNotStartCourses(practiceGroupId, PRACTICE);
|
|
|
|
+ if(!CollectionUtils.isEmpty(groupNotStartCourses)){
|
|
|
|
+ SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
|
|
|
|
+ BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
|
|
|
|
+ List<Long> courseIds = groupNotStartCourses.stream().map(CourseSchedule::getId).collect(Collectors.toList());
|
|
|
|
+ List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseIds);
|
|
|
|
+ for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
|
|
|
|
+ courseScheduleTeacherSalary.setUserId(teacherId);
|
|
|
|
+ if(teacherSalary.compareTo(courseScheduleTeacherSalary.getExpectSalary())==0){
|
|
|
|
+ continue;
|
|
}
|
|
}
|
|
- courseScheduleTeacherSalaryDao.batchUpdate(courseScheduleTeacherSalaries);
|
|
|
|
|
|
+ List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
|
|
|
|
+ if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
|
|
|
|
+ throw new BizException("请设置老师默认课酬");
|
|
|
|
+ }
|
|
|
|
+ courseScheduleTeacherSalary.setExpectSalary(teacherDefaultPracticeGroupSalaries.get(0).getMainTeacherSalary());
|
|
}
|
|
}
|
|
|
|
+ courseScheduleTeacherSalaryDao.batchUpdate(courseScheduleTeacherSalaries);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|