|
@@ -2417,6 +2417,19 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if(!CollectionUtils.isEmpty(classGroup4MixDto.getCourseTimeDtoList())){
|
|
|
+ int cycleNum = classGroup4MixDto.getCourseTimeDtoList().size();
|
|
|
+ long num = classGroup4MixDto.getCourseTimeDtoList().stream().filter(c -> Objects.nonNull(c.getStartDate())).count();
|
|
|
+ if(num>0&&num!=cycleNum){
|
|
|
+ throw new BizException("循环周期排课日期未设置");
|
|
|
+ }
|
|
|
+ if(num>0){
|
|
|
+ for (int i = 0;i<cycleNum-1; i++) {
|
|
|
+ classGroup4MixDto.getCourseTimeDtoList().get(i).setEndDate(classGroup4MixDto.getCourseTimeDtoList().get(i+1).getStartDate());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
WhileNode:
|
|
|
while (true) {
|
|
|
if (classGroup4MixDto.getHoliday() && holidayDays.contains(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))) {
|
|
@@ -2430,6 +2443,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
if (!courseTimeDto.getDayOfWeek().equals(dayOfWeek)) continue;
|
|
|
|
|
|
+ Date classDate = DateConvertor.toDate(now);
|
|
|
+
|
|
|
+ if((Objects.nonNull(courseTimeDto.getStartDate())&&courseTimeDto.getStartDate().compareTo(classDate)>0)||(Objects.nonNull(courseTimeDto.getEndDate())&&courseTimeDto.getEndDate().compareTo(classDate)<0)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
//课时长度
|
|
|
long classCourseDuration = Duration.between(LocalDateTime.parse(classGroup4MixDto.getStartDate() + " " + courseTimeDto.getStartClassTime() + ":00", formatter),
|
|
|
LocalDateTime.parse(classGroup4MixDto.getStartDate() + " " + courseTimeDto.getEndClassTime() + ":00", formatter))
|
|
@@ -2441,7 +2460,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
break WhileNode;
|
|
|
}
|
|
|
|
|
|
- Date classDate = DateConvertor.toDate(now);
|
|
|
String startClassTime = DateUtil.getDate(classDate) + " " + courseTimeDto.getStartClassTime() + ":00";
|
|
|
String endClassTime = DateUtil.getDate(classDate) + " " + courseTimeDto.getEndClassTime() + ":00";
|
|
|
|