فهرست منبع

1、课程调整时排除自动补签记录
2、删除请假时班级学生状态更新代码
3、小课过期课程调整生成后加入学生缴费信息
4、vip课点名添加开课前时间限制
5、学生端可购买小课获取条件调整
6、学员请假课程调整限制
7、点名列表兼容sys_user无数据
8、兼容无教学点

Joburgess 5 سال پیش
والد
کامیت
27df89ec9a
1فایلهای تغییر یافته به همراه6 افزوده شده و 1 حذف شده
  1. 6 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -1423,16 +1423,21 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         List<Map<Long, Integer>> courseLeaveStudentNumMaps = studentAttendanceDao.countCourseLeaveStudentNumWithFourHoursAgo(newCourseScheduleIds, advanceLeaveHours);
         Map<Long,Long> courseLeaveStudentNumMap = MapUtil.convertIntegerMap((courseLeaveStudentNumMaps));
 
+        List<Map<Integer, Integer>> classGroupStudentNumMaps = classGroupStudentMapperDao.countClassGroupsStudentNum(classGroupIds, ClassGroupStudentStatusEnum.NORMAL);
+        Map<Integer, Long> classGroupStudentNumMap = MapUtil.convertIntegerMap(classGroupStudentNumMaps);
+
         newCourseSchedules.forEach(newCourseSchedule -> {
 
             CourseSchedule oldCourseSchedule = oldCourseScheduleMap.get(newCourseSchedule.getId()).get(0);
 
             if (!sysUser.getUserType().contains("SYSTEM") && sysUser.getUserType().contains("TEACHER")) {
+                Long normalStudentNum = classGroupStudentNumMap.get(oldCourseSchedule.getClassGroupId());
                 Long courseLeaveStudentNum = courseLeaveStudentNumMap.get(newCourseSchedule.getId());
                 ClassGroup classGroup=idClassGroupMap.get(oldCourseSchedule.getClassGroupId());
                 if(oldCourseSchedule.getGroupType().equals(GroupType.VIP)
                         &&Objects.nonNull(courseLeaveStudentNum)
-                        &&courseLeaveStudentNum.intValue()==classGroup.getExpectStudentNum()){
+                        &&Objects.nonNull(normalStudentNum)
+                        &&courseLeaveStudentNum.intValue()==normalStudentNum.intValue()){
                     if(!DateUtil.isSameDay(now,oldCourseSchedule.getStartClassTime())&&now.after(oldCourseSchedule.getStartClassTime())){
                         throw new BizException("当前时间不可对相关课程进行调整");
                     }