MusicGroupTrainPlanMapper.xml 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <!--
  4. 这个文件是自动生成的。
  5. 不要修改此文件。所有改动将在下次重新自动生成时丢失。
  6. -->
  7. <mapper namespace="com.ym.mec.biz.dal.dao.MusicGroupTrainPlanDao">
  8. <resultMap type="com.ym.mec.biz.dal.entity.MusicGroupTrainPlan" id="MusicGroupTrainPlan">
  9. <result column="id_" property="id" />
  10. <result column="music_group_id_" property="musicGroupId" />
  11. <result column="class_group_id_" property="classGroupId" />
  12. <result column="course_type_" property="courseType" />
  13. <result column="plan_" property="plan" />
  14. <result column="start_school_term_" property="startSchoolTerm" />
  15. <result column="end_school_term_" property="endSchoolTerm" />
  16. <result column="update_time_" property="updateTime" />
  17. <result column="create_time_" property="createTime" />
  18. </resultMap>
  19. <!-- 根据主键查询一条记录 -->
  20. <select id="get" resultMap="MusicGroupTrainPlan" >
  21. SELECT * FROM music_group_train_plan WHERE id_ = #{id}
  22. </select>
  23. <!-- 全查询 -->
  24. <select id="findAll" resultMap="MusicGroupTrainPlan">
  25. SELECT * FROM music_group_train_plan
  26. <where>
  27. <if test="classGroupId != null">
  28. AND class_group_id_ = #{classGroupId}
  29. </if>
  30. <if test="courseScheduleType != null and courseScheduleType != ''">
  31. AND course_type_ = #{courseScheduleType}
  32. </if>
  33. <if test="endSchoolTerm != null">
  34. AND end_school_term_ = #{endSchoolTerm}
  35. </if>
  36. <if test="startSchoolTerm != null">
  37. AND start_school_term_ = #{startSchoolTerm}
  38. </if>
  39. </where>
  40. ORDER BY id_
  41. </select>
  42. <select id="findAllPlan" resultType="java.lang.String">
  43. SELECT plan_ FROM music_group_train_plan
  44. <where>
  45. <if test="classGroupId != null">
  46. AND class_group_id_ = #{classGroupId}
  47. </if>
  48. <if test="courseScheduleType != null and courseScheduleType != ''">
  49. AND course_type_ = #{courseScheduleType}
  50. </if>
  51. <if test="endSchoolTerm != null">
  52. AND end_school_term_ = #{endSchoolTerm}
  53. </if>
  54. <if test="startSchoolTerm != null">
  55. AND start_school_term_ = #{startSchoolTerm}
  56. </if>
  57. </where>
  58. ORDER BY id_
  59. </select>
  60. <!-- 向数据库增加一条记录 -->
  61. <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.MusicGroupTrainPlan" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
  62. 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_)
  63. VALUES(#{musicGroupId},#{classGroupId},#{courseType},#{plan},#{startSchoolTerm},#{endSchoolTerm},NOW(),NOW())
  64. </insert>
  65. <insert id="add">
  66. 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_)
  67. VALUES
  68. <foreach collection="dto.plans" separator="," item="plan">
  69. (#{dto.musicGroupId},#{dto.classGroupId},#{dto.courseScheduleType},#{plan},#{dto.startSchoolTerm},#{dto.endSchoolTerm},NOW(),NOW())
  70. </foreach>
  71. </insert>
  72. <!-- 根据主键查询一条记录 -->
  73. <update id="update" parameterType="com.ym.mec.biz.dal.entity.MusicGroupTrainPlan">
  74. UPDATE music_group_train_plan <set>
  75. <if test="endSchoolTerm != null">
  76. end_school_term_ = #{endSchoolTerm},
  77. </if>
  78. <if test="classGroupId != null">
  79. class_group_id_ = #{classGroupId},
  80. </if>
  81. <if test="startSchoolTerm != null">
  82. start_school_term_ = #{startSchoolTerm},
  83. </if>
  84. <if test="plan != null">
  85. plan_ = #{plan},
  86. </if>
  87. <if test="courseType != null">
  88. course_type_ = #{courseType},
  89. </if>
  90. <if test="musicGroupId != null">
  91. music_group_id_ = #{musicGroupId},
  92. </if>
  93. update_time_ = NOW(),
  94. </set> WHERE id_ = #{id}
  95. </update>
  96. <!-- 根据主键删除一条记录 -->
  97. <delete id="delete" >
  98. DELETE FROM music_group_train_plan WHERE id_ = #{id}
  99. </delete>
  100. <!-- 分页查询 -->
  101. <select id="queryPage" resultMap="MusicGroupTrainPlan" parameterType="map">
  102. SELECT * FROM music_group_train_plan ORDER BY id_ <include refid="global.limit"/>
  103. </select>
  104. <!-- 查询当前表的总记录数 -->
  105. <select id="queryCount" resultType="int">
  106. SELECT COUNT(*) FROM music_group_train_plan
  107. </select>
  108. <resultMap id="WaitCourseTrainPlanDto" type="com.ym.mec.biz.dal.dto.WaitCourseTrainPlanDto">
  109. <result property="classGroupId" column="class_group_id_"/>
  110. <result property="classGroupName" column="name_"/>
  111. <result property="num" column="num_"/>
  112. <result property="scheduleType" column="type_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
  113. </resultMap>
  114. <select id="queryWaitCourseTrainPlan" resultMap="WaitCourseTrainPlanDto">
  115. 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 (
  116. SELECT cs.class_group_id_,cs.type_,COUNT(cs.id_) course_num_,cg.name_ FROM course_schedule cs
  117. LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
  118. WHERE cs.music_group_id_ = #{dto.musicGroupId} AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND cs.is_lock_ = 0
  119. <if test="dto.startSchoolTerm != null">
  120. AND cs.class_date_ >= DATE_FORMAT(#{dto.startSchoolTerm}, '%Y%m%d')
  121. </if>
  122. <if test="dto.endSchoolTerm != null">
  123. AND cs.class_date_ &lt;= DATE_FORMAT(#{dto.endSchoolTerm}, '%Y%m%d')
  124. </if>
  125. GROUP BY cs.class_group_id_,cs.type_) c
  126. LEFT JOIN (SELECT tp.class_group_id_,tp.course_type_ type_,COUNT(tp.id_) course_num_,'' name_ FROM music_group_train_plan tp
  127. WHERE tp.music_group_id_ = #{dto.musicGroupId}
  128. <if test="dto.startSchoolTerm != null">
  129. AND tp.start_school_term_ = #{dto.startSchoolTerm}
  130. </if>
  131. <if test="dto.endSchoolTerm != null">
  132. AND tp.end_school_term_ = #{dto.endSchoolTerm}
  133. </if>
  134. GROUP BY tp.class_group_id_,tp.course_type_) t ON c.type_ = t.type_ AND c.class_group_id_ = t.class_group_id_
  135. WHERE c.course_num_ > (CASE WHEN t.course_num_ IS NULL THEN 0 ELSE t.course_num_ END)
  136. </select>
  137. <select id="queryWaitCourseTrainPlan1" resultMap="WaitCourseTrainPlanDto">
  138. SELECT t.class_group_id_,t.type_,t.course_num_ - (CASE WHEN c.course_num_ IS NULL THEN 0 ELSE c.course_num_ END) num_,t.name_
  139. FROM (SELECT tp.class_group_id_,tp.course_type_ type_,COUNT(tp.id_) course_num_,cg.name_ FROM music_group_train_plan tp
  140. LEFT JOIN class_group cg ON cg.id_ = tp.class_group_id_
  141. WHERE tp.music_group_id_ = #{dto.musicGroupId}
  142. <if test="dto.startSchoolTerm != null">
  143. AND tp.start_school_term_ = #{dto.startSchoolTerm}
  144. </if>
  145. <if test="dto.endSchoolTerm != null">
  146. AND tp.end_school_term_ = #{dto.endSchoolTerm}
  147. </if>
  148. GROUP BY tp.class_group_id_,tp.course_type_) t
  149. LEFT JOIN (
  150. SELECT cs.class_group_id_,cs.type_,COUNT(cs.id_) course_num_,'' name_ FROM course_schedule cs
  151. WHERE cs.music_group_id_ = #{dto.musicGroupId} AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND cs.is_lock_ = 0
  152. <if test="dto.startSchoolTerm != null">
  153. AND cs.class_date_ >= DATE_FORMAT(#{dto.startSchoolTerm}, '%Y%m%d')
  154. </if>
  155. <if test="dto.endSchoolTerm != null">
  156. AND cs.class_date_ &lt;= DATE_FORMAT(#{dto.endSchoolTerm}, '%Y%m%d')
  157. </if>
  158. GROUP BY cs.class_group_id_,cs.type_) c ON c.class_group_id_ = t.class_group_id_ AND c.type_ = t.type_
  159. WHERE t.course_num_ > (CASE WHEN c.course_num_ IS NULL THEN 0 ELSE c.course_num_ END)
  160. </select>
  161. <select id="countPlanNum" resultType="int">
  162. SELECT COUNT(id_) FROM music_group_train_plan
  163. WHERE class_group_id_ = #{dto.classGroupId} AND course_type_ = #{dto.courseScheduleType}
  164. <if test="dto.startSchoolTerm != null">
  165. AND start_school_term_ = #{dto.startSchoolTerm}
  166. </if>
  167. <if test="dto.endSchoolTerm != null">
  168. AND end_school_term_ = #{dto.endSchoolTerm}
  169. </if>
  170. </select>
  171. <select id="queryPlan" resultMap="MusicGroupTrainPlan">
  172. SELECT * FROM music_group_train_plan
  173. <where>
  174. <if test="schoolTerm.startSchoolTerm != null">
  175. AND start_school_term_ = #{schoolTerm.startSchoolTerm}
  176. </if>
  177. <if test="schoolTerm.endSchoolTerm != null">
  178. AND end_school_term_ = #{schoolTerm.endSchoolTerm}
  179. </if>
  180. <if test="schoolTerm.classGroupId != null">
  181. AND class_group_id_ = #{schoolTerm.classGroupId}
  182. </if>
  183. <if test="schoolTerm.courseScheduleType != null">
  184. AND course_type_ = #{schoolTerm.courseScheduleType}
  185. </if>
  186. </where>
  187. </select>
  188. </mapper>