|
@@ -188,18 +188,18 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
.ne(ClassTimeDelete::getStatus, 2)
|
|
|
);
|
|
|
Map<Long, List<ClassTimeDelete>> deleteDataMap = deleteList.stream().collect(Collectors.groupingBy(ClassTimeDelete::getClassId));
|
|
|
- Map<Long, Set<LocalDate>> deleteMap = new HashMap<>();
|
|
|
+ Map<Long, Map<LocalDate, String>> deleteMap = new HashMap<>();
|
|
|
for (Long classId : deleteDataMap.keySet()) {
|
|
|
- List<LocalDate> dateList = new ArrayList<>();
|
|
|
+ Map<LocalDate, String> dateMap = new HashMap<>();
|
|
|
for (ClassTimeDelete classTimeDelete : deleteDataMap.get(classId)) {
|
|
|
LocalDate currentDate = classTimeDelete.getStartDate();
|
|
|
while (!currentDate.isAfter(classTimeDelete.getEndDate())) {
|
|
|
- dateList.add(currentDate);
|
|
|
+ dateMap.put(currentDate, classTimeDelete.getTimePeriod());
|
|
|
currentDate = currentDate.plusDays(1);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- deleteMap.put(classId, new HashSet<>(dateList));
|
|
|
+ deleteMap.put(classId, dateMap);
|
|
|
}
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
|
@@ -316,9 +316,10 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
|
|
|
for (CourseListVo courseListVo : courseList) {
|
|
|
|
|
|
- Set<LocalDate> deleteDates = deleteMap.get(courseListVo.getClassId());
|
|
|
+ Map<LocalDate, String> deleteDates = deleteMap.get(courseListVo.getClassId());
|
|
|
JsonObject courseJson = new JsonObject();
|
|
|
- if(deleteDates != null && deleteDates.contains(courseListVo.getScheduleDate())){
|
|
|
+ if(deleteDates != null && deleteDates.containsKey(courseListVo.getScheduleDate())
|
|
|
+ && deleteDates.get(courseListVo.getScheduleDate()).contains(courseListVo.getTimeNumber()) ){
|
|
|
courseJson.addProperty("type", courseListVo.getShortName());
|
|
|
courseJson.addProperty("scheduleDate", courseListVo.getScheduleDate().format(formatter));
|
|
|
courseJson.addProperty("content", "");
|
|
@@ -366,8 +367,8 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
for (CourseListVo courseListVo : courseList) {
|
|
|
LocalDate scheduleDate = courseListVo.getScheduleDate();
|
|
|
|
|
|
- Set<LocalDate> deleteDates = deleteMap.get(courseListVo.getClassId());
|
|
|
- if(deleteDates != null && deleteDates.contains(scheduleDate)){
|
|
|
+ Map<LocalDate, String> deleteDates = deleteMap.get(courseListVo.getClassId());
|
|
|
+ if(deleteDates != null && deleteDates.containsKey(scheduleDate) && deleteDates.get(courseListVo.getScheduleDate()).contains(courseListVo.getTimeNumber())){
|
|
|
continue;
|
|
|
}
|
|
|
|
|
@@ -395,8 +396,8 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
.collect(Collectors.toList());
|
|
|
Double reduceTime = 0d;
|
|
|
for (CourseListVo courseListVo : substituteList) {
|
|
|
- Set<LocalDate> deleteDates = deleteMap.get(courseListVo.getClassId());
|
|
|
- if(deleteDates !=null && deleteDates.contains(courseListVo.getScheduleDate())){
|
|
|
+ Map<LocalDate, String> deleteDates = deleteMap.get(courseListVo.getClassId());
|
|
|
+ if(deleteDates != null && deleteDates.containsKey(courseListVo.getScheduleDate()) && deleteDates.get(courseListVo.getScheduleDate()).contains(courseListVo.getTimeNumber())){
|
|
|
continue;
|
|
|
}
|
|
|
if(!( (courseListVo.getScheduleDate().equals(timeRangeVo.getMondayDate()) || courseListVo.getScheduleDate().isAfter(timeRangeVo.getMondayDate()))
|
|
@@ -409,8 +410,8 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
substituteList = allSubstituteList.stream().filter(x -> x.getTeacherId().equals(teacher.getId().toString()))
|
|
|
.collect(Collectors.toList());
|
|
|
for (CourseListVo courseListVo : substituteList) {
|
|
|
- Set<LocalDate> deleteDates = deleteMap.get(courseListVo.getClassId());
|
|
|
- if(deleteDates !=null && deleteDates.contains(courseListVo.getScheduleDate())){
|
|
|
+ Map<LocalDate, String> deleteDates = deleteMap.get(courseListVo.getClassId());
|
|
|
+ if(deleteDates != null && deleteDates.containsKey(courseListVo.getScheduleDate()) && deleteDates.get(courseListVo.getScheduleDate()).contains(courseListVo.getTimeNumber())){
|
|
|
continue;
|
|
|
}
|
|
|
if(!( (courseListVo.getScheduleDate().equals(timeRangeVo.getMondayDate()) || courseListVo.getScheduleDate().isAfter(timeRangeVo.getMondayDate()))
|
|
@@ -486,8 +487,8 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
Double reduceTime = 0d;
|
|
|
Double dkClassTime = 0d;
|
|
|
for (CourseListVo courseListVo : substituteList) {
|
|
|
- Set<LocalDate> deleteDates = deleteMap.get(courseListVo.getClassId());
|
|
|
- if(deleteDates !=null && deleteDates.contains(courseListVo.getScheduleDate())){
|
|
|
+ Map<LocalDate, String> deleteDates = deleteMap.get(courseListVo.getClassId());
|
|
|
+ if(deleteDates != null && deleteDates.containsKey(courseListVo.getScheduleDate()) && deleteDates.get(courseListVo.getScheduleDate()).contains(courseListVo.getTimeNumber())){
|
|
|
continue;
|
|
|
}
|
|
|
reduceTime += weightSetMap.get(courseListVo.getShortName());
|
|
@@ -499,8 +500,8 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
substituteList = allSubstituteList.stream().filter(x -> x.getTeacherId().equals(teacher.getId().toString()))
|
|
|
.collect(Collectors.toList());
|
|
|
for (CourseListVo courseListVo : substituteList) {
|
|
|
- Set<LocalDate> deleteDates = deleteMap.get(courseListVo.getClassId());
|
|
|
- if(deleteDates !=null && deleteDates.contains(courseListVo.getScheduleDate())){
|
|
|
+ Map<LocalDate, String> deleteDates = deleteMap.get(courseListVo.getClassId());
|
|
|
+ if(deleteDates != null && deleteDates.containsKey(courseListVo.getScheduleDate()) && deleteDates.get(courseListVo.getScheduleDate()).contains(courseListVo.getTimeNumber())){
|
|
|
continue;
|
|
|
}
|
|
|
reduceTime = reduceTime - weightSetMap.get(courseListVo.getShortName());
|