|
@@ -907,7 +907,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
List<Map<Integer, Integer>> courseStudentNumMaps = courseScheduleStudentPaymentDao.countCourseStudentNum(allCourseScheduleIds);
|
|
|
Map<Long, Long> courseStudentNumMap = MapUtil.convertIntegerMap(courseStudentNumMaps);
|
|
|
|
|
|
- List<Integer> teacherIds=new ArrayList<>();
|
|
|
+ List<StudentAttendance> studentAttendances = studentAttendanceDao.getWithCoursesAndExcludeQuitStudent(allCourseScheduleIds);
|
|
|
+ Map<Long, List<StudentAttendance>> courseStudentAttendanceMap = studentAttendances.stream().collect(Collectors.groupingBy(StudentAttendance::getCourseScheduleId));
|
|
|
+
|
|
|
+ List<Integer> teacherIds=new ArrayList<>();
|
|
|
for (CourseScheduleDto courseScheduleEndDto : dataList) {
|
|
|
teacherIds.add(courseScheduleEndDto.getActualTeacherId());
|
|
|
}
|
|
@@ -923,6 +926,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
if(Objects.nonNull(group)){
|
|
|
dataList.get(i).setGroupName(group.getGroupName());
|
|
|
}
|
|
|
+ dataList.get(i).setLeaveStudentNum(0);
|
|
|
+ dataList.get(i).setStudentNum(0);
|
|
|
+ if(courseStudentAttendanceMap.containsKey(dataList.get(i).getId())){
|
|
|
+ List<StudentAttendance> courseStudentAttendances = courseStudentAttendanceMap.get(dataList.get(i).getId());
|
|
|
+ dataList.get(i).setLeaveStudentNum((int) courseStudentAttendances.stream().filter(s->StudentAttendanceStatusEnum.LEAVE.equals(s.getStatus())).count());
|
|
|
+ dataList.get(i).setStudentNum((int) courseStudentAttendances.stream().filter(s->StudentAttendanceStatusEnum.NORMAL.equals(s.getStatus())).count());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
if (count == 0) {
|
|
@@ -1249,6 +1259,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
}
|
|
|
checkNewCourseSchedules(existCourses, false);
|
|
|
courseScheduleDao.batchUpdate(existCourses);
|
|
|
+
|
|
|
+ studentAttendanceDao.deleteByCourseSchedules(courseIds);
|
|
|
+ //删除作业
|
|
|
+ courseHomeworkService.delHomwworkByCourseScheduleId(courseIds);
|
|
|
+ //删除评论
|
|
|
+ courseScheduleReviewDao.delByCourseScheduleIds(courseIds);
|
|
|
+ //删除申述
|
|
|
+ courseScheduleComplaintsDao.delByCourseScheduleIds(courseIds);
|
|
|
+ //清除考勤申述
|
|
|
+ teacherAttendanceDao.clearAttendanceComplaints(courseIds);
|
|
|
courseScheduleModifyLogDao.batchInsert(scheduleModifyLogs);
|
|
|
}
|
|
|
|
|
@@ -1395,11 +1415,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
lastEndClassTime = cs1.getEndClassTime();
|
|
|
}
|
|
|
|
|
|
- if(i!=sameDayCourses.size()-1&&DateUtil.minutesBetween(lastEndClassTime, sameDayCourses.get(i + 1).getStartClassTime())>=singleClassMinutes){
|
|
|
+ if(i!=sameDayCourses.size()-1&&DateUtil.minutesBetween(lastEndClassTime, sameDayCourses.get(i + 1).getStartClassTime())>=singleClassMinutes+10){
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ lastEndClassTime = DateUtil.addMinutes(lastEndClassTime, 10);;
|
|
|
+
|
|
|
Date endClassTime = DateUtil.addMinutes(lastEndClassTime, singleClassMinutes);
|
|
|
if(!DateUtil.isSameDay(lastEndClassTime, endClassTime)){
|
|
|
return false;
|
|
@@ -1446,7 +1468,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
return false;
|
|
|
}
|
|
|
if(!courseLeaveStudentIdsMap.containsKey(sa.getCourseScheduleId())){
|
|
|
- courseLeaveStudentIdsMap.put(sa.getCourseScheduleId(), Collections.EMPTY_SET);
|
|
|
+ courseLeaveStudentIdsMap.put(sa.getCourseScheduleId(), new HashSet<>());
|
|
|
}
|
|
|
CourseSchedule cs = idCourseMap.get(sa.getCourseScheduleId());
|
|
|
if(DateUtil.addHours(sa.getCreateTime(),4).compareTo(cs.getStartClassTime())<0){
|