KwmCooperateMapper.xml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.sckw.manage.dao.KwmCooperateMapper">
  6. <resultMap id="BaseResultMap" type="com.sckw.manage.model.entity.KwmCooperate">
  7. <id property="id" column="id" jdbcType="BIGINT"/>
  8. <result property="entId" column="ent_id" jdbcType="BIGINT"/>
  9. <result property="inviterEntId" column="inviter_ent_id" jdbcType="BIGINT"/>
  10. <result property="inviteeEntId" column="invitee_ent_id" jdbcType="BIGINT"/>
  11. <result property="inviterContacts" column="inviter_contacts" jdbcType="VARCHAR"/>
  12. <result property="inviterPhone" column="inviter_phone" jdbcType="VARCHAR"/>
  13. <result property="inviteeContacts" column="invitee_contacts" jdbcType="VARCHAR"/>
  14. <result property="inviteePhone" column="invitee_phone" jdbcType="VARCHAR"/>
  15. <result property="remark" column="remark" jdbcType="VARCHAR"/>
  16. <result property="status" column="status" jdbcType="INTEGER"/>
  17. <result property="createBy" column="create_by" jdbcType="BIGINT"/>
  18. <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
  19. <result property="updateBy" column="update_by" jdbcType="BIGINT"/>
  20. <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
  21. <result property="delFlag" column="del_flag" jdbcType="INTEGER"/>
  22. </resultMap>
  23. <sql id="Base_Column_List">
  24. id,ent_id,inviter_ent_id,
  25. invitee_ent_id,inviter_contacts,inviter_phone,
  26. invitee_contacts,invitee_phone,remark,
  27. status,create_by,create_time,
  28. update_by,update_time,del_flag
  29. </sql>
  30. <select id="findList" parameterType="com.sckw.manage.model.dto.req.CooperateManageQueryReqDto"
  31. resultType="com.sckw.manage.model.dto.res.CooperateManageQueryResDto">
  32. SELECT a.id,
  33. b.status,
  34. group_concat(b.type) types,
  35. min(a.ent_id) entId,
  36. min(a.invitee_ent_id) inviteeEntId,
  37. min(a.inviter_ent_id) inviterEntId,
  38. min(a.invitee_contacts) inviteeContacts,
  39. min(a.inviter_contacts) inviterContacts,
  40. min(a.invitee_contacts_id) inviteeContactsId,
  41. min(a.inviter_contacts_id) inviterContactsId,
  42. min(a.invitee_phone) inviteePhone,
  43. min(a.inviter_phone) inviterPhone,
  44. min(b.create_time) createTime,
  45. min(b.create_by) createBy,
  46. min(a.remark) remark,
  47. min(a.approval_remark) approvalRemark,
  48. case when min(a.ent_id) = #{reqDto.currentEntId} then min(a.invitee_ent_id) else min(a.inviter_ent_id) end targetEntId,
  49. case when min(a.ent_id) = #{reqDto.currentEntId} then min(a.inviter_ent_id) else min(a.invitee_ent_id) end ourEntId,
  50. case when min(a.ent_id) = #{reqDto.currentEntId} then 1 else 2 end applyTypeCode
  51. FROM kwm_cooperate a
  52. LEFT JOIN kwm_cooperate_type b ON a.id = b.cooperate_id
  53. WHERE a.del_flag = 0
  54. and (a.invitee_ent_id in
  55. <foreach collection="reqDto.currentEntIdList" item="item" open="(" close=")" separator=",">
  56. #{item}
  57. </foreach>
  58. OR a.inviter_ent_id in
  59. <foreach collection="reqDto.currentEntIdList" item="item" open="(" close=")" separator=",">
  60. #{item}
  61. </foreach>
  62. )
  63. <if test="reqDto.startTime != null">
  64. and b.create_time >= #{reqDto.startTime}
  65. </if>
  66. <if test="reqDto.endTime != null">
  67. and b.create_time &lt; date_add(#{reqDto.endTime}, INTERVAL 1 DAY)
  68. </if>
  69. <if test="reqDto.applyTypeCode != null and reqDto.applyTypeCode == 1">
  70. and a.ent_id = #{reqDto.currentEntId}
  71. </if>
  72. <if test="reqDto.applyTypeCode != null and reqDto.applyTypeCode == 2">
  73. and a.ent_id != #{reqDto.currentEntId}
  74. </if>
  75. <if test="reqDto.cooperateTypes != null and reqDto.cooperateTypes.size() > 0">
  76. and exists (select 1
  77. from kwm_cooperate_type c
  78. where c.cooperate_id = a.id
  79. and c.status = b.status
  80. and c.del_flag = 0
  81. and c.type in
  82. <foreach collection="reqDto.cooperateTypes" item="item" open="(" close=")" separator=",">
  83. #{item}
  84. </foreach>
  85. )
  86. </if>
  87. <if test="reqDto.status != null and reqDto.status.size() > 0">
  88. and b.status in
  89. <foreach collection="reqDto.status" item="item" open="(" close=")" separator=",">
  90. #{item}
  91. </foreach>
  92. </if>
  93. <if test="reqDto.ids != null and reqDto.ids.size() > 0">
  94. and a.id in
  95. <foreach collection="reqDto.ids" item="item" open="(" close=")" separator=",">
  96. #{item}
  97. </foreach>
  98. </if>
  99. group by a.id, b.status
  100. order by a.create_time desc
  101. </select>
  102. <select id="findCooperateByEnt" resultType="com.sckw.manage.model.entity.KwmCooperate">
  103. select a.*
  104. from kwm_cooperate a
  105. where a.del_flag = 0
  106. and a.status = 1
  107. and ((a.inviter_ent_id = #{entId}
  108. <if test="targetEntId != null">
  109. and a.invitee_ent_id = #{targetEntId}
  110. </if>
  111. )
  112. or
  113. (a.invitee_ent_id = #{entId}
  114. <if test="targetEntId != null">
  115. and a.inviter_ent_id = #{targetEntId}
  116. </if>
  117. ))
  118. <if test="cooperateType != null">
  119. and exists (select 1
  120. from kwm_cooperate_type c
  121. where c.cooperate_id = a.id
  122. and c.del_flag = 0
  123. and c.type = #{cooperateType}
  124. )
  125. </if>
  126. </select>
  127. <select id="findManageList" resultType="com.sckw.manage.model.dto.res.CooperateManageQueryResDto">
  128. SELECT a.id,
  129. min(a.status) status,
  130. group_concat(b.type) types,
  131. min(a.ent_id) entId,
  132. min(a.invitee_ent_id) inviteeEntId,
  133. min(a.inviter_ent_id) inviterEntId,
  134. min(a.invitee_contacts) inviteeContacts,
  135. min(a.inviter_contacts) inviterContacts,
  136. min(a.invitee_contacts_id) inviteeContactsId,
  137. min(a.inviter_contacts_id) inviterContactsId,
  138. min(a.invitee_phone) inviteePhone,
  139. min(a.inviter_phone) inviterPhone,
  140. min(b.create_time) createTime,
  141. min(b.create_by) createBy,
  142. min(a.remark) remark,
  143. min(a.approval_remark) approvalRemark,
  144. case when min(a.ent_id) = #{reqDto.currentEntId} then min(a.invitee_ent_id) else min(a.inviter_ent_id) end targetEntId,
  145. case when min(a.ent_id) = #{reqDto.currentEntId} then min(a.inviter_ent_id) else min(a.invitee_ent_id) end ourEntId,
  146. case when min(a.ent_id) = #{reqDto.currentEntId} then 1 else 2 end applyTypeCode
  147. FROM kwm_cooperate a
  148. LEFT JOIN kwm_cooperate_type b ON a.id = b.cooperate_id and b.status = 1 and b.del_flag = 0
  149. WHERE a.del_flag = 0
  150. and (a.invitee_ent_id in
  151. <foreach collection="reqDto.currentEntIdList" item="item" open="(" close=")" separator=",">
  152. #{item}
  153. </foreach>
  154. OR a.inviter_ent_id in
  155. <foreach collection="reqDto.currentEntIdList" item="item" open="(" close=")" separator=",">
  156. #{item}
  157. </foreach>
  158. )
  159. <if test="reqDto.startTime != null">
  160. and b.create_time >= #{reqDto.startTime}
  161. </if>
  162. <if test="reqDto.endTime != null">
  163. and b.create_time &lt; date_add(#{reqDto.endTime}, INTERVAL 1 DAY)
  164. </if>
  165. <if test="reqDto.applyTypeCode != null and reqDto.applyTypeCode == 1">
  166. and a.ent_id = #{reqDto.currentEntId}
  167. </if>
  168. <if test="reqDto.applyTypeCode != null and reqDto.applyTypeCode == 2">
  169. and a.ent_id != #{reqDto.currentEntId}
  170. </if>
  171. <if test="reqDto.cooperateTypes != null and reqDto.cooperateTypes.size() > 0">
  172. and exists (select 1
  173. from kwm_cooperate_type c
  174. where c.cooperate_id = a.id
  175. and c.status = 1
  176. and c.del_flag = 0
  177. and c.type in
  178. <foreach collection="reqDto.cooperateTypes" item="item" open="(" close=")" separator=",">
  179. #{item}
  180. </foreach>
  181. )
  182. </if>
  183. <if test="reqDto.status != null and reqDto.status.size() > 0">
  184. and a.status in
  185. <foreach collection="reqDto.status" item="item" open="(" close=")" separator=",">
  186. #{item}
  187. </foreach>
  188. </if>
  189. <if test="reqDto.ids != null and reqDto.ids.size() > 0">
  190. and a.id in
  191. <foreach collection="reqDto.ids" item="item" open="(" close=")" separator=",">
  192. #{item}
  193. </foreach>
  194. </if>
  195. group by a.id
  196. order by a.create_time desc
  197. </select>
  198. <select id="findEntCooperate" resultType="com.sckw.manage.model.entity.KwmCooperate">
  199. select a.* from kwm_cooperate a
  200. where a.del_flag = 0
  201. and a.status = 1
  202. and ((a.inviter_ent_id = #{id}
  203. <if test="targetEntId != null">
  204. and a.invitee_ent_id = #{targetEntId}
  205. </if>) or
  206. (a.invitee_ent_id = #{id}
  207. <if test="targetEntId != null">
  208. and a.inviter_ent_id = #{targetEntId}
  209. </if>)
  210. )
  211. </select>
  212. </mapper>