|  | @@ -5,11 +5,14 @@ import com.ym.mec.biz.dal.entity.MusicGroupPaymentStudentMemberCourseDetail;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicGroupSchoolTermCourseDetail;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicGroupSchoolTermStudentCourseDetail;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.MusicGroupSchoolTermCourseDetailService;
 | 
	
		
			
				|  |  | +import com.ym.mec.common.controller.BaseController;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.dal.BaseDAO;
 | 
	
		
			
				|  |  | +import com.ym.mec.common.entity.HttpResponseResult;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.exception.BizException;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.service.impl.BaseServiceImpl;
 | 
	
		
			
				|  |  |  import com.ym.mec.util.date.DateUtil;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | +import org.springframework.http.HttpStatus;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -44,7 +47,7 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Override
 | 
	
		
			
				|  |  |  	@Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | -	public MusicGroupSchoolTermCourseDetail upset(MusicGroupSchoolTermCourseDetail musicGroupSchoolTermCourseDetail) {
 | 
	
		
			
				|  |  | +	public HttpResponseResult upset(MusicGroupSchoolTermCourseDetail musicGroupSchoolTermCourseDetail) {
 | 
	
		
			
				|  |  |  		Date startCourseDate = musicGroupSchoolTermCourseDetail.getStartCourseDate();
 | 
	
		
			
				|  |  |  		String musicGroupId = musicGroupSchoolTermCourseDetail.getMusicGroupId();
 | 
	
		
			
				|  |  |  		//校验当前乐团是否所有学员都在班
 | 
	
	
		
			
				|  | @@ -62,25 +65,30 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 | 
	
		
			
				|  |  |  			if(startCourseDate != null){
 | 
	
		
			
				|  |  |  				//如果是重新选择的预排课时间
 | 
	
		
			
				|  |  |  				if(DateUtil.daysBetween(startCourseDate, courseDetail.getStartCourseDate()) != 0){
 | 
	
		
			
				|  |  | -					//删除乐团预排的课程
 | 
	
		
			
				|  |  | -					courseScheduleStudentPaymentDao.deletePreCourse(musicGroupId);
 | 
	
		
			
				|  |  | -					courseScheduleTeacherSalaryDao.deletePreCourse(musicGroupId);
 | 
	
		
			
				|  |  | -					courseScheduleDao.deletePreCourse(musicGroupId);
 | 
	
		
			
				|  |  | -					courseDetail.setStartCourseDate(startCourseDate);
 | 
	
		
			
				|  |  | -					getCourseDetail(courseDetail);
 | 
	
		
			
				|  |  | -					musicGroupSchoolTermCourseDetailDao.update(courseDetail);
 | 
	
		
			
				|  |  | -					//删除学员排课时长
 | 
	
		
			
				|  |  | -					musicGroupSchoolTermStudentCourseDetailDao.deleteByDetailId(courseDetail.getId());
 | 
	
		
			
				|  |  | -					//生成学员可排课时长
 | 
	
		
			
				|  |  | -					MusicGroupSchoolTermStudentCourseDetail studentCourseDetail = new MusicGroupSchoolTermStudentCourseDetail();
 | 
	
		
			
				|  |  | -					studentCourseDetail.setMusicGroupSchoolTermCourseDetailId(courseDetail.getId());
 | 
	
		
			
				|  |  | -					studentCourseDetail.setMemberCourseMinutes(courseDetail.getTotalCourseTime());
 | 
	
		
			
				|  |  | -					//获取乐团所有在读学员
 | 
	
		
			
				|  |  | -					List<Integer> studentIds = studentRegistrationDao.queryNormalUser(musicGroupId);
 | 
	
		
			
				|  |  | -					if(studentIds == null || studentIds.size() == 0){
 | 
	
		
			
				|  |  | -						throw new BizException("操作失败:该乐团没有在读学员");
 | 
	
		
			
				|  |  | +					//清空预排课
 | 
	
		
			
				|  |  | +					if(musicGroupSchoolTermCourseDetail.getCleanPreCourseFlag()){
 | 
	
		
			
				|  |  | +						//删除乐团预排的课程
 | 
	
		
			
				|  |  | +						courseScheduleStudentPaymentDao.deletePreCourse(musicGroupId);
 | 
	
		
			
				|  |  | +						courseScheduleTeacherSalaryDao.deletePreCourse(musicGroupId);
 | 
	
		
			
				|  |  | +						courseScheduleDao.deletePreCourse(musicGroupId);
 | 
	
		
			
				|  |  | +						courseDetail.setStartCourseDate(startCourseDate);
 | 
	
		
			
				|  |  | +						getCourseDetail(courseDetail);
 | 
	
		
			
				|  |  | +						musicGroupSchoolTermCourseDetailDao.update(courseDetail);
 | 
	
		
			
				|  |  | +						//删除学员排课时长
 | 
	
		
			
				|  |  | +						musicGroupSchoolTermStudentCourseDetailDao.deleteByDetailId(courseDetail.getId());
 | 
	
		
			
				|  |  | +						//生成学员可排课时长
 | 
	
		
			
				|  |  | +						MusicGroupSchoolTermStudentCourseDetail studentCourseDetail = new MusicGroupSchoolTermStudentCourseDetail();
 | 
	
		
			
				|  |  | +						studentCourseDetail.setMusicGroupSchoolTermCourseDetailId(courseDetail.getId());
 | 
	
		
			
				|  |  | +						studentCourseDetail.setMemberCourseMinutes(courseDetail.getTotalCourseTime());
 | 
	
		
			
				|  |  | +						//获取乐团所有在读学员
 | 
	
		
			
				|  |  | +						List<Integer> studentIds = studentRegistrationDao.queryNormalUser(musicGroupId);
 | 
	
		
			
				|  |  | +						if(studentIds == null || studentIds.size() == 0){
 | 
	
		
			
				|  |  | +							throw new BizException("操作失败:该乐团没有在读学员");
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  | +						musicGroupSchoolTermStudentCourseDetailDao.init(studentCourseDetail,studentIds);
 | 
	
		
			
				|  |  | +					}else {
 | 
	
		
			
				|  |  | +						return BaseController.failed(HttpStatus.MULTI_STATUS, "修改开课日期会清空预排课,请再次确认");
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  | -					musicGroupSchoolTermStudentCourseDetailDao.init(studentCourseDetail,studentIds);
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}else {
 | 
	
		
			
				|  |  |  				//如果所选时间小于当前时间
 | 
	
	
		
			
				|  | @@ -108,7 +116,7 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 | 
	
		
			
				|  |  |  				musicGroupSchoolTermStudentCourseDetailDao.init(studentCourseDetail,studentIds);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		return courseDetail;
 | 
	
		
			
				|  |  | +		return BaseController.succeed(courseDetail);
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	private MusicGroupSchoolTermCourseDetail getCourseDetail(MusicGroupSchoolTermCourseDetail courseDetail){
 |