|  | @@ -1,19 +1,29 @@
 | 
	
		
			
				|  |  |  package com.ym.mec.biz.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.CourseScheduleDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.MusicGroupTrainPlanDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicGroupTrainPlan;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.MusicGroupTrainPlanSaveDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.MusicGroupTrainPlanService;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.dal.BaseDAO;
 | 
	
		
			
				|  |  |  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.stereotype.Service;
 | 
	
		
			
				|  |  | +import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import java.util.Date;
 | 
	
		
			
				|  |  | +import java.util.HashMap;
 | 
	
		
			
				|  |  | +import java.util.List;
 | 
	
		
			
				|  |  | +import java.util.Map;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  @Service
 | 
	
		
			
				|  |  |  public class MusicGroupTrainPlanServiceImpl extends BaseServiceImpl<Integer, MusicGroupTrainPlan>  implements MusicGroupTrainPlanService {
 | 
	
		
			
				|  |  |  	
 | 
	
		
			
				|  |  |  	@Autowired
 | 
	
		
			
				|  |  |  	private MusicGroupTrainPlanDao musicGroupTrainPlanDao;
 | 
	
		
			
				|  |  | +	@Autowired
 | 
	
		
			
				|  |  | +	private CourseScheduleDao courseScheduleDao;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Override
 | 
	
		
			
				|  |  |  	public BaseDAO<Integer, MusicGroupTrainPlan> getDAO() {
 | 
	
	
		
			
				|  | @@ -21,9 +31,43 @@ public class MusicGroupTrainPlanServiceImpl extends BaseServiceImpl<Integer, Mus
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Override
 | 
	
		
			
				|  |  | +	@Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |  	public int add(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto) {
 | 
	
		
			
				|  |  |  		//获取学期时间
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +		getCourseDetail(musicGroupTrainPlanSaveDto);
 | 
	
		
			
				|  |  |  		return musicGroupTrainPlanDao.add(musicGroupTrainPlanSaveDto);
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	@Override
 | 
	
		
			
				|  |  | +	public Object queryPlanPage(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto) {
 | 
	
		
			
				|  |  | +		getCourseDetail(musicGroupTrainPlanSaveDto);
 | 
	
		
			
				|  |  | +		//课程时间列表
 | 
	
		
			
				|  |  | +		List<String> classDates = courseScheduleDao.queryClassDateList(musicGroupTrainPlanSaveDto);
 | 
	
		
			
				|  |  | +		Map<String,Object> paramMap = new HashMap<>();
 | 
	
		
			
				|  |  | +		paramMap.put("classGroupId",musicGroupTrainPlanSaveDto.getClassGroupId());
 | 
	
		
			
				|  |  | +		paramMap.put("courseScheduleType",musicGroupTrainPlanSaveDto.getCourseScheduleType());
 | 
	
		
			
				|  |  | +		paramMap.put("startSchoolTerm",musicGroupTrainPlanSaveDto.getStartSchoolTerm());
 | 
	
		
			
				|  |  | +		paramMap.put("endSchoolTerm",musicGroupTrainPlanSaveDto.getEndSchoolTerm());
 | 
	
		
			
				|  |  | +		//课程规划
 | 
	
		
			
				|  |  | +		List<MusicGroupTrainPlan> musicGroupTrainPlans = musicGroupTrainPlanDao.findAll(paramMap);
 | 
	
		
			
				|  |  | +		Map<String,Object> resultMap = new HashMap<>(2);
 | 
	
		
			
				|  |  | +		resultMap.put("classDates",classDates);
 | 
	
		
			
				|  |  | +		resultMap.put("musicGroupTrainPlans",musicGroupTrainPlans);
 | 
	
		
			
				|  |  | +		//未规划的课程明细
 | 
	
		
			
				|  |  | +		//获取课程
 | 
	
		
			
				|  |  | +		return resultMap;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	private MusicGroupTrainPlanSaveDto getCourseDetail(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto){
 | 
	
		
			
				|  |  | +		String year = musicGroupTrainPlanSaveDto.getYear();
 | 
	
		
			
				|  |  | +		if(musicGroupTrainPlanSaveDto.getTerm() == 0){
 | 
	
		
			
				|  |  | +			musicGroupTrainPlanSaveDto.setStartSchoolTerm(DateUtil.stringToDate(year + "-03-01 00:00:00"));
 | 
	
		
			
				|  |  | +			musicGroupTrainPlanSaveDto.setEndSchoolTerm(DateUtil.stringToDate(year + "-08-31 00:00:00"));
 | 
	
		
			
				|  |  | +		}else {
 | 
	
		
			
				|  |  | +			musicGroupTrainPlanSaveDto.setStartSchoolTerm(DateUtil.stringToDate(year + "-09-01 00:00:00"));
 | 
	
		
			
				|  |  | +			year = DateUtil.getYear(DateUtil.addYears(musicGroupTrainPlanSaveDto.getStartSchoolTerm(), 1));
 | 
	
		
			
				|  |  | +			musicGroupTrainPlanSaveDto.setEndSchoolTerm(DateUtil.getLastDayOfMonth(DateUtil.stringToDate(year + "-02-01 00:00:00")));
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return musicGroupTrainPlanSaveDto;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  }
 |