Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

Joburgess 4 vuotta sitten
vanhempi
commit
9b587778ba

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

@@ -1680,4 +1680,13 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     List<Long> findNoStudentCourseIds(@Param("courseIds") List<Long> courseIds);
+
+    /**
+     *
+     * 根据班级编号获取未开始的主课
+     * @author zouxuan
+     * @param classGroupIds
+     * @return
+     */
+    int findNoStartMasterCourseNum(@Param("classGroupIds") List<Integer> classGroupIds);
 }

+ 4 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -3776,11 +3776,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         if(lockClassGroupIds != null && lockClassGroupIds.size() > 0){
             throw new BizException("所选班级包含审核中的学员班级调整申请");
         }
-        for (Integer classGroupId : classGroupIds) {
-            List<CourseSchedule> courseSchedules = courseScheduleDao.findCoursesByClassGroupId(classGroupId,CourseStatusEnum.NOT_START);
-            if(courseSchedules != null && courseSchedules.size() > 0){
-                throw new BizException("所选班级不能有未开始的临时合并课程");
-            }
+        //所选班级不能有未开始的临时合并课程
+        int courseNum = courseScheduleDao.findNoStartMasterCourseNum(classGroupIds);
+        if(courseNum > 0){
+            throw new BizException("所选班级不能有未开始的临时合并课程");
         }
         List<Integer> allTeacherIds = classGroupTeacherMapperList.stream()
                 .map(ClassGroupTeacherMapper::getUserId)

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

@@ -3425,6 +3425,15 @@
         </foreach>
         GROUP BY cssp.course_schedule_id_,cs.id_  HAVING COUNT(cssp.id_) = 0
     </select>
+    <select id="findNoStartMasterCourseNum" resultType="int">
+        SELECT count(new_course_id_) FROM course_schedule
+        WHERE new_course_id_ IN (SELECT id_ FROM course_schedule
+        WHERE class_group_id_ IN
+        <foreach collection="classGroupIds" open="(" close=")" separator="," item="item">
+            #{item}
+        </foreach>
+        AND CONCAT(class_date_,' ',start_class_time_) > NOW())
+    </select>
     <select id="getLock" resultMap="CourseSchedule">
         SELECT * FROM course_schedule WHERE id_ = #{courseId} FOR UPDATE
     </select>