CourseScheduleRewardsMapper.xml 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  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. <mapper namespace="com.ym.mec.biz.dal.dao.CourseScheduleRewardsRulesDao">
  5. <resultMap type="com.ym.mec.biz.dal.entity.CourseScheduleRewardsRules"
  6. id="CourseScheduleRewardsRules">
  7. <result column="id_" property="id" />
  8. <result column="name_" property="name" />
  9. <result column="course_schedule_type_" property="courseScheduleType"
  10. typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
  11. <result column="reward_mode_" property="rewardMode"
  12. typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
  13. <result column="organ_id_" property="organId" />
  14. <result column="rewards_rules_json_" property="rewardsRulesJson" />
  15. <result column="create_time_" property="createTime" />
  16. <result column="update_time_" property="updateTime" />
  17. <result column="vip_group_category_id_list_" property="vipGroupCategoryIdList" />
  18. <result column="teacher_id_" property="teacherId" />
  19. <result column="subject_id_" property="subjectIds" />
  20. <result column="subject_name_" property="subjectName" />
  21. </resultMap>
  22. <!-- 根据主键查询一条记录 -->
  23. <select id="get" resultMap="CourseScheduleRewardsRules">
  24. SELECT * FROM course_schedule_rewards_rules WHERE id_ = #{id}
  25. </select>
  26. <!-- 全查询 -->
  27. <select id="findAll" resultMap="CourseScheduleRewardsRules">
  28. SELECT * FROM course_schedule_rewards_rules ORDER BY id_
  29. </select>
  30. <!-- 向数据库增加一条记录 -->
  31. <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleRewardsRules"
  32. useGeneratedKeys="true" keyColumn="id" keyProperty="id">
  33. <!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval
  34. AS ID FROM DUAL </selectKey> -->
  35. INSERT INTO course_schedule_rewards_rules
  36. (id_,name_,course_schedule_type_,reward_mode_,organ_id_,rewards_rules_json_,create_time_,update_time_,vip_group_category_id_list_,teacher_id_,subject_id_)
  37. VALUES(#{id},#{name},#{courseScheduleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  38. #{rewardMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{organId},#{rewardsRulesJson},now(),now(),#{vipGroupCategoryIdList},#{teacherId},#{subjectIds})
  39. </insert>
  40. <!-- 根据主键查询一条记录 -->
  41. <update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleRewardsRules">
  42. UPDATE course_schedule_rewards_rules
  43. <set>
  44. <if test="rewardMode != null">
  45. reward_mode_ =
  46. #{rewardMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  47. </if>
  48. <if test="courseScheduleType != null">
  49. course_schedule_type_ =
  50. #{courseScheduleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  51. </if>
  52. <if test="vipGroupCategoryIdList != null">
  53. vip_group_category_id_list_ = #{vipGroupCategoryIdList},
  54. </if>
  55. <if test="teacherId != null">
  56. teacher_id_ = #{teacherId},
  57. </if>
  58. <if test="subjectIds != null">
  59. subject_id_ = #{subjectIds},
  60. </if>
  61. <if test="updateTime != null">
  62. update_time_ = now(),
  63. </if>
  64. <if test="organId != null">
  65. organ_id_ = #{organId},
  66. </if>
  67. <if test="name != null">
  68. name_ = #{name},
  69. </if>
  70. <if test="rewardsRulesJson != null">
  71. rewards_rules_json_ = #{rewardsRulesJson},
  72. </if>
  73. </set>
  74. WHERE id_ = #{id}
  75. </update>
  76. <!-- 根据主键删除一条记录 -->
  77. <delete id="delete">
  78. DELETE FROM course_schedule_rewards_rules WHERE id_ = #{id}
  79. </delete>
  80. <!-- 分页查询 -->
  81. <select id="queryPage" resultMap="CourseScheduleRewardsRules"
  82. parameterType="map">
  83. SELECT * FROM course_schedule_rewards_rules ORDER BY id_
  84. <include refid="global.limit" />
  85. </select>
  86. <!-- 查询当前表的总记录数 -->
  87. <select id="queryCount" resultType="int">
  88. SELECT COUNT(*) FROM course_schedule_rewards_rules
  89. </select>
  90. <select id="query" resultType="map">
  91. SELECT * FROM course_schedule_rewards_rules WHERE find_in_set(#{organId},organ_id_)
  92. AND course_schedule_type_ = #{courseScheduleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} ORDER BY update_time_ DESC
  93. </select>
  94. <select id="queryOrganIdList" resultType="java.lang.String">
  95. SELECT organ_id_ FROM course_schedule_rewards_rules
  96. </select>
  97. <select id="findByTeacherAndCategory" resultMap="CourseScheduleRewardsRules">
  98. SELECT * FROM course_schedule_rewards_rules csrr
  99. WHERE INTE_ARRAY(csrr.vip_group_category_id_list_,#{vipGroupCategoryIdList})
  100. AND INTE_ARRAY(csrr.teacher_id_,#{teacherId})
  101. AND INTE_ARRAY(csrr.subject_id_,#{subjectIds})
  102. </select>
  103. <select id="queryDetailPage" resultMap="CourseScheduleRewardsRules">
  104. SELECT GROUP_CONCAT(s.name_) subject_name_,csrr.* FROM course_schedule_rewards_rules csrr
  105. LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,csrr.subject_id_)
  106. <include refid="findDetailPageSql"/>
  107. GROUP BY csrr.id_ ORDER BY csrr.id_ DESC
  108. <include refid="global.limit" />
  109. </select>
  110. <select id="findDetailPage" resultType="java.lang.Integer">
  111. SELECT COUNT(csrr.id_) FROM course_schedule_rewards_rules csrr
  112. <include refid="findDetailPageSql"/>
  113. </select>
  114. <select id="findTeacherNames" resultType="java.util.Map">
  115. SELECT csrr.id_ 'key',GROUP_CONCAT(su.real_name_) 'value' FROM course_schedule_rewards_rules csrr
  116. LEFT JOIN sys_user su ON FIND_IN_SET(su.id_,csrr.teacher_id_)
  117. WHERE csrr.id_ IN
  118. <foreach collection="rewardsIds" separator="," item="item" open="(" close=")">
  119. #{item}
  120. </foreach>
  121. GROUP BY csrr.id_
  122. </select>
  123. <select id="findVipCategoryNames" resultType="java.util.Map">
  124. SELECT csrr.id_ 'key',GROUP_CONCAT(vgc.name_) 'value' FROM course_schedule_rewards_rules csrr
  125. LEFT JOIN vip_group_category vgc ON FIND_IN_SET(vgc.id_,csrr.vip_group_category_id_list_)
  126. WHERE vgc.del_flag_ != '1' AND csrr.id_ IN
  127. <foreach collection="rewardsIds" separator="," item="item" open="(" close=")">
  128. #{item}
  129. </foreach>
  130. GROUP BY csrr.id_
  131. </select>
  132. <resultMap id="TaskRewardsRulesDtoMap" type="com.ym.mec.biz.dal.dto.TaskRewardsRulesDto">
  133. <result property="teacherId" column="actual_teacher_id_"/>
  134. <result property="times" column="times_"/>
  135. <result property="activeId" column="active_id_"/>
  136. </resultMap>
  137. <select id="queryVipGroupTeacherClassTimesByMonth" resultMap="TaskRewardsRulesDtoMap">
  138. SELECT COUNT(cs.id_) times_,cs.actual_teacher_id_,csrr.id_ active_id_ FROM course_schedule_rewards_rules csrr
  139. LEFT JOIN vip_group vg ON FIND_IN_SET(vg.vip_group_category_id_,csrr.vip_group_category_id_list_)
  140. LEFT JOIN course_schedule cs ON vg.id_ = cs.music_group_id_
  141. LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
  142. LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_
  143. WHERE cs.group_type_ = 'VIP' AND csts.settlement_time_ IS NOT NULL
  144. AND cs.class_date_ &gt;= #{firstDayOfMonth} AND cs.class_date_ &lt;= #{lastDayOfMonth}
  145. AND FIND_IN_SET(cs.actual_teacher_id_,csrr.teacher_id_)
  146. AND FIND_IN_SET(cg.subject_id_list_,csrr.subject_id_)
  147. AND csts.user_id_ = cs.actual_teacher_id_
  148. GROUP BY cs.actual_teacher_id_,csrr.id_
  149. </select>
  150. <select id="findByIds" resultMap="CourseScheduleRewardsRules">
  151. SELECT * FROM course_schedule_rewards_rules csrr WHERE csrr.id_ IN
  152. <foreach collection="activeIds" separator="," open="(" close=")" item="item">
  153. #{item}
  154. </foreach>
  155. </select>
  156. <sql id="findDetailPageSql">
  157. <where>
  158. <if test="teacherId">
  159. AND FIND_IN_SET(#{teacherId},csrr.teacher_id_)
  160. </if>
  161. <if test="subjectId">
  162. AND FIND_IN_SET(#{subjectId},csrr.subject_id_)
  163. </if>
  164. <if test="search">
  165. AND csrr.name_ LIKE CONCAT('%',#{search},'%')
  166. </if>
  167. <if test="rewardMode">
  168. AND csrr.reward_mode_ = #{rewardMode}
  169. </if>
  170. <if test="vipGroupCategoryId">
  171. AND FIND_IN_SET(#{vipGroupCategoryId},csrr.vip_group_category_id_list_)
  172. </if>
  173. </where>
  174. </sql>
  175. </mapper>