Procházet zdrojové kódy

1、陪练课调整

Joburgess před 5 roky
rodič
revize
aa3ec10e7d

+ 9 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -803,7 +803,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         JSONObject allTeacherLeaveData = JSONObject.parseObject(allTeacherLeaveDataConfig.getParanValue());
         JSONObject organTeacherLeaveData = null;
         if (Objects.nonNull(allTeacherLeaveData)) {
-            organTeacherLeaveData = allTeacherLeaveData.getJSONObject(student.getOrganId().toString());
+            organTeacherLeaveData = allTeacherLeaveData.getJSONObject(teacher.getOrganId().toString());
         }
         if (Objects.isNull(organTeacherLeaveData)) {
             checkTeacherLeaveDate = false;
@@ -825,6 +825,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
         List<Date> enableApplyDates = getEnableApplyDates(applyStartDate, applyEndDate);
         List<CourseSchedule> allTeacherCourses = courseScheduleDao.findTeacherCoursesWithDateRange(teacherId, firstMonday, secondSunday);
+        allTeacherCourses.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
 
         Set<Integer> disableApplyWeekNum = new HashSet<>();
         List<CourseSchedule> applyDateRangeCourses = new ArrayList<>();
@@ -839,10 +840,10 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                 applyDateRangeCourses.add(teacherCourse);
             }
             courseCalendar.setTime(teacherCourse.getClassDate());
-            if (practiceCourseNum>0 && courseCalendar.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY) {
-                if(practiceCourseNum>80){
-                    disableApplyWeekNum.add(courseWeekNum);
-                }
+            if(practiceCourseNum>80){
+                disableApplyWeekNum.add(courseWeekNum);
+            }
+            if (courseCalendar.get(Calendar.WEEK_OF_YEAR) != courseWeekNum) {
                 courseWeekNum = courseCalendar.get(Calendar.WEEK_OF_YEAR);
                 practiceCourseNum = 0;
             }
@@ -1001,7 +1002,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                 backCourseSchedule.setEndClassTime(preCourseSchedule.getEndClassTime());
             }
             if (j == 0) {
-                for (Date enableApplyDate : enableApplyDates) {
+                for (Date enableApplyDate : tempEnableApplyDates) {
                     if (Objects.nonNull(firstClassTime) && DateUtil.isSameDay(enableApplyDate, firstClassTime)) {
                         continue;
                     }
@@ -1012,7 +1013,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                 }
             }
             if (j == applyDateRangeCourses.size() - 1) {
-                for (Date enableApplyDate : enableApplyDates) {
+                for (Date enableApplyDate : tempEnableApplyDates) {
                     if (Objects.nonNull(firstClassTime) && DateUtil.isSameDay(enableApplyDate, firstClassTime)) {
                         continue;
                     }
@@ -1799,7 +1800,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         List<SimpleUserDto> enableApplyTeachers = getEnableApplyTeachers(practiceGroup.getStudentId(), practiceGroup.getSubjectId());
         Set<Integer> enableApplyTeacherIds = enableApplyTeachers.stream().map(SimpleUserDto::getUserId).collect(Collectors.toSet());
         if(!enableApplyTeacherIds.contains(practiceGroup.getUserId())){
-            throw new BizException("预约失败,老师选择错误,请重试");
+            throw new BizException("预约失败,老师选择错误,请重试");
         }
 
         practiceGroup.setOrganId(sysUser.getOrganId());