|
@@ -47,6 +47,7 @@ import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Stream;
|
|
import java.util.stream.Stream;
|
|
|
|
|
|
|
|
+import static com.ym.mec.biz.dal.enums.PracticeGroupType.*;
|
|
import static com.ym.mec.biz.dal.enums.SignInStatusEnum.*;
|
|
import static com.ym.mec.biz.dal.enums.SignInStatusEnum.*;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
@@ -491,7 +492,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(classGroup.getMusicGroupId()));
|
|
PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(classGroup.getMusicGroupId()));
|
|
if(practiceGroup == null){
|
|
if(practiceGroup == null){
|
|
throw new BizException("课程组不存在");
|
|
throw new BizException("课程组不存在");
|
|
- }else if (PracticeGroupType.FREE.equals(practiceGroup.getType())){
|
|
|
|
|
|
+ }else if (FREE.equals(practiceGroup.getType())){
|
|
SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
|
|
SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
|
|
BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
|
|
BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
|
|
courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
|
|
courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
|
|
@@ -3723,17 +3724,20 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
if(teacherSalary != null && teacherSalary.getSettlementTime() != null){
|
|
if(teacherSalary != null && teacherSalary.getSettlementTime() != null){
|
|
throw new BizException("调整失败: 课程已结算");
|
|
throw new BizException("调整失败: 课程已结算");
|
|
}
|
|
}
|
|
|
|
+
|
|
PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(oldCourseSchedule.getMusicGroupId()));
|
|
PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(oldCourseSchedule.getMusicGroupId()));
|
|
String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
|
|
String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
|
|
String startClassTime = DateUtil.format(courseSchedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
|
|
String startClassTime = DateUtil.format(courseSchedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
|
|
Date startDateTime = DateUtil.stringToDate(classDate + " " + startClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
|
|
Date startDateTime = DateUtil.stringToDate(classDate + " " + startClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
|
|
Date endDateTime = DateUtil.addMinutes(startDateTime,practiceGroup.getSingleClassMinutes());
|
|
Date endDateTime = DateUtil.addMinutes(startDateTime,practiceGroup.getSingleClassMinutes());
|
|
- if(DateUtil.minutesBetween(startDateTime,practiceGroup.getCoursesStartDate()) > 0){
|
|
|
|
- throw new BizException("调整失败: 调整时间不得早于开课时间");
|
|
|
|
- }
|
|
|
|
- if(DateUtil.minutesBetween(practiceGroup.getCoursesExpireDate(),endDateTime) > 0){
|
|
|
|
- throw new BizException("调整失败: 截止时间超过课程有效期");
|
|
|
|
- }
|
|
|
|
|
|
+ if(practiceGroup.getType() != TRIAL){
|
|
|
|
+ if(DateUtil.minutesBetween(startDateTime,practiceGroup.getCoursesStartDate()) > 0){
|
|
|
|
+ throw new BizException("调整失败: 调整时间不得早于开课时间");
|
|
|
|
+ }
|
|
|
|
+ if(DateUtil.minutesBetween(practiceGroup.getCoursesExpireDate(),endDateTime) > 0){
|
|
|
|
+ throw new BizException("调整失败: 截止时间超过课程有效期");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
if(DateUtil.daysBetween(DateUtil.stringToDate(DateUtil.format(startDateTime,DateUtil.DEFAULT_PATTERN),DateUtil.DEFAULT_PATTERN),
|
|
if(DateUtil.daysBetween(DateUtil.stringToDate(DateUtil.format(startDateTime,DateUtil.DEFAULT_PATTERN),DateUtil.DEFAULT_PATTERN),
|
|
DateUtil.stringToDate(DateUtil.format(endDateTime,DateUtil.DEFAULT_PATTERN),DateUtil.DEFAULT_PATTERN)) > 0){
|
|
DateUtil.stringToDate(DateUtil.format(endDateTime,DateUtil.DEFAULT_PATTERN),DateUtil.DEFAULT_PATTERN)) > 0){
|
|
throw new BizException("单节课时不允许跨天");
|
|
throw new BizException("单节课时不允许跨天");
|
|
@@ -3825,26 +3829,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(PracticeGroupType.FREE.equals(practiceGroup.getType())){
|
|
|
|
- List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
|
|
|
|
- if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
|
|
|
|
- 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);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ if(practiceGroup.getType() != TRIAL){
|
|
|
|
+ if(practiceGroup.getType() == FREE){
|
|
|
|
+ List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
|
|
|
|
+ if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
|
|
|
|
+ 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);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
courseScheduleModifyLogDao.insert(scheduleModifyLog);
|
|
courseScheduleModifyLogDao.insert(scheduleModifyLog);
|
|
|
|
|
|
@@ -3927,27 +3931,28 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
checkNewCourseSchedules(courseSchedules,false);
|
|
checkNewCourseSchedules(courseSchedules,false);
|
|
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(PracticeGroupType.CHARGE.equals(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, GroupType.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);
|
|
|
|
- }
|
|
|
|
- courseScheduleTeacherSalaryDao.batchUpdate(courseScheduleTeacherSalaries);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ 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, GroupType.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);
|
|
|
|
+ }
|
|
|
|
+ courseScheduleTeacherSalaryDao.batchUpdate(courseScheduleTeacherSalaries);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
courseScheduleModifyLogDao.batchInsert(scheduleModifyLogs);
|
|
courseScheduleModifyLogDao.batchInsert(scheduleModifyLogs);
|
|
|
|
|