Browse Source

乐团档案

zouxuan 4 years ago
parent
commit
265c0c6d69
1 changed files with 10 additions and 10 deletions
  1. 10 10
      mec-biz/src/main/resources/config/mybatis/MusicGroupTrainPlanMapper.xml

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

@@ -120,10 +120,10 @@
 		<result property="scheduleType" column="type_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 	</resultMap>
     <select id="queryWaitCourseTrainPlan" resultMap="WaitCourseTrainPlanDto">
-		SELECT c.class_group_id_,c.type_,c.course_num_ - t.course_num_ num_,c.name_ FROM (
+		SELECT c.class_group_id_,c.type_,c.course_num_ - (CASE WHEN t.course_num_ IS NULL THEN 0 ELSE t.course_num_ END) num_,c.name_ FROM (
 		SELECT cs.class_group_id_,cs.type_,COUNT(cs.id_) course_num_,cg.name_ FROM course_schedule cs
 		LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
-		WHERE cs.music_group_id_ = #{musicGroupId} AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND cs.is_lock_ = 0
+		WHERE cs.music_group_id_ = #{dto.musicGroupId} AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND cs.is_lock_ = 0
 		<if test="dto.startSchoolTerm != null">
 			AND cs.class_date_ >= DATE_FORMAT(#{dto.startSchoolTerm}, '%Y%m%d')
 		</if>
@@ -132,20 +132,20 @@
 		</if>
 		GROUP BY cs.class_group_id_,cs.type_) c
 		LEFT JOIN (SELECT tp.class_group_id_,tp.course_type_ type_,COUNT(tp.id_) course_num_,'' name_ FROM music_group_train_plan tp
-				WHERE tp.music_group_id_ = #{musicGroupId}
+				WHERE tp.music_group_id_ = #{dto.musicGroupId}
 				<if test="dto.startSchoolTerm != null">
 					AND tp.start_school_term_ = #{dto.startSchoolTerm}
 				</if>
 				<if test="dto.endSchoolTerm != null">
 					AND tp.end_school_term_ = #{dto.endSchoolTerm}
 				</if>
-				GROUP BY tp.class_group_id_,tp.course_type_) t ON 1=1
-		WHERE c.class_group_id_ = t.class_group_id_ AND c.type_ = t.type_ AND c.course_num_ > t.course_num_
+				GROUP BY tp.class_group_id_,tp.course_type_) t ON c.type_ = t.type_ AND c.class_group_id_ = t.class_group_id_
+		WHERE c.course_num_ > (CASE WHEN t.course_num_ IS NULL THEN 0 ELSE t.course_num_ END)
 	</select>
     <select id="queryWaitCourseTrainPlan1" resultMap="WaitCourseTrainPlanDto">
-		SELECT c.class_group_id_,c.type_,t.course_num_ - c.course_num_ num_,c.name_
+		SELECT c.class_group_id_,c.type_,t.course_num_ - (CASE WHEN c.course_num_ IS NULL THEN 0 ELSE c.course_num_ END) num_,c.name_
 		FROM (SELECT tp.class_group_id_,tp.course_type_ type_,COUNT(tp.id_) course_num_,'' name_ FROM music_group_train_plan tp
-		WHERE tp.music_group_id_ = #{musicGroupId}
+		WHERE tp.music_group_id_ = #{dto.musicGroupId}
 		<if test="dto.startSchoolTerm != null">
 			AND tp.start_school_term_ = #{dto.startSchoolTerm}
 		</if>
@@ -156,15 +156,15 @@
 		LEFT JOIN (
 		SELECT cs.class_group_id_,cs.type_,COUNT(cs.id_) course_num_,cg.name_ FROM course_schedule cs
 		LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
-		WHERE cs.music_group_id_ = #{musicGroupId} AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND cs.is_lock_ = 0
+		WHERE cs.music_group_id_ = #{dto.musicGroupId} AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND cs.is_lock_ = 0
 		<if test="dto.startSchoolTerm != null">
 			AND cs.class_date_ >= DATE_FORMAT(#{dto.startSchoolTerm}, '%Y%m%d')
 		</if>
 		<if test="dto.endSchoolTerm != null">
 			AND cs.class_date_ &lt;= DATE_FORMAT(#{dto.endSchoolTerm}, '%Y%m%d')
 		</if>
-		GROUP BY cs.class_group_id_,cs.type_) c ON 1=1
-		WHERE c.class_group_id_ = t.class_group_id_ AND c.type_ = t.type_ AND c.course_num_ &lt; t.course_num_
+		GROUP BY cs.class_group_id_,cs.type_) c ON c.class_group_id_ = t.class_group_id_ AND c.type_ = t.type_
+		WHERE t.course_num_ > (CASE WHEN c.course_num_ IS NULL THEN 0 ELSE c.course_num_ END)
 	</select>
 	<select id="countPlanNum" resultType="int">
 		SELECT COUNT(id_) FROM music_group_train_plan