|
@@ -77,6 +77,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
private MusicGroupDao musicGroupDao;
|
|
private MusicGroupDao musicGroupDao;
|
|
@Autowired
|
|
@Autowired
|
|
private ImFeignService imFeignService;
|
|
private ImFeignService imFeignService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private TeacherFreeTimeDao teacherFreeTimeDao;
|
|
|
|
|
|
private static Map<Integer, Map<Integer, List<Integer>>> schoolSubjectTeachersMap;
|
|
private static Map<Integer, Map<Integer, List<Integer>>> schoolSubjectTeachersMap;
|
|
|
|
|
|
@@ -811,6 +813,17 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
checkTeacherLeaveDate = false;
|
|
checkTeacherLeaveDate = false;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ Set<Integer> disableApplyWeekNum = new HashSet<>();
|
|
|
|
+
|
|
|
|
+ TeacherFreeTime teacherFreeTime=teacherFreeTimeDao.findTeacherFreeTime(teacherId);
|
|
|
|
+ int maxTeacherCourses=80;
|
|
|
|
+ if(Objects.nonNull(teacherFreeTime)){
|
|
|
|
+ if(Objects.nonNull(teacherFreeTime.getTotalTimes())){
|
|
|
|
+ maxTeacherCourses=teacherFreeTime.getTotalTimes();
|
|
|
|
+ }
|
|
|
|
+// if(Objects.nonNull(teacherFreeTime.get))
|
|
|
|
+ }
|
|
|
|
+
|
|
Date now = new Date();
|
|
Date now = new Date();
|
|
Calendar calendar = Calendar.getInstance();
|
|
Calendar calendar = Calendar.getInstance();
|
|
calendar.setFirstDayOfWeek(Calendar.MONDAY);
|
|
calendar.setFirstDayOfWeek(Calendar.MONDAY);
|
|
@@ -825,11 +838,21 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
Date firstMonday = DateUtil.getWeekDayWithDate(applyStartDate, Calendar.MONDAY);
|
|
Date firstMonday = DateUtil.getWeekDayWithDate(applyStartDate, Calendar.MONDAY);
|
|
Date secondSunday = DateUtil.getWeekDayWithDate(applyEndDate, Calendar.SUNDAY);
|
|
Date secondSunday = DateUtil.getWeekDayWithDate(applyEndDate, Calendar.SUNDAY);
|
|
|
|
|
|
|
|
+ Date yesterday=null;
|
|
|
|
+ Date tomorrow=null;
|
|
|
|
+ if(Objects.nonNull(firstClassTime)){
|
|
|
|
+ Calendar tempCalendar=Calendar.getInstance();
|
|
|
|
+ tempCalendar.setTime(firstClassTime);
|
|
|
|
+ tempCalendar.add(Calendar.DATE,-1);
|
|
|
|
+ yesterday=tempCalendar.getTime();
|
|
|
|
+ tempCalendar.add(Calendar.DATE,2);
|
|
|
|
+ tomorrow=tempCalendar.getTime();
|
|
|
|
+ }
|
|
|
|
+
|
|
List<Date> enableApplyDates = getEnableApplyDates(applyStartDate, applyEndDate);
|
|
List<Date> enableApplyDates = getEnableApplyDates(applyStartDate, applyEndDate);
|
|
List<CourseSchedule> allTeacherCourses = courseScheduleDao.findTeacherCoursesWithDateRange(teacherId, firstMonday, secondSunday);
|
|
List<CourseSchedule> allTeacherCourses = courseScheduleDao.findTeacherCoursesWithDateRange(teacherId, firstMonday, secondSunday);
|
|
allTeacherCourses.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
|
|
allTeacherCourses.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
|
|
|
|
|
|
- Set<Integer> disableApplyWeekNum = new HashSet<>();
|
|
|
|
List<CourseSchedule> applyDateRangeCourses = new ArrayList<>();
|
|
List<CourseSchedule> applyDateRangeCourses = new ArrayList<>();
|
|
Calendar courseCalendar = Calendar.getInstance();
|
|
Calendar courseCalendar = Calendar.getInstance();
|
|
courseCalendar.setFirstDayOfWeek(Calendar.MONDAY);
|
|
courseCalendar.setFirstDayOfWeek(Calendar.MONDAY);
|
|
@@ -865,8 +888,16 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
|
|
|
if (CollectionUtils.isEmpty(applyDateRangeCourses)) {
|
|
if (CollectionUtils.isEmpty(applyDateRangeCourses)) {
|
|
for (Date enableApplyDate : enableApplyDates) {
|
|
for (Date enableApplyDate : enableApplyDates) {
|
|
- if (Objects.nonNull(firstClassTime) && DateUtil.isSameDay(enableApplyDate, firstClassTime)) {
|
|
|
|
- continue;
|
|
|
|
|
|
+ if (Objects.nonNull(firstClassTime)) {
|
|
|
|
+ if(DateUtil.isSameDay(enableApplyDate, firstClassTime)){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ if(DateUtil.isSameDay(enableApplyDate, tomorrow)){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ if(DateUtil.isSameDay(enableApplyDate, yesterday)){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
Date enableApplyDateCourseEndTime = DateUtil.addMinutes(enableApplyDate, practiceCourseMinutes);
|
|
Date enableApplyDateCourseEndTime = DateUtil.addMinutes(enableApplyDate, practiceCourseMinutes);
|
|
if (teacherId == 100473) {
|
|
if (teacherId == 100473) {
|
|
@@ -947,16 +978,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
}
|
|
}
|
|
|
|
|
|
List<Date> tempEnableApplyDates = new ArrayList<>();
|
|
List<Date> tempEnableApplyDates = new ArrayList<>();
|
|
- Date yesterday=null;
|
|
|
|
- Date tomorrow=null;
|
|
|
|
- if(Objects.nonNull(firstClassTime)){
|
|
|
|
- Calendar tempCalendar=Calendar.getInstance();
|
|
|
|
- tempCalendar.setTime(firstClassTime);
|
|
|
|
- tempCalendar.add(Calendar.DATE,-1);
|
|
|
|
- yesterday=tempCalendar.getTime();
|
|
|
|
- tempCalendar.add(Calendar.DATE,2);
|
|
|
|
- tomorrow=tempCalendar.getTime();
|
|
|
|
- }
|
|
|
|
for (Date enableApplyDate : enableApplyDates) {
|
|
for (Date enableApplyDate : enableApplyDates) {
|
|
Date enableApplyDateCourseEndTime = DateUtil.addMinutes(enableApplyDate, practiceCourseMinutes);
|
|
Date enableApplyDateCourseEndTime = DateUtil.addMinutes(enableApplyDate, practiceCourseMinutes);
|
|
if (Objects.nonNull(firstClassTime)) {
|
|
if (Objects.nonNull(firstClassTime)) {
|