|
@@ -43,26 +43,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public String batchAddCourseSchedule(List<CourseSchedule> courseSchedules) {
|
|
|
- String result=checkCourseSchedule(courseSchedules);
|
|
|
- if(result.isEmpty()){
|
|
|
- courseScheduleDao.batchAddCourseSchedules(courseSchedules);
|
|
|
- return result;
|
|
|
- }else{
|
|
|
- return result;
|
|
|
- }
|
|
|
+ public void batchAddCourseSchedule(List<CourseSchedule> courseSchedules) {
|
|
|
+ checkCourseSchedule(courseSchedules);
|
|
|
+ courseScheduleDao.batchAddCourseSchedules(courseSchedules);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public String batchUpdateCourseSchedule(List<CourseSchedule> courseSchedules, Long musicGroupID) {
|
|
|
- String result=checkCourseSchedule(courseSchedules);
|
|
|
- if(result.isEmpty()){
|
|
|
- courseScheduleDao.deleteCourseSchedulesByMusicGroupID(musicGroupID);
|
|
|
- courseScheduleDao.batchAddCourseSchedules(courseSchedules);
|
|
|
- return result;
|
|
|
- }else{
|
|
|
- return result;
|
|
|
- }
|
|
|
+ public void batchUpdateCourseSchedule(List<CourseSchedule> courseSchedules, Long musicGroupID) {
|
|
|
+ checkCourseSchedule(courseSchedules);
|
|
|
+ courseScheduleDao.deleteCourseSchedulesByMusicGroupID(musicGroupID);
|
|
|
+ courseScheduleDao.batchAddCourseSchedules(courseSchedules);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -81,7 +71,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
* @param courseSchedules
|
|
|
* @return
|
|
|
*/
|
|
|
- private String checkCourseSchedule(List<CourseSchedule> courseSchedules){
|
|
|
+ private void checkCourseSchedule(List<CourseSchedule> courseSchedules){
|
|
|
Map<Date, List<CourseSchedule>> collect = courseSchedules.stream().collect(Collectors.groupingBy(CourseSchedule::getClassDate));
|
|
|
for(Date keyDate:collect.keySet()){
|
|
|
List<CourseSchedule> currentCourses=collect.get(keyDate);
|
|
@@ -96,34 +86,34 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
Collectors.groupingBy(CourseSchedule::getTeacherId));
|
|
|
for (Long teacherID:collect2.keySet()){
|
|
|
if(collect2.get(teacherID).size()>ParamEnum.ONE.getCode()){
|
|
|
- return new SimpleDateFormat("yyyy-MM-dd").format(keyDate)+"日的课程安排在教师分配上有冲突!";
|
|
|
+ throw new BizException(new SimpleDateFormat("yyyy-MM-dd").format(keyDate)+"日的课程安排在教师分配上有冲突!");
|
|
|
}
|
|
|
}
|
|
|
List<Integer> repeatClassGroupIds = currentCourses1.stream().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
|
|
|
Integer[] counts=courseScheduleDao.countStudentInClass(repeatClassGroupIds);
|
|
|
for (Integer i:counts){
|
|
|
if (i>ParamEnum.ONE.getCode()){
|
|
|
- return new SimpleDateFormat("yyyy-MM-dd").format(keyDate)+"日的课程安排有学生重复!";
|
|
|
+ throw new BizException(new SimpleDateFormat("yyyy-MM-dd").format(keyDate)+"日的课程安排有学生重复!");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- Map<Integer, List<CourseSchedule>> classGroupByID = courseSchedules.stream().collect(Collectors.groupingBy(CourseSchedule::getClassGroupId));
|
|
|
- List<Long> ids=new ArrayList<>();
|
|
|
- for (Integer key:classGroupByID.keySet()){
|
|
|
- ids.add(Long.valueOf(key));
|
|
|
- }
|
|
|
- Map<Integer, Integer> maxClassTimes = convertToMap(courseScheduleDao.getMaxClassTimeByClassIds(ids));
|
|
|
- courseSchedules.clear();
|
|
|
- for (Integer key:classGroupByID.keySet()){
|
|
|
- Integer maxClassTime = null == maxClassTimes.get(key) ? 0 : maxClassTimes.get(key);
|
|
|
- for(CourseSchedule courseSchedule:classGroupByID.get(key)){
|
|
|
- courseSchedules.add(courseSchedule);
|
|
|
- }
|
|
|
- }
|
|
|
- return "";
|
|
|
+ //课次创建
|
|
|
+// Map<Integer, List<CourseSchedule>> classGroupByID = courseSchedules.stream().collect(Collectors.groupingBy(CourseSchedule::getClassGroupId));
|
|
|
+// List<Long> ids=new ArrayList<>();
|
|
|
+// for (Integer key:classGroupByID.keySet()){
|
|
|
+// ids.add(Long.valueOf(key));
|
|
|
+// }
|
|
|
+// Map<Integer, Integer> maxClassTimes = convertToMap(courseScheduleDao.getMaxClassTimeByClassIds(ids));
|
|
|
+// courseSchedules.clear();
|
|
|
+// for (Integer key:classGroupByID.keySet()){
|
|
|
+// Integer maxClassTime = null == maxClassTimes.get(key) ? 0 : maxClassTimes.get(key);
|
|
|
+// for(CourseSchedule courseSchedule:classGroupByID.get(key)){
|
|
|
+// courseSchedules.add(courseSchedule);
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
private Map<Integer,Integer> convertToMap(String[] result){
|