|
@@ -75,6 +75,7 @@ import java.util.*;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import static com.timevale.tgtext.text.html.b.i;
|
|
|
import static com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType.MUSIC_NETWORK;
|
|
|
import static com.ym.mec.biz.dal.enums.GroupType.*;
|
|
|
import static com.ym.mec.biz.dal.enums.PracticeGroupType.FREE;
|
|
@@ -1649,13 +1650,56 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
holidayDays = new HashSet<>(JSON.parseArray(holidaySetting, String.class));
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
Map<String, List<CourseSchedule>> result = new HashMap<String, List<CourseSchedule>>(){{
|
|
|
put("normal", new ArrayList<>());
|
|
|
put("revise", new ArrayList<>());
|
|
|
put("failed", new ArrayList<>());
|
|
|
}};
|
|
|
+ while (true) {
|
|
|
+ for (CourseTimeDto courseTime : courseAdjustInfo.getCourseTimes()) {
|
|
|
+ if (courseTime.getCalendar() == null) {
|
|
|
+ courseTime.setCalendar(calendar);
|
|
|
+ }
|
|
|
+ while (courseAdjustInfo.isHoliday() && holidayDays.contains(DateUtil.format(courseTime.getCalendar().getTime(), "yyyy-MM-dd"))) {
|
|
|
+ courseTime.getCalendar().add(Calendar.DATE, courseTime.getIntervalDays());
|
|
|
+ }
|
|
|
+ String dateYmdStr = DateUtil.dateToString(calendar.getTime(), DateUtil.ISO_EXPANDED_DATE_FORMAT);
|
|
|
+ dateYmdStr = dateYmdStr + " " + courseTime.getStartClassTime();
|
|
|
+ Date courseStartTime = DateUtil.stringToDate(dateYmdStr, "yyyy-MM-dd HH:mm");
|
|
|
|
|
|
+ if (courseStartTime.compareTo(now) <= 0) {
|
|
|
+ throw new BizException("课程调整时间不得小于当前时间");
|
|
|
+ }
|
|
|
+
|
|
|
+ courseStartDates.add(DateUtil.stringToDate(dateYmdStr, DateUtil.EXPANDED_DATE_TIME_FORMAT));
|
|
|
+ CourseSchedule currentCourseSchedule = courseSchedules.get(courseStartDates.size() - 1);
|
|
|
+ int singleClassMinutes = DateUtil.minutesBetween(currentCourseSchedule.getStartClassTime(), currentCourseSchedule.getEndClassTime());
|
|
|
+ Date courseEndTime = DateUtil.addMinutes(courseStartTime, singleClassMinutes);
|
|
|
+ //校验课程是否结算
|
|
|
+ this.checkCourseIsSettlement(currentCourseSchedule);
|
|
|
+ int num = studentAttendanceDao.countStudentAttendenceNum(currentCourseSchedule.getId().intValue());
|
|
|
+ if (num > 0) {
|
|
|
+ throw new BizException("{}[{}]{}-{}课程已点名",
|
|
|
+ currentCourseSchedule.getName(),
|
|
|
+ currentCourseSchedule.getId(),
|
|
|
+ DateUtil.dateToString(currentCourseSchedule.getStartClassTime(),
|
|
|
+ DateUtil.EXPANDED_DATE_TIME_FORMAT),
|
|
|
+ DateUtil.dateToString(currentCourseSchedule.getEndClassTime(),
|
|
|
+ DateUtil.EXPANDED_DATE_TIME_FORMAT));
|
|
|
+ }
|
|
|
+ currentCourseSchedule.setStatus(CourseStatusEnum.NOT_START);
|
|
|
+ currentCourseSchedule.setClassDate(courseStartTime);
|
|
|
+ currentCourseSchedule.setStartClassTime(courseStartTime);
|
|
|
+ currentCourseSchedule.setEndClassTime(courseEndTime);
|
|
|
+ if (courseStartDates.size() == adjustCourseScheduleIds.size()) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (courseStartDates.size() == adjustCourseScheduleIds.size()) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+/*
|
|
|
while (true) {
|
|
|
if (courseAdjustInfo.isHoliday() && holidayDays.contains(DateUtil.format(calendar.getTime(), "yyyy-MM-dd"))) {
|
|
|
calendar.add(Calendar.DATE, 1);
|
|
@@ -1712,7 +1756,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
break;
|
|
|
}
|
|
|
calendar.add(Calendar.DATE, 1);
|
|
|
- }
|
|
|
+ }*/
|
|
|
for (CourseSchedule courseSchedule : courseSchedules) {
|
|
|
boolean b = checkSingleCourseConflict(courseSchedule, courseSchedules, result);
|
|
|
if(!b){
|