|
@@ -168,12 +168,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<Date> getCourseScheduleDateByTeacher(Date month) {
|
|
|
|
|
|
+ public List<Date> getCourseScheduleDateByTeacher(Date month,String type) {
|
|
SysUser user = sysUserFeignService.queryUserInfo();
|
|
SysUser user = sysUserFeignService.queryUserInfo();
|
|
if(null==user){
|
|
if(null==user){
|
|
throw new BizException("获取用户信息失败");
|
|
throw new BizException("获取用户信息失败");
|
|
}
|
|
}
|
|
- return courseScheduleDao.getTeacherCourseScheduleDate(user.getId().longValue(),month);
|
|
|
|
|
|
+ return courseScheduleDao.getTeacherCourseScheduleDate(user.getId().longValue(),month,type);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -190,14 +190,15 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
if(Objects.isNull(classDate)){
|
|
if(Objects.isNull(classDate)){
|
|
throw new BizException("请选择上课日期!");
|
|
throw new BizException("请选择上课日期!");
|
|
}
|
|
}
|
|
-
|
|
|
|
SysUser user = sysUserFeignService.queryUserInfo();
|
|
SysUser user = sysUserFeignService.queryUserInfo();
|
|
if(null==user){
|
|
if(null==user){
|
|
throw new BizException("请登录");
|
|
throw new BizException("请登录");
|
|
}
|
|
}
|
|
SysConfig vip_appeal_days_range = sysConfigDao.findByParamName("vip_appeal_days_range");
|
|
SysConfig vip_appeal_days_range = sysConfigDao.findByParamName("vip_appeal_days_range");
|
|
- Map<String,Object> result=new HashMap<>();
|
|
|
|
|
|
+ SysConfig advance_leave_hours = sysConfigDao.findByParamName("advance_leave_hours");
|
|
|
|
+ Map<String,Object> result=new HashMap<>(3);
|
|
result.put("vipAppealDaysRange",vip_appeal_days_range.getParanValue());
|
|
result.put("vipAppealDaysRange",vip_appeal_days_range.getParanValue());
|
|
|
|
+ result.put("advanceLeaveHours",Integer.parseInt(advance_leave_hours.getParanValue()));
|
|
result.put("list",courseScheduleDao.getStudentCourseSchedulesWithDate(classDate,user.getId().longValue()));
|
|
result.put("list",courseScheduleDao.getStudentCourseSchedulesWithDate(classDate,user.getId().longValue()));
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
@@ -233,11 +234,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(Integer userId,Date classDate) {
|
|
|
|
|
|
+ public List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(Integer userId,Date classDate,String type) {
|
|
if(Objects.isNull(classDate)){
|
|
if(Objects.isNull(classDate)){
|
|
throw new BizException("请选择上课日期!");
|
|
throw new BizException("请选择上课日期!");
|
|
}
|
|
}
|
|
- List<CourseScheduleDto> teacherCourseSchedulesWithDate = courseScheduleDao.getTeacherCourseSchedulesWithDate(classDate, userId.longValue());
|
|
|
|
|
|
+ List<CourseScheduleDto> teacherCourseSchedulesWithDate = courseScheduleDao.getTeacherCourseSchedulesWithDate(classDate, userId.longValue(),type);
|
|
teacherCourseSchedulesWithDate.forEach(courseScheduleDto -> {
|
|
teacherCourseSchedulesWithDate.forEach(courseScheduleDto -> {
|
|
if(Objects.nonNull(courseScheduleDto.getClassGroupId())){
|
|
if(Objects.nonNull(courseScheduleDto.getClassGroupId())){
|
|
String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(courseScheduleDto.getClassGroupId().longValue());
|
|
String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(courseScheduleDto.getClassGroupId().longValue());
|
|
@@ -331,6 +332,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
throw new BizException("课程信息错误");
|
|
throw new BizException("课程信息错误");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ Date now=new Date();
|
|
|
|
+ //明天日期
|
|
|
|
+ Date tomorrow = DateUtil.addDays1(now, 1);
|
|
|
|
+
|
|
//需要生成课程课酬的课程计划
|
|
//需要生成课程课酬的课程计划
|
|
List<CourseSchedule> needCreateCourseScheduleTeacherSalaryCourse=new ArrayList<>();
|
|
List<CourseSchedule> needCreateCourseScheduleTeacherSalaryCourse=new ArrayList<>();
|
|
|
|
|
|
@@ -340,8 +345,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
Map<Long, CourseSchedule> oldCourseSchedules = oldCourseScheduleList.stream().collect(Collectors.toMap(CourseSchedule::getId,courseSchedule -> courseSchedule));
|
|
Map<Long, CourseSchedule> oldCourseSchedules = oldCourseScheduleList.stream().collect(Collectors.toMap(CourseSchedule::getId,courseSchedule -> courseSchedule));
|
|
newCourseSchedules.forEach(newCourseSchedule -> {
|
|
newCourseSchedules.forEach(newCourseSchedule -> {
|
|
|
|
+
|
|
|
|
+ if(newCourseSchedule.getStartClassTime().before(tomorrow)){
|
|
|
|
+ throw new BizException("调整时间必须为明天以后");
|
|
|
|
+ }
|
|
|
|
+
|
|
CourseSchedule oldCourseSchedule = oldCourseSchedules.get(newCourseSchedule.getId());
|
|
CourseSchedule oldCourseSchedule = oldCourseSchedules.get(newCourseSchedule.getId());
|
|
|
|
|
|
|
|
+ if(oldCourseSchedule.getStartClassTime().before(tomorrow)){
|
|
|
|
+ throw new BizException("不能调整今天及以前的课程");
|
|
|
|
+ }
|
|
|
|
+
|
|
ArrayList<Date> dates = new ArrayList<>();
|
|
ArrayList<Date> dates = new ArrayList<>();
|
|
dates.add(newCourseSchedule.getClassDate());
|
|
dates.add(newCourseSchedule.getClassDate());
|
|
List<CourseSchedule> coursesByDates = courseScheduleDao.findOverLapCoursesInDay(dates,newCourseSchedule.getStartClassTime(),newCourseSchedule.getEndClassTime());
|
|
List<CourseSchedule> coursesByDates = courseScheduleDao.findOverLapCoursesInDay(dates,newCourseSchedule.getStartClassTime(),newCourseSchedule.getEndClassTime());
|
|
@@ -350,7 +364,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
courseScheduleDao.update(newCourseSchedule);
|
|
courseScheduleDao.update(newCourseSchedule);
|
|
}else{
|
|
}else{
|
|
coursesByDates.forEach(courseSchedule -> {
|
|
coursesByDates.forEach(courseSchedule -> {
|
|
- if(courseSchedule.getTeacherId().equals(newCourseSchedule.getTeacherId())){
|
|
|
|
|
|
+ if(courseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){
|
|
//存在时间重叠,需要前端重新调整
|
|
//存在时间重叠,需要前端重新调整
|
|
throw new BizException("所选教师在当天课程安排上存在重叠!");
|
|
throw new BizException("所选教师在当天课程安排上存在重叠!");
|
|
}
|
|
}
|
|
@@ -367,7 +381,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
List<Integer> beReplaceTeacherIds=new ArrayList<>();
|
|
List<Integer> beReplaceTeacherIds=new ArrayList<>();
|
|
|
|
|
|
if(oldCourseSchedule.getType()== CourseSchedule.CourseScheduleType.VIP){
|
|
if(oldCourseSchedule.getType()== CourseSchedule.CourseScheduleType.VIP){
|
|
- if(Objects.isNull(oldCourseSchedule.getActualTeacherId())||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){
|
|
|
|
|
|
+ if(Objects.isNull(oldCourseSchedule.getActualTeacherId())
|
|
|
|
+ ||(!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())
|
|
|
|
+ &&Objects.nonNull(newCourseSchedule.getActualTeacherId()))){
|
|
VipGroup byCourseSchedule = vipGroupDao.findByCourseSchedule(newCourseSchedule.getId().intValue());
|
|
VipGroup byCourseSchedule = vipGroupDao.findByCourseSchedule(newCourseSchedule.getId().intValue());
|
|
TeacherDefaultVipGroupSalary byTeacherAndCategory = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(newCourseSchedule.getActualTeacherId(), byCourseSchedule.getVipGroupCategoryId());
|
|
TeacherDefaultVipGroupSalary byTeacherAndCategory = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(newCourseSchedule.getActualTeacherId(), byCourseSchedule.getVipGroupCategoryId());
|
|
List<CourseSchedule> courseSchedules=new ArrayList<>();
|
|
List<CourseSchedule> courseSchedules=new ArrayList<>();
|
|
@@ -381,7 +397,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}else{
|
|
}else{
|
|
- if(Objects.isNull(oldCourseSchedule.getActualTeacherId())||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){
|
|
|
|
|
|
+ if(Objects.isNull(oldCourseSchedule.getActualTeacherId())
|
|
|
|
+ ||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){
|
|
if(Objects.nonNull(oldCourseSchedule.getActualTeacherId())){
|
|
if(Objects.nonNull(oldCourseSchedule.getActualTeacherId())){
|
|
beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
|
|
beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
|
|
}
|
|
}
|
|
@@ -426,7 +443,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
}
|
|
}
|
|
});
|
|
});
|
|
//生成修改后的教师课酬
|
|
//生成修改后的教师课酬
|
|
- classGroupTeacherMapperService.createCourseScheduleTeacherSalary(needCreateCourseScheduleTeacherSalaryCourse);
|
|
|
|
|
|
+ if(!CollectionUtils.isEmpty(needCreateCourseScheduleTeacherSalaryCourse)){
|
|
|
|
+ classGroupTeacherMapperService.createCourseScheduleTeacherSalary(needCreateCourseScheduleTeacherSalaryCourse);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|