zouxuan 4 роки тому
батько
коміт
357fdcf3ab

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -1843,4 +1843,11 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      */
     List<CourseSchedule> getBeMergeCourseWithMainCourseIds(@Param("courseIds") List<Long> courseIds);
+
+    /**
+     * 获取课程时间列表
+     * @param musicGroupTrainPlanSaveDto
+     * @return
+     */
+    List<String> queryClassDateList(@Param("dto") MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupTrainPlanService.java

@@ -9,4 +9,6 @@ import java.util.List;
 public interface MusicGroupTrainPlanService extends BaseService<Integer, MusicGroupTrainPlan> {
 
     int add(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);
+
+    Object queryPlanPage(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);
 }

+ 45 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupTrainPlanServiceImpl.java

@@ -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;
+	}
 }

+ 7 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -3850,4 +3850,11 @@
                 #{courseId}
             </foreach>
     </select>
+    <select id="queryClassDateList" resultType="java.lang.String">
+        SELECT CONCAT(cs.class_date_,' ',cs.start_class_time_,'~',end_class_time_) start_class_time_ FROM course_schedule cs
+        WHERE cs.class_date_ BETWEEN #{dto.startSchoolTerm} AND #{dto.endSchoolTerm}
+        AND cs.class_group_id_ = #{dto.classGroupId} AND cs.type_ = #{dto.courseScheduleType}
+        AND cs.is_lock_ = 0 AND cs.pre_course_flag_ = 0 AND cs.del_flag_ = 0
+        ORDER BY cs.class_date_,cs.start_class_time_
+    </select>
 </mapper>

+ 17 - 2
mec-biz/src/main/resources/config/mybatis/MusicGroupTrainPlanMapper.xml

@@ -25,7 +25,22 @@
 	
 	<!-- 全查询 -->
 	<select id="findAll" resultMap="MusicGroupTrainPlan">
-		SELECT * FROM music_group_train_plan ORDER BY id_
+		SELECT * FROM music_group_train_plan
+		<where>
+			<if test="dto.classGroupId != null">
+				class_group_id_ = #{dto.classGroupId}
+			</if>
+			<if test="dto.courseScheduleType != null and dto.courseScheduleType != ''">
+				course_type_ = #{dto.courseScheduleType}
+			</if>
+			<if test="dto.endSchoolTerm != null">
+				end_school_term_ = #{dto.endSchoolTerm}
+			</if>
+			<if test="dto.startSchoolTerm != null">
+				start_school_term_ = #{dto.startSchoolTerm}
+			</if>
+		</where>
+		ORDER BY id_
 	</select>
 	
 	<!-- 向数据库增加一条记录 -->
@@ -37,7 +52,7 @@
 		INSERT INTO music_group_train_plan (music_group_id_,class_group_id_,course_type_,plan_,start_school_term_,end_school_term_,update_time_,create_time_)
 		VALUES
 		<foreach collection="dto.plans" separator="," item="plan">
-			(#{dto.musicGroupId},#{dto.classGroupId},#{dto.courseType},#{plan},#{dto.startSchoolTerm},#{dto.endSchoolTerm},NOW(),NOW())
+			(#{dto.musicGroupId},#{dto.classGroupId},#{dto.courseScheduleType},#{plan},#{dto.startSchoolTerm},#{dto.endSchoolTerm},NOW(),NOW())
 		</foreach>
 	</insert>
 

+ 9 - 5
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupTrainPlanController.java

@@ -6,9 +6,7 @@ import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 @RequestMapping("musicGroupTrainPlan")
 @Api(tags = "乐团训练规划")
@@ -19,8 +17,14 @@ public class MusicGroupTrainPlanController extends BaseController {
 	private MusicGroupTrainPlanService musicGroupTrainPlanService;
 
 	@ApiOperation("新增乐团训练规划")
-	@GetMapping(value = "add")
-	public Object add(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto) {
+	@PostMapping(value = "add")
+	public Object add(@RequestBody MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto) {
 		return succeed(musicGroupTrainPlanService.add(musicGroupTrainPlanSaveDto));
 	}
+
+	@ApiOperation("获取乐团训练规划")
+	@PostMapping(value = "queryPlanPage")
+	public Object queryPlanPage(@RequestBody MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto) {
+		return succeed(musicGroupTrainPlanService.queryPlanPage(musicGroupTrainPlanSaveDto));
+	}
 }