CourseScheduleTeacherSalaryMapper.xml 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  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.CourseScheduleTeacherSalaryDao">
  8. <resultMap type="com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary" id="CourseScheduleTeacherSalary">
  9. <result column="id_" property="id" />
  10. <result column="course_schedule_id_" property="courseScheduleId" />
  11. <result column="teacher_role_" property="teacherRole" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
  12. <result column="user_id_" property="userId" />
  13. <result column="username_" property="userName"/>
  14. <result column="expect_salary_" property="expectSalary" />
  15. <result column="create_time_" property="createTime" />
  16. <result column="update_time_" property="updateTime" />
  17. <result column="subsidy_" property="subsidy" />
  18. <result column="actual_salary_" property="actualSalary" />
  19. <result column="settlement_time_" property="settlementTime" />
  20. <result column="class_group_id_" property="classGroupId" />
  21. </resultMap>
  22. <!-- 根据主键查询一条记录 -->
  23. <select id="get" resultMap="CourseScheduleTeacherSalary" >
  24. SELECT * FROM course_schedule_teacher_salary WHERE id_ = #{id}
  25. </select>
  26. <!-- 全查询 -->
  27. <select id="findAll" resultMap="CourseScheduleTeacherSalary">
  28. SELECT * FROM course_schedule_teacher_salary ORDER BY id_
  29. </select>
  30. <!-- 向数据库增加一条记录 -->
  31. <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
  32. <!--
  33. <selectKey resultClass="int" keyProperty="id" >
  34. SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
  35. </selectKey>
  36. -->
  37. INSERT INTO course_schedule_teacher_salary (id_,course_schedule_id_,teacher_role_,user_id_,expect_salary_,create_time_,update_time_,subsidy_,actual_salary_,settlement_time_,class_group_id_) VALUES(#{id},#{courseScheduleId},#{teacherRole},#{userId},#{expectSalary},now(),now(),#{subsidy},#{actualSalary},#{settlementTime},#{classGroupId})
  38. </insert>
  39. <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_">
  40. INSERT INTO course_schedule_teacher_salary (id_,course_schedule_id_,teacher_role_,user_id_,expect_salary_,create_time_,update_time_,subsidy_,actual_salary_,settlement_time_,class_group_id_)
  41. VALUES
  42. <foreach collection="list" item="data" separator=",">
  43. (#{data.id},#{data.courseScheduleId},#{data.teacherRole},#{data.userId},#{data.expectSalary},now(),now(),#{data.subsidy},#{data.actualSalary},#{data.settlementTime},#{data.classGroupId})
  44. </foreach>
  45. </insert>
  46. <!-- 根据主键查询一条记录 -->
  47. <update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary">
  48. UPDATE course_schedule_teacher_salary
  49. <set>
  50. <if test="userId != null">
  51. user_id_ = #{userId},
  52. </if>
  53. <if test="subsidy != null">
  54. subsidy_ = #{subsidy},
  55. </if>
  56. <if test="id != null">
  57. id_ = #{id},
  58. </if>
  59. <if test="expectSalary != null">
  60. expect_salary_ = #{expectSalary},
  61. </if>
  62. <if test="courseScheduleId != null">
  63. course_schedule_id_ = #{courseScheduleId},
  64. </if>
  65. <if test="settlementTime != null">
  66. settlement_time_ = #{settlementTime},
  67. </if>
  68. <if test="teacherRole != null">
  69. teacher_role_ = #{teacherRole},
  70. </if>
  71. <if test="updateTime != null">
  72. update_time_ = #{updateTime},
  73. </if>
  74. <if test="actualSalary != null">
  75. actual_salary_ = #{actualSalary},
  76. </if>
  77. <if test="createTime != null">
  78. create_time_ = #{createTime},
  79. </if>
  80. <if test="classGroupId != null">
  81. class_group_id_ = #{classGroupId},
  82. </if>
  83. </set> WHERE id_ = #{id}
  84. </update>
  85. <!-- 根据主键删除一条记录 -->
  86. <delete id="delete" >
  87. DELETE FROM course_schedule_teacher_salary WHERE id_ = #{id}
  88. </delete>
  89. <delete id="batchDeleteByCourseScheduleIds">
  90. DELETE FROM course_schedule_teacher_salary WHERE id_ IN
  91. <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
  92. #{courseScheduleId}
  93. </foreach>
  94. </delete>
  95. <!-- 分页查询 -->
  96. <select id="queryPage" resultMap="CourseScheduleTeacherSalary" parameterType="map">
  97. SELECT * FROM course_schedule_teacher_salary ORDER BY id_ <include refid="global.limit"/>
  98. </select>
  99. <!-- 查询当前表的总记录数 -->
  100. <select id="queryCount" resultType="int">
  101. SELECT COUNT(*) FROM course_schedule_teacher_salary
  102. </select>
  103. <resultMap id="VipGroupSalaryDto" type="com.ym.mec.biz.dal.dto.VipGroupSalaryDto" extends="CourseScheduleTeacherSalary">
  104. <result column="course_schedule_id_" property="courseScheduleId" />
  105. <result column="class_date_" property="classDate" />
  106. <result column="teach_mode_" property="teachMode" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
  107. </resultMap>
  108. <sql id="vipGroupSalaryQueryCondition">
  109. <where>
  110. vg.id_=#{vipGroupId} AND FIND_IN_SET(#{organId},vg.organ_id_list_)
  111. <if test="startTime!=null and endTime!=null">
  112. AND (cs.class_date_ BETWEEN #{startTime} AND #{endTime})
  113. </if>
  114. </where>
  115. </sql>
  116. <select id="findVipGroupSalarys" resultMap="VipGroupSalaryDto">
  117. SELECT
  118. cs.id_ course_schedule_id_,
  119. CONCAT(cs.class_date_," ",cs.start_class_time_) class_date_,
  120. cs.teach_mode_,
  121. csts.*
  122. FROM
  123. vip_group vg
  124. LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_ = vgcgm.vip_group_id_
  125. LEFT JOIN course_schedule cs ON vgcgm.class_group_id_ = cs.class_group_id_
  126. LEFT JOIN course_schedule_teacher_salary csts ON cs.id_ = csts.course_schedule_id_
  127. <include refid="vipGroupSalaryQueryCondition"/>
  128. ORDER BY id_
  129. <include refid="global.limit"/>
  130. </select>
  131. <select id="countVipGroupSalarys" resultType="int">
  132. SELECT
  133. COUNT(*)
  134. FROM
  135. vip_group vg
  136. LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_ = vgcgm.vip_group_id_
  137. LEFT JOIN course_schedule cs ON vgcgm.class_group_id_ = cs.class_group_id_
  138. <include refid="vipGroupSalaryQueryCondition"/>
  139. </select>
  140. <select id="findSomeDayAgoTeacherCourseSalaryNoSettlement" resultMap="CourseScheduleTeacherSalary">
  141. SELECT
  142. cs.class_date_,
  143. csts.*
  144. FROM
  145. course_schedule_teacher_salary csts
  146. LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
  147. WHERE
  148. CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) &lt;= DATE_ADD( NOW( ), INTERVAL - 7 DAY )
  149. AND cs.type_='VIP'
  150. AND csts.settlement_time_ IS NULL
  151. </select>
  152. <select id="queryByCourseScheduleIdAndUserId" resultMap="CourseScheduleTeacherSalary" parameterType="map">
  153. SELECT * FROM course_schedule_teacher_salary where user_id_ = #{teacherId} and course_schedule_id_ = #{courseScheduleId}
  154. </select>
  155. <select id="findByCourseScheduleIdsAndTeacherRole" resultMap="CourseScheduleTeacherSalary">
  156. SELECT
  157. csts.*,
  158. su.username_
  159. FROM
  160. course_schedule_teacher_salary csts
  161. LEFT JOIN sys_user su ON csts.user_id_=su.id_
  162. WHERE csts.course_schedule_id_ IN
  163. <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
  164. #{courseScheduleId}
  165. </foreach>
  166. AND csts.teacher_role_=#{teacherRole}
  167. </select>
  168. <select id="findMusicGroupSettlementTypeByCourse" resultType="map">
  169. SELECT
  170. cs.id_ AS 'key',
  171. mg.settlement_type_ AS 'value'
  172. FROM
  173. course_schedule cs
  174. LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
  175. LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
  176. WHERE cs.id_ IN
  177. <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
  178. #{courseScheduleId}
  179. </foreach>
  180. </select>
  181. <select id="findMusicGroupChargeTypeByCourse" resultType="map">
  182. SELECT
  183. cs.id_ AS 'key',
  184. mg.charge_type_id_ AS 'value'
  185. FROM
  186. course_schedule cs
  187. LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
  188. LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
  189. WHERE cs.id_ IN
  190. <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
  191. #{courseScheduleId}
  192. </foreach>
  193. </select>
  194. <select id="findCourseSubsidyByCourses" resultType="map">
  195. SELECT
  196. cs.id_,
  197. s.subsidy_
  198. FROM
  199. course_schedule cs
  200. LEFT JOIN school s ON cs.schoole_id_=s.id_
  201. WHERE cs.id_ IN
  202. <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
  203. #{courseScheduleId}
  204. </foreach>
  205. </select>
  206. <resultMap id="CourseScheduleTeachersDto" type="com.ym.mec.biz.dal.dto.CourseScheduleTeachersDto">
  207. <result property="teacherId" column="user_id_"/>
  208. <result property="teacherName" column="real_name_"/>
  209. <result property="teacherRole" column="teacher_role_"/>
  210. <result property="expectSalary" column="expect_salary_"/>
  211. <result property="subsidy" column="subsidy_"/>
  212. </resultMap>
  213. <select id="queryTeacherSalary" resultMap="CourseScheduleTeachersDto">
  214. SELECT csts.user_id_,su.real_name_,csts.teacher_role_,csts.expect_salary_,csts.subsidy_
  215. FROM course_schedule_teacher_salary csts
  216. LEFT JOIN sys_user su ON su.id_ = csts.user_id_
  217. WHERE csts.course_schedule_id_ = #{courseScheduleId}
  218. </select>
  219. <update id="batchUpdateWages" parameterType="map">
  220. UPDATE course_schedule_teacher_salary set
  221. subsidy_ = #{subsidy},
  222. expect_salary_ = #{salary},
  223. update_time_ = now()
  224. WHERE user_id_ = #{userId} and class_group_id_ = #{classGroupId}
  225. </update>
  226. <update id="batchUpdateTeacherExpectSalary">
  227. UPDATE course_schedule_teacher_salary
  228. SET expect_salary_ = 0
  229. WHERE
  230. course_schedule_id_ = #{courseScheduleId}
  231. AND user_id_ IN
  232. <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
  233. #{userId}
  234. </foreach>
  235. </update>
  236. </mapper>