zouxuan 4 vuotta sitten
vanhempi
commit
9d4298f434

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupSchoolTermStudentCourseDetailDao.java

@@ -57,7 +57,7 @@ public interface MusicGroupSchoolTermStudentCourseDetailDao extends BaseDAO<Long
      * @param musicGroupSchoolTermCourseDetailId
      * @return
      */
-    boolean checkNoCourse(Integer musicGroupSchoolTermCourseDetailId);
+    String getNoCourseStudentName(Integer musicGroupSchoolTermCourseDetailId);
 
     /**
      * 更新学员排课时长

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -2627,8 +2627,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     public void confirmPreCourseSchedule(Integer musicGroupSchoolTermCourseDetailId) {
         MusicGroupSchoolTermCourseDetail termCourseDetail = musicGroupSchoolTermCourseDetailDao.get(musicGroupSchoolTermCourseDetailId);
         //校验所有学员的课时都有消耗
-        if(musicGroupSchoolTermStudentCourseDetailDao.checkNoCourse(musicGroupSchoolTermCourseDetailId)){
-            throw new BizException("操作失败:请确保所有学员都已排课");
+        String studentName = musicGroupSchoolTermStudentCourseDetailDao.getNoCourseStudentName(musicGroupSchoolTermCourseDetailId);
+        if(StringUtils.isNotEmpty(studentName)){
+            throw new BizException("操作失败:{} 学员未排课,请检查排课是否完整",studentName);
         }
         //获取所有预排课课程列表
         List<CourseSchedule> courseSchedules = courseScheduleDao.queryPreCourseListByMusicGroupId(termCourseDetail.getMusicGroupId());

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/MusicGroupSchoolTermStudentCourseDetailMapper.xml

@@ -141,9 +141,12 @@
 		</foreach>
 		GROUP BY music_group_school_term_course_detail_id_
 	</select>
-	<select id="checkNoCourse" resultType="java.lang.Boolean">
+	<select id="getNoCourseStudentName" resultType="java.lang.String">
 		SELECT COUNT(id_) > 0 FROM music_group_school_term_student_course_detail
 		WHERE music_group_school_term_course_detail_id_ = #{musicGroupSchoolTermCourseDetailId} AND pre_member_course_minutes_ = 0
+		SELECT GROUP_CONCAT(DISTINCT su.username_) FROM music_group_school_term_student_course_detail mgs
+															LEFT JOIN sys_user su ON su.id_ = mgs.user_id_
+		WHERE music_group_school_term_course_detail_id_ = #{musicGroupSchoolTermCourseDetailId} AND pre_member_course_minutes_ = 0
 	</select>
 	<select id="findByDetailId" resultMap="MusicGroupSchoolTermStudentCourseDetail">
 		SELECT * FROM music_group_school_term_student_course_detail WHERE music_group_school_term_course_detail_id_ = #{courseDetailId}