|
@@ -242,23 +242,30 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
if(checkTeacherLeaveDate){
|
|
if(checkTeacherLeaveDate){
|
|
teacherLeaveData=organTeacherLeaveData.getJSONObject(teacherId.toString());
|
|
teacherLeaveData=organTeacherLeaveData.getJSONObject(teacherId.toString());
|
|
}
|
|
}
|
|
- Date leaveStartTime=null;
|
|
|
|
- Date leaveEndTime=null;
|
|
|
|
if(Objects.isNull(teacherLeaveData)){
|
|
if(Objects.isNull(teacherLeaveData)){
|
|
checkTeacherLeaveDate=false;
|
|
checkTeacherLeaveDate=false;
|
|
- }else{
|
|
|
|
- leaveStartTime=teacherLeaveData.getDate("leave_start_time");
|
|
|
|
- leaveEndTime=teacherLeaveData.getDate("leave_end_time");
|
|
|
|
}
|
|
}
|
|
|
|
|
|
if(checkTeacherLeaveDate){
|
|
if(checkTeacherLeaveDate){
|
|
- if(practiceGroup.getFirstCourseTime().before(leaveEndTime)
|
|
|
|
- && firstClassEndTime.after(leaveStartTime)){
|
|
|
|
- continue;
|
|
|
|
|
|
+ String dateStr=DateUtil.dateToString(practiceGroup.getFirstCourseTime(),"yyyy-MM-dd");
|
|
|
|
+ JSONObject leaveDateData=teacherLeaveData.getJSONObject(dateStr);
|
|
|
|
+ if(Objects.nonNull(leaveDateData)){
|
|
|
|
+ Date leaveStartTime=leaveDateData.getDate("leave_start_time");
|
|
|
|
+ Date leaveEndTime=leaveDateData.getDate("leave_end_time");
|
|
|
|
+ if(practiceGroup.getFirstCourseTime().before(leaveEndTime)
|
|
|
|
+ && firstClassEndTime.after(leaveStartTime)){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- if(practiceGroup.getSecondCourseTime().before(leaveEndTime)
|
|
|
|
- && secondClassEndTime.after(leaveStartTime)){
|
|
|
|
- continue;
|
|
|
|
|
|
+ String dateStr2=DateUtil.dateToString(practiceGroup.getSecondCourseTime(),"yyyy-MM-dd");
|
|
|
|
+ JSONObject leaveDateData2=teacherLeaveData.getJSONObject(dateStr2);
|
|
|
|
+ if(Objects.nonNull(leaveDateData2)){
|
|
|
|
+ Date leaveStartTime=leaveDateData2.getDate("leave_start_time");
|
|
|
|
+ Date leaveEndTime=leaveDateData2.getDate("leave_end_time");
|
|
|
|
+ if(practiceGroup.getSecondCourseTime().before(leaveEndTime)
|
|
|
|
+ && secondClassEndTime.after(leaveStartTime)){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -469,23 +476,30 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
if(checkTeacherLeaveDate){
|
|
if(checkTeacherLeaveDate){
|
|
teacherLeaveData=organTeacherLeaveData.getJSONObject(teacherId.toString());
|
|
teacherLeaveData=organTeacherLeaveData.getJSONObject(teacherId.toString());
|
|
}
|
|
}
|
|
- Date leaveStartTime=null;
|
|
|
|
- Date leaveEndTime=null;
|
|
|
|
if(Objects.isNull(teacherLeaveData)){
|
|
if(Objects.isNull(teacherLeaveData)){
|
|
checkTeacherLeaveDate=false;
|
|
checkTeacherLeaveDate=false;
|
|
- }else{
|
|
|
|
- leaveStartTime=teacherLeaveData.getDate("leave_start_time");
|
|
|
|
- leaveEndTime=teacherLeaveData.getDate("leave_end_time");
|
|
|
|
}
|
|
}
|
|
|
|
|
|
if(checkTeacherLeaveDate){
|
|
if(checkTeacherLeaveDate){
|
|
- if(practiceGroup.getFirstCourseTime().before(leaveEndTime)
|
|
|
|
- && firstClassEndTime.after(leaveStartTime)){
|
|
|
|
- continue;
|
|
|
|
|
|
+ String dateStr=DateUtil.dateToString(practiceGroup.getFirstCourseTime(),"yyyy-MM-dd");
|
|
|
|
+ JSONObject leaveDateData=teacherLeaveData.getJSONObject(dateStr);
|
|
|
|
+ if(Objects.nonNull(leaveDateData)){
|
|
|
|
+ Date leaveStartTime=leaveDateData.getDate("leave_start_time");
|
|
|
|
+ Date leaveEndTime=leaveDateData.getDate("leave_end_time");
|
|
|
|
+ if(practiceGroup.getFirstCourseTime().before(leaveEndTime)
|
|
|
|
+ && firstClassEndTime.after(leaveStartTime)){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- if(practiceGroup.getSecondCourseTime().before(leaveEndTime)
|
|
|
|
- && secondClassEndTime.after(leaveStartTime)){
|
|
|
|
- continue;
|
|
|
|
|
|
+ String dateStr2=DateUtil.dateToString(practiceGroup.getSecondCourseTime(),"yyyy-MM-dd");
|
|
|
|
+ JSONObject leaveDateData2=teacherLeaveData.getJSONObject(dateStr2);
|
|
|
|
+ if(Objects.nonNull(leaveDateData2)){
|
|
|
|
+ Date leaveStartTime=leaveDateData2.getDate("leave_start_time");
|
|
|
|
+ Date leaveEndTime=leaveDateData2.getDate("leave_end_time");
|
|
|
|
+ if(practiceGroup.getSecondCourseTime().before(leaveEndTime)
|
|
|
|
+ && secondClassEndTime.after(leaveStartTime)){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -731,13 +745,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
if(checkTeacherLeaveDate){
|
|
if(checkTeacherLeaveDate){
|
|
teacherLeaveData=organTeacherLeaveData.getJSONObject(teacherId.toString());
|
|
teacherLeaveData=organTeacherLeaveData.getJSONObject(teacherId.toString());
|
|
}
|
|
}
|
|
- Date leaveStartTime=null;
|
|
|
|
- Date leaveEndTime=null;
|
|
|
|
if(Objects.isNull(teacherLeaveData)){
|
|
if(Objects.isNull(teacherLeaveData)){
|
|
checkTeacherLeaveDate=false;
|
|
checkTeacherLeaveDate=false;
|
|
- }else{
|
|
|
|
- leaveStartTime=teacherLeaveData.getDate("leave_start_time");
|
|
|
|
- leaveEndTime=teacherLeaveData.getDate("leave_end_time");
|
|
|
|
}
|
|
}
|
|
List<CourseSchedule> teacherCourses = teacherCoursesMap.get(teacherId);
|
|
List<CourseSchedule> teacherCourses = teacherCoursesMap.get(teacherId);
|
|
if (CollectionUtils.isEmpty(teacherCourses)) {
|
|
if (CollectionUtils.isEmpty(teacherCourses)) {
|
|
@@ -746,9 +755,17 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
Date enableApplyDateCourseEndTime = DateUtil.addMinutes(enableApplyDate, practiceCourseMinutes);
|
|
Date enableApplyDateCourseEndTime = DateUtil.addMinutes(enableApplyDate, practiceCourseMinutes);
|
|
- if (checkTeacherLeaveDate&&enableApplyDateCourseEndTime.after(leaveStartTime)
|
|
|
|
- &&enableApplyDate.before(leaveEndTime)) {
|
|
|
|
- continue;
|
|
|
|
|
|
+ if (checkTeacherLeaveDate) {
|
|
|
|
+ String dateStr=DateUtil.dateToString(enableApplyDate,"yyyy-MM-dd");
|
|
|
|
+ JSONObject leaveDateData=teacherLeaveData.getJSONObject(dateStr);
|
|
|
|
+ if(Objects.nonNull(leaveDateData)){
|
|
|
|
+ Date leaveStartTime=leaveDateData.getDate("leave_start_time");
|
|
|
|
+ Date leaveEndTime=leaveDateData.getDate("leave_end_time");
|
|
|
|
+ if(enableApplyDateCourseEndTime.after(leaveStartTime)
|
|
|
|
+ &&enableApplyDate.before(leaveEndTime)){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
allTeacherFreeDates.add(enableApplyDate);
|
|
allTeacherFreeDates.add(enableApplyDate);
|
|
}
|
|
}
|
|
@@ -803,9 +820,17 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
List<Date> tempEnableApplyDates = new ArrayList<>();
|
|
List<Date> tempEnableApplyDates = new ArrayList<>();
|
|
for (Date enableApplyDate : enableApplyDates) {
|
|
for (Date enableApplyDate : enableApplyDates) {
|
|
Date enableApplyDateCourseEndTime = DateUtil.addMinutes(enableApplyDate, practiceCourseMinutes);
|
|
Date enableApplyDateCourseEndTime = DateUtil.addMinutes(enableApplyDate, practiceCourseMinutes);
|
|
- if (checkTeacherLeaveDate&&enableApplyDateCourseEndTime.after(leaveStartTime)
|
|
|
|
- &&enableApplyDate.before(leaveEndTime)) {
|
|
|
|
- continue;
|
|
|
|
|
|
+ if (checkTeacherLeaveDate) {
|
|
|
|
+ String dateStr=DateUtil.dateToString(enableApplyDate,"yyyy-MM-dd");
|
|
|
|
+ JSONObject leaveDateData=teacherLeaveData.getJSONObject(dateStr);
|
|
|
|
+ if(Objects.nonNull(leaveDateData)){
|
|
|
|
+ Date leaveStartTime=leaveDateData.getDate("leave_start_time");
|
|
|
|
+ Date leaveEndTime=leaveDateData.getDate("leave_end_time");
|
|
|
|
+ if(enableApplyDateCourseEndTime.after(leaveStartTime)
|
|
|
|
+ &&enableApplyDate.before(leaveEndTime)){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if (!enableApplyDate.before(enableApplyStartDate)&&!enableApplyEndDate.before(enableApplyDate)) {
|
|
if (!enableApplyDate.before(enableApplyStartDate)&&!enableApplyEndDate.before(enableApplyDate)) {
|
|
tempEnableApplyDates.add(enableApplyDate);
|
|
tempEnableApplyDates.add(enableApplyDate);
|
|
@@ -861,13 +886,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (!CollectionUtils.isEmpty(allTeacherFreeDates)) {
|
|
if (!CollectionUtils.isEmpty(allTeacherFreeDates)) {
|
|
-// if(Objects.nonNull(firstClassTime)){
|
|
|
|
-// Set<String> days = allTeacherFreeDates.stream()
|
|
|
|
-// .map(date -> DateUtil.dateToString(date, "yyyy-MM-dd")).collect(Collectors.toSet());
|
|
|
|
-// if(days.size()<2){
|
|
|
|
-// continue;
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|