CooperationOrganMapper.xml 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  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.CooperationOrganDao">
  5. <resultMap type="com.ym.mec.biz.dal.entity.CooperationOrgan"
  6. id="CooperationOrgan">
  7. <result column="id_" property="id"/>
  8. <result column="education_user_id_" property="educationUserId"/>
  9. <result column="real_name_" property="realName"/>
  10. <result column="name_" property="name"/>
  11. <result column="linkman_" property="linkman"/>
  12. <result column="organ_id_" property="organId"/>
  13. <result column="job_" property="job"/>
  14. <result column="mobile_no_" property="mobileNo"/>
  15. <result column="address_" property="address"/>
  16. <result column="is_enable_" property="isEnable"/>
  17. <result column="ownership_type_" property="ownershipType"
  18. typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
  19. <result column="create_time_" property="createTime"/>
  20. <result column="update_time_" property="updateTime"/>
  21. <result column="full_job_resource_" property="fullJobResource"/>
  22. <result column="tenant_id_" property="tenantId" />
  23. </resultMap>
  24. <resultMap type="com.ym.mec.biz.dal.entity.CooperationOrgan" id="ExtCooperationOrgan" extends="CooperationOrgan">
  25. <result column="organ_id_" property="organization.id"/>
  26. <result column="organ_name_" property="organization.name"/>
  27. <collection property="cooperationOrganLinkmanList"
  28. select="com.ym.mec.biz.dal.dao.CooperationOrganLinkmanDao.queryByCooperationOrganId"
  29. column="id_">
  30. </collection>
  31. </resultMap>
  32. <!-- 根据主键查询一条记录 -->
  33. <select id="get" resultMap="CooperationOrgan">
  34. SELECT * FROM cooperation_organ WHERE id_ = #{id}
  35. </select>
  36. <!-- 全查询 -->
  37. <select id="findAll" resultMap="CooperationOrgan">
  38. SELECT *
  39. FROM cooperation_organ
  40. WHERE del_flag_ != 1 and tenant_id_ = #{tenantId}
  41. ORDER BY id_
  42. </select>
  43. <!-- 向数据库增加一条记录 -->
  44. <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CooperationOrgan"
  45. useGeneratedKeys="true" keyColumn="id" keyProperty="id">
  46. INSERT INTO cooperation_organ
  47. (id_, name_, linkman_, job_, mobile_no_, address_, organ_id_, create_time_, update_time_, ownership_type_,
  48. is_enable_, full_job_resource_,education_user_id_,tenant_id_)
  49. VALUES (#{id}, #{name}, #{linkman}, #{job}, #{mobileNo}, #{address}, #{organId}, now(), now(),
  50. #{ownershipType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{isEnable},
  51. #{fullJobResource},#{educationUserId},#{tenantId})
  52. </insert>
  53. <!-- 根据主键查询一条记录 -->
  54. <update id="update" parameterType="com.ym.mec.biz.dal.entity.CooperationOrgan">
  55. UPDATE cooperation_organ
  56. <set>
  57. <if test="educationUserId != null">
  58. education_user_id_ = #{educationUserId},
  59. </if>
  60. <if test="fullJobResource != null">
  61. full_job_resource_ = #{fullJobResource},
  62. </if>
  63. <if test="address != null">
  64. address_ = #{address},
  65. </if>
  66. <if test="job != null">
  67. job_ = #{job},
  68. </if>
  69. <if test="linkman != null">
  70. linkman_ = #{linkman},
  71. </if>
  72. <if test="updateTime != null">
  73. update_time_ = NOW(),
  74. </if>
  75. <if test="mobileNo != null">
  76. mobile_no_ = #{mobileNo},
  77. </if>
  78. <if test="name != null">
  79. name_ = #{name},
  80. </if>
  81. <if test="ownershipType != null">
  82. ownership_type_ = #{ownershipType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  83. </if>
  84. <if test="organId != null">
  85. organ_id_ = #{organId},
  86. </if>
  87. <if test="isEnable != null">
  88. is_enable_ = #{isEnable},
  89. </if>
  90. </set>
  91. WHERE id_ = #{id} and tenant_id_ = #{tenantId}
  92. </update>
  93. <!-- 根据主键删除一条记录 -->
  94. <update id="delete">
  95. UPDATE cooperation_organ
  96. SET del_flag_ = 1
  97. WHERE id_ = #{id}
  98. </update>
  99. <update id="batchUpdateEduId">
  100. UPDATE cooperation_organ SET education_user_id_ = #{transferUserId} WHERE organ_id_ = #{organId} AND education_user_id_ = #{levelUserId}
  101. </update>
  102. <!-- 分页查询 -->
  103. <select id="queryPage" resultMap="ExtCooperationOrgan"
  104. parameterType="map">
  105. SELECT co.*,o.name_ organ_name_,su.real_name_ FROM cooperation_organ co
  106. LEFT JOIN organization o ON co.organ_id_ = o.id_
  107. LEFT JOIN sys_user su ON su.id_ = co.education_user_id_
  108. <include refid="queryPageSql"/>
  109. ORDER BY co.update_time_ DESC
  110. <include refid="global.limit"/>
  111. </select>
  112. <sql id="queryPageSql">
  113. <where>
  114. co.del_flag_ != 1
  115. <if test="search != null">
  116. AND (co.education_user_id_ = #{search} OR su.real_name_ LIKE CONCAT('%',#{search},'%')
  117. OR co.id_ LIKE CONCAT('%',#{search},'%') OR co.name_ LIKE CONCAT('%',#{search},'%'))
  118. </if>
  119. <if test="organId != null">
  120. AND FIND_IN_SET(co.organ_id_,#{organId})
  121. </if>
  122. <if test="isEnable != null">
  123. AND co.is_enable_ = #{isEnable}
  124. </if>
  125. <if test="tenantId != null">
  126. AND co.tenant_id_ = #{tenantId}
  127. </if>
  128. <if test="fullJobResource != null">
  129. AND co.full_job_resource_ = #{fullJobResource}
  130. </if>
  131. </where>
  132. </sql>
  133. <!-- 查询当前表的总记录数 -->
  134. <select id="queryCount" resultType="int">
  135. SELECT COUNT(co.id_) FROM cooperation_organ co
  136. LEFT JOIN sys_user su ON su.id_ = co.education_user_id_
  137. <include refid="queryPageSql"/>
  138. </select>
  139. <select id="queryByOrganId" resultMap="CooperationOrgan">
  140. SELECT *
  141. FROM cooperation_organ
  142. WHERE FIND_IN_SET(organ_id_, #{organId})
  143. AND del_flag_ != 1
  144. AND is_enable_ = 1
  145. </select>
  146. <select id="queryNameByIds" resultType="java.util.Map">
  147. SELECT co.id_ 'key', co.name_ 'value'
  148. FROM cooperation_organ co
  149. WHERE FIND_IN_SET(co.id_, #{organIds})
  150. AND co.del_flag_ != 1
  151. </select>
  152. <select id="getOrganFullJobResourceNum" resultType="com.ym.mec.biz.dal.dto.OrganFullJobResourceNumDto">
  153. SELECT organ_id_ organId, COUNT(*) num
  154. FROM cooperation_organ
  155. WHERE full_job_resource_ = 1
  156. AND del_flag_ = 0 and tenant_id_ = #{tenantId}
  157. GROUP BY organ_id_
  158. </select>
  159. <!-- 获取全部使用中的合作单位 -->
  160. <select id="getAllCooperationOrgan" resultMap="CooperationOrgan">
  161. SELECT *
  162. FROM cooperation_organ
  163. WHERE del_flag_ = 0 and tenant_id_ = #{tenantId}
  164. </select>
  165. <!-- 获取合作单位乐团的的学校缴费 -->
  166. <select id="getCooperationOrganCalender4School"
  167. resultMap="com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao.MusicGroupPaymentCalender">
  168. SELECT mgpc.*
  169. FROM music_group mg
  170. LEFT JOIN music_group_payment_calender mgpc ON mgpc.music_group_id_ = mg.id_
  171. WHERE mg.cooperation_organ_id_ = #{cooperationOrganId}
  172. AND mgpc.pay_user_type_ = 'SCHOOL'
  173. AND mgpc.status_ IN ('NO', 'OPEN', 'OVER')
  174. ORDER BY mgpc.payment_valid_start_date_ ASC
  175. </select>
  176. <select id="getCooperationOrganByIds" resultMap="CooperationOrgan">
  177. SELECT * FROM cooperation_organ WHERE id_ IN
  178. <foreach collection="ids" item="id" open="(" close=")" separator=",">
  179. #{id}
  180. </foreach>
  181. </select>
  182. <select id="getCooperationOrganByEduTeacherId" resultMap="CooperationOrgan">
  183. SELECT * FROM cooperation_organ WHERE education_user_id_ = #{userId} and is_enable_ =1 and del_flag_ =0
  184. </select>
  185. <select id="getFirstGroup" resultType="java.lang.String">
  186. SELECT mg.id_ FROM cooperation_organ co
  187. LEFT JOIN music_group mg ON mg.cooperation_organ_id_ = co.id_
  188. WHERE mg.status_ IN ('PROGRESS','PAUSE') AND co.id_ = #{cooperationOrganId} ORDER BY mg.create_time_ LIMIT 1
  189. </select>
  190. <select id="findFirstMusic" resultType="java.util.Map">
  191. SELECT mg.cooperation_organ_id_ 'key',mg.id_ 'value' FROM music_group mg
  192. LEFT JOIN (SELECT co.id_,MIN(mg.create_time_) create_time_ FROM cooperation_organ co
  193. LEFT JOIN music_group mg ON mg.cooperation_organ_id_ = co.id_
  194. WHERE co.del_flag_ = 0 AND mg.status_ IN ('PROGRESS','PAUSE')
  195. GROUP BY mg.cooperation_organ_id_) co ON co.id_ = mg.cooperation_organ_id_
  196. WHERE mg.create_time_ = co.create_time_
  197. ORDER BY mg.cooperation_organ_id_
  198. </select>
  199. </mapper>