|
@@ -18,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -164,12 +165,22 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
createNewCourseByAdjust(dates,classDateAdjustDto);
|
|
|
}else{
|
|
|
//判断教师是否在时间安排上存在冲突
|
|
|
+ SimpleDateFormat s1=new SimpleDateFormat("yyyy-MM-dd"),
|
|
|
+ s2=new SimpleDateFormat("HH:mm:ss"),
|
|
|
+ s3=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
List<CourseSchedule> teacherCoursesInDates = courseScheduleDao.findTeacherCoursesInDates(dates, classDateAdjustDto.getTeacherId());
|
|
|
teacherCoursesInDates.forEach(courseSchedule -> {
|
|
|
- boolean isDuplication=(courseSchedule.getStartClassTime().after(classDateAdjustDto.getStartClassTime())
|
|
|
- &&courseSchedule.getStartClassTime().before(classDateAdjustDto.getEndClassTime()))
|
|
|
- ||(classDateAdjustDto.getStartClassTime().after(courseSchedule.getStartClassTime())
|
|
|
- &&classDateAdjustDto.getStartClassTime().before(courseSchedule.getEndClassTime()));
|
|
|
+ Date updateStartClassTime = null,updateEndClassTime=null;
|
|
|
+ try {
|
|
|
+ updateStartClassTime=s3.parse(s1.format(courseSchedule.getClassDate())+" "+s2.format(classDateAdjustDto.getStartClassTime()));
|
|
|
+ updateEndClassTime=s3.parse(s1.format(courseSchedule.getClassDate())+" "+s2.format(classDateAdjustDto.getEndClassTime()));
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ boolean isDuplication=(courseSchedule.getStartClassTime().after(updateStartClassTime)
|
|
|
+ &&courseSchedule.getStartClassTime().before(updateEndClassTime))
|
|
|
+ ||(updateStartClassTime.after(courseSchedule.getStartClassTime())
|
|
|
+ &&updateStartClassTime.before(courseSchedule.getEndClassTime()));
|
|
|
if(isDuplication){
|
|
|
throw new BizException("在所选时段内教师上课时间存在重复!");
|
|
|
}
|
|
@@ -222,10 +233,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
* 根据课时调整信息增加新课程
|
|
|
*/
|
|
|
private void createNewCourseByAdjust(List<Date> dates,ClassDateAdjustDto classDateAdjustDto){
|
|
|
+ CourseSchedule schedule=courseScheduleDao.get(classDateAdjustDto.getId());
|
|
|
List<CourseSchedule> courseSchedules=new ArrayList<>();
|
|
|
courseScheduleDao.delete(classDateAdjustDto.getId());
|
|
|
for (Date date:dates){
|
|
|
CourseSchedule courseSchedule=new CourseSchedule();
|
|
|
+ BeanUtils.copyProperties(schedule,courseSchedule);
|
|
|
courseSchedule.setClassDate(date);
|
|
|
courseSchedule.setStartClassTime(classDateAdjustDto.getStartClassTime());
|
|
|
courseSchedule.setEndClassTime(classDateAdjustDto.getEndClassTime());
|