소스 검색

1.筹备中的清空课表,不再筛选课程状态
2.筹备中到进行中,校验是否有非未开始课程,如果有则报错,无法到进行中

Joburgess 4 년 전
부모
커밋
6d28b462d8

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

@@ -87,6 +87,9 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
                                                        @Param("status") String status);
 
 
+    List<CourseSchedule> findMusicGroupAllCourseSchedules(@Param("musicGroupId") String musicGroupId,
+                                                       @Param("groupType") String groupType);
+
     /**
      * @param musicGroupId: 乐团编号
      * @param status:       状态
@@ -1266,6 +1269,9 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      */
     List<Map<Long, Integer>> countGroupOverCourse(@Param("groupIds") List<String> groupIds, @Param("groupType") String groupType);
 
+
+    int countGroupFinishCourse(@Param("groupId") String groupId, @Param("groupType") String groupType);
+
     /**
      * @param userId:
      * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>

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

@@ -49,6 +49,8 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 */
 	void batchDeleteMusicGroupNotStartCourse(String musicGroupId,GroupType groupType);
 
+	void batchDeleteMusicGroup(String musicGroupId,GroupType groupType);
+
 	/**
 	 * @describe 删除指定乐团下指定状态的课程
 	 * @author Joburgess

+ 16 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -238,7 +238,22 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         batchDeleteCourseSchedules(courseScheduleIds);
     }
 
-    @Override
+	@Override
+	public void batchDeleteMusicGroup(String musicGroupId, GroupType groupType) {
+		if (StringUtils.isBlank(musicGroupId)) {
+			throw new BizException("请指定乐团");
+		}
+		List<CourseSchedule> musicGroupCourseSchedules = courseScheduleDao.findMusicGroupAllCourseSchedules(musicGroupId, groupType.getCode());
+		if (CollectionUtils.isEmpty(musicGroupCourseSchedules)) {
+			throw new BizException("此乐团不存在未上课程");
+		}
+		List<Long> courseScheduleIds = musicGroupCourseSchedules.stream()
+				.map(CourseSchedule::getId)
+				.collect(Collectors.toList());
+		batchDeleteCourseSchedules(courseScheduleIds);
+	}
+
+	@Override
     @Transactional(rollbackFor = Exception.class)
     public void batchDeleteMusicGroupCourseWithStudent(String musicGroupId, Integer userId, GroupType groupType) {
         if (StringUtils.isBlank(musicGroupId)) {

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -872,6 +872,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             throw new BizException("用户信息获取失败");
         }
         MusicGroup musicGroup = saveLog(musicGroupId, MusicGroupStatusEnum.PREPARE);
+        int finishCourseNum = courseScheduleDao.countGroupFinishCourse(musicGroupId, GroupType.MUSIC.getCode());
+        if(finishCourseNum>0){
+            throw new BizException("此乐团存在已结束课程");
+        }
+
         //乐器采购清单是否确认
         Map<String, Object> param = new HashMap<>();
         param.put("musicGroupId", musicGroupId);

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

@@ -1955,6 +1955,13 @@
           AND cs.group_type_ = #{groupType}
           AND status_ = #{status}
     </select>
+    <select id="findMusicGroupAllCourseSchedules" resultMap="CourseSchedule">
+        SELECT cs.*
+        FROM course_schedule cs
+                 LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
+        WHERE cg.music_group_id_ = #{musicGroupId}
+          AND cs.group_type_ = #{groupType}
+    </select>
     <select id="findMusicGroupCourseSchedulesWithStudent" resultMap="CourseSchedule">
         SELECT cs.*
         FROM course_schedule_student_payment cssp
@@ -2645,6 +2652,15 @@
         </foreach>
         GROUP BY cs.music_group_id_
     </select>
+    <select id="countGroupFinishCourse" resultType="int">
+        SELECT
+            COUNT(cs.Id_)
+        FROM
+            course_schedule cs
+        WHERE CONCAT(cs.class_date_, ' ', cs.start_class_time_) &lt; NOW()
+            AND cs.group_type_ = #{groupType}
+            AND cs.music_group_id_ = #{groupId}
+    </select>
     <select id="findUserCourses" resultMap="CourseSchedule">
         SELECT
         cs.id_,

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java

@@ -237,7 +237,7 @@ public class CourseScheduleController extends BaseController {
     @GetMapping("/batchDeleteMusicGroupNotStartCourse")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/batchDeleteMusicGroupNotStartCourse')")
 	public Object batchDeleteMusicGroupNotStartCourse(String musicGroupId){
-        scheduleService.batchDeleteMusicGroupNotStartCourse(musicGroupId,GroupType.MUSIC);
+        scheduleService.batchDeleteMusicGroup(musicGroupId,GroupType.MUSIC);
         return succeed();
     }