Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master'

Joburgess před 5 roky
rodič
revize
1fba3dbb3e

+ 26 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -172,10 +172,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 		List<CourseSchedule> courseScheduleList = courseScheduleDao.findByCourseScheduleIds(courseScheduleIds);
 
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		Date date = new Date();
 		if (courseScheduleList != null) {
 			for (CourseSchedule cs : courseScheduleList) {
-				if (cs.getStatus() == CourseStatusEnum.OVER) {
-					throw new BizException("删除失败,已结束的课程不能删除");
+				if (cs.getStatus() != CourseStatusEnum.NOT_START) {
+					throw new BizException("删除失败,未开始的课程才能删除");
+				}
+				String endDateStr = DateUtil.format(cs.getClassDate(), "yyyy-MM-dd") + " " + DateUtil.format(cs.getStartClassTime(), "HH:mm:ss");
+				if (DateUtil.stringToDate(endDateStr, sdf).before(date)) {
+					throw new BizException("删除失败,未开始的课程才能删除");
 				}
 			}
 		}
@@ -348,6 +354,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		
 		Map<Integer, List<CourseTimeDto>> dayOfWeekMap = new HashMap<Integer, List<CourseTimeDto>>();
 		for(CourseTimeDto dto : teachingArrangementList){
+			//检查是否有开始时间
+			if (StringUtils.isBlank(dto.getStartClassTime())) {
+				throw new BizException("必须设置排课开始时间");
+			}
 			List<CourseTimeDto> list = dayOfWeekMap.get(dto.getDayOfWeek());
 			if(list == null){
 				list = new ArrayList<CourseTimeDto>();
@@ -406,12 +416,20 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					Date courseStartTime = DateUtil.stringToDate(dateYmdStr, "yyyy-MM-dd HH:mm");
 					courseSchedule.setStartClassTime(courseStartTime);
 
-					dateYmdStr = dateYmdStr + " " + courseTimeDto.getEndClassTime();
-					Date courseEndTime = DateUtil.stringToDate(dateYmdStr, "yyyy-MM-dd HH:mm");
-					courseSchedule.setEndClassTime(courseEndTime);
+					if (StringUtils.isNotBlank(courseTimeDto.getEndClassTime())) {
+						dateYmdStr = dateYmdStr + " " + courseTimeDto.getEndClassTime();
+						Date courseEndTime = DateUtil.stringToDate(dateYmdStr, "yyyy-MM-dd HH:mm");
+						courseSchedule.setEndClassTime(courseEndTime);
 
-					if (courseEndTime.before(courseStartTime)) {
-						throw new BizException("课时上课时间安排错误");
+						if (courseEndTime.before(courseStartTime)) {
+							throw new BizException("课时上课时间安排错误");
+						}
+					} else {
+						if (type == CourseScheduleType.PRACTICE) {
+							courseSchedule.setEndClassTime(DateUtil.addMinutes(courseStartTime, 25));
+						} else {
+							throw new BizException("必须设置上课结束时间");
+						}
 					}
 					
 					courseSchedule.setTeacherId(teacherId);
@@ -599,7 +617,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		Integer classGroupId = classGroupList.get(0);
 		String musicGroupId = courseScheduleList.get(0).getMusicGroupId();
 
-		// 批量
+		// 批量
 		batchDeleteCourseSchedules(batchInsertCoursesDto.getCourseScheduleIdList());
 		
 		Date endDate = null;