CompanyContactInfoMapper.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  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. <mapper namespace="com.simuwang.base.mapper.daq.CompanyContactInfoMapper" >
  4. <resultMap id="BaseResultMap" type="com.simuwang.base.pojo.dos.CompanyContactInfoDO" >
  5. <!--
  6. WARNING - @mbggenerated
  7. This element is automatically generated by MyBatis Generator, do not modify.
  8. -->
  9. <id column="id" property="id" jdbcType="INTEGER" />
  10. <result column="company_id" property="companyId" jdbcType="VARCHAR" />
  11. <result column="contact_date" property="contactDate" jdbcType="DATE" />
  12. <result column="contactor" property="contactor" jdbcType="VARCHAR" />
  13. <result column="customer_manager" property="customerManager" jdbcType="VARCHAR" />
  14. <result column="contact_id" property="contactId" jdbcType="INTEGER" />
  15. <result column="contact_status" property="contactStatus" jdbcType="INTEGER" />
  16. <result column="sign_method" property="signMethod" jdbcType="INTEGER" />
  17. <result column="contact_remark" property="contactRemark" jdbcType="VARCHAR" />
  18. <result column="creatorid" property="creatorId" jdbcType="INTEGER" />
  19. <result column="createtime" property="createTime" jdbcType="TIMESTAMP" />
  20. <result column="updaterid" property="updaterId" jdbcType="INTEGER" />
  21. <result column="updatetime" property="updateTime" jdbcType="TIMESTAMP" />
  22. <result column="isvalid" property="isvalid" jdbcType="INTEGER" />
  23. </resultMap>
  24. <sql id="Base_Column_List" >
  25. <!--
  26. WARNING - @mbggenerated
  27. This element is automatically generated by MyBatis Generator, do not modify.
  28. -->
  29. id, company_id,contact_date, contactor, customer_manager, contact_id, contact_status, sign_method,
  30. contact_remark, creatorid, createtime, updaterid,
  31. updatetime, isvalid
  32. </sql>
  33. <delete id="deleteCompanyContactInfoById">
  34. update COMPANY_CONTACT_INFO set isvalid=0,updatetime=now(),updaterid=#{userId} where id=#{id}
  35. </delete>
  36. <select id="getCompanyContactInfo" resultMap="BaseResultMap">
  37. select <include refid="Base_Column_List"/>
  38. from COMPANY_CONTACT_INFO where isvalid=1 and company_id=#{companyId} and contact_date=#{contactDate}
  39. </select>
  40. <resultMap id="BaseResultPageMap" type="com.simuwang.base.pojo.dos.CompanyContactInfoPageDO" >
  41. <!--
  42. WARNING - @mbggenerated
  43. This element is automatically generated by MyBatis Generator, do not modify.
  44. -->
  45. <result column="company_id" property="companyId" jdbcType="VARCHAR" />
  46. <result column="contact_date" property="contactDate" jdbcType="DATE" />
  47. <result column="contactor" property="contactor" jdbcType="VARCHAR" />
  48. <result column="customer_manager" property="customerManager" jdbcType="VARCHAR" />
  49. <result column="contact_name" property="contactName" jdbcType="VARCHAR" />
  50. <result column="contact_status" property="contactStatus" jdbcType="INTEGER" />
  51. <result column="sign_method" property="signMethod" jdbcType="INTEGER" />
  52. <result column="contact_remark" property="contactRemark" jdbcType="VARCHAR" />
  53. <result column="company_name" property="companyName" jdbcType="VARCHAR" />
  54. <result column="company_short_name" property="companyShortName" jdbcType="VARCHAR" />
  55. <result column="is_send" property="isSend" jdbcType="INTEGER" />
  56. <result column="company_asset_size" property="companyAssetSize" jdbcType="INTEGER" />
  57. <result column="establish_date" property="establishDate" jdbcType="VARCHAR" />
  58. <result column="credit_code" property="creditCode" jdbcType="VARCHAR" />
  59. </resultMap>
  60. <select id="selectCompanyContactInfoList" resultMap="BaseResultPageMap">
  61. select cp.company_id,
  62. cp.company_name,
  63. cp.company_short_name,
  64. ct.contact_date,
  65. ct.contactor,
  66. ct.customer_manager,
  67. ct.contact_status,
  68. ct.sign_method,
  69. CASE
  70. WHEN css.send_status IS NULL
  71. THEN 0
  72. ELSE css.send_status
  73. END
  74. AS is_send,
  75. ci.contact_name,
  76. cp.establish_date,
  77. cp.credit_code,
  78. ct.contact_remark,
  79. cp.company_asset_size
  80. from pvn_company_info cp
  81. left join last_company_contact_info ct
  82. on cp.company_id = ct.company_id and ct.isvalid=1
  83. left join contact_information ci
  84. on ct.company_id = ci.company_id and ci.isvalid=1
  85. left join company_send_status css
  86. on cp.company_id = css.company_id and css.isvalid=1
  87. where cp.isvalid =1
  88. <if test="companyId != null and companyId != ''">
  89. and cp.company_id like concat('%',#{companyId},'%')
  90. </if>
  91. <if test="companyName != null and companyName != ''">
  92. and (cp.company_name like concat('%',#{companyName},'%') or cp.company_short_name like concat('%',#{companyName},'%') or cp.register_number like concat('%',#{companyName},'%'))
  93. </if>
  94. <if test="contactStartDate != null and contactStartDate != ''">
  95. and ct.contact_date >= #{contactStartDate}
  96. </if>
  97. <if test="contactEndDate != null and contactEndDate != ''">
  98. and ct.contact_date <![CDATA[ <= ]]> #{contactEndDate}
  99. </if>
  100. <if test="isSend != null and isSend != ''">
  101. and (case when css.send_status is null then 0 else css.send_status end) = #{isSend}
  102. </if>
  103. <if test="contactStatus != null and contactStatus != ''">
  104. and ct.contact_status = #{contactStatus}
  105. </if>
  106. <if test="signMethod != null and signMethod != ''">
  107. and ct.sign_method = #{signMethod}
  108. </if>
  109. <if test="companyAssetSize != null and companyAssetSize != ''">
  110. and cp.company_asset_size = #{companyAssetSize}
  111. </if>
  112. order by
  113. CASE
  114. WHEN ct.contact_date IS NULL THEN 1
  115. ELSE 0
  116. END,
  117. ct.contact_date desc
  118. limit #{offset},#{pageSize}
  119. </select>
  120. <select id="countCompanyContactInfo" resultType="java.lang.Long">
  121. select count(distinct cp.company_id)
  122. from pvn_company_info cp
  123. left join last_company_contact_info ct
  124. on cp.company_id = ct.company_id and ct.isvalid=1
  125. left join contact_information ci
  126. on cp.company_id = ci.company_id and ci.isvalid=1
  127. left join company_send_status css
  128. on cp.company_id = css.company_id and css.isvalid=1
  129. where cp.isvalid =1
  130. <if test="companyId != null and companyId != ''">
  131. and cp.company_id like concat('%',#{companyId},'%')
  132. </if>
  133. <if test="companyName != null and companyName != ''">
  134. and (cp.company_name like concat('%',#{companyName},'%') or cp.company_short_name like concat('%',#{companyName},'%') or cp.register_number like concat('%',#{companyName},'%'))
  135. </if>
  136. <if test="contactStartDate != null and contactStartDate != ''">
  137. and ct.contact_date >= #{contactStartDate}
  138. </if>
  139. <if test="contactEndDate != null and contactEndDate != ''">
  140. and ct.contact_date <![CDATA[ <= ]]> #{contactEndDate}
  141. </if>
  142. <if test="isSend != null and isSend != ''">
  143. and (case when css.send_status is null then 0 else css.send_status end) = #{isSend}
  144. </if>
  145. <if test="contactStatus != null and contactStatus != ''">
  146. and ct.contact_status = #{contactStatus}
  147. </if>
  148. <if test="signMethod != null and signMethod != ''">
  149. and ct.sign_method = #{signMethod}
  150. </if>
  151. <if test="companyAssetSize != null and companyAssetSize != ''">
  152. and cp.company_asset_size = #{companyAssetSize}
  153. </if>
  154. </select>
  155. <resultMap id="ContactResultPageMap" type="com.simuwang.base.pojo.dos.CompanyContactPageDO" >
  156. <result column="id" property="id" jdbcType="INTEGER" />
  157. <result column="contact_id" property="contactId" jdbcType="INTEGER" />
  158. <result column="company_id" property="companyId" jdbcType="VARCHAR" />
  159. <result column="contact_date" property="contactDate" jdbcType="DATE" />
  160. <result column="contactor" property="contactor" jdbcType="VARCHAR" />
  161. <result column="customer_manager" property="customerManager" jdbcType="VARCHAR" />
  162. <result column="contact_name" property="contactName" jdbcType="VARCHAR" />
  163. <result column="contact_status" property="contactStatus" jdbcType="INTEGER" />
  164. <result column="sign_method" property="signMethod" jdbcType="INTEGER" />
  165. <result column="contact_remark" property="contactRemark" jdbcType="VARCHAR" />
  166. <result column="contact_phone" property="contactPhone" jdbcType="VARCHAR" />
  167. <result column="contact_email" property="contactEmail" jdbcType="VARCHAR" />
  168. <result column="contact_wechat" property="contactWechat" jdbcType="VARCHAR" />
  169. <result column="contact_position" property="contactPosition" jdbcType="VARCHAR" />
  170. <result column="contact_file_name" property="contactFileName" jdbcType="VARCHAR" />
  171. <result column="contact_file_path" property="contactFilePath" jdbcType="VARCHAR" />
  172. </resultMap>
  173. <select id="selectCompanyContactListByCompanyId"
  174. resultMap="ContactResultPageMap">
  175. select info.id,
  176. info.company_id,
  177. info.contact_date,
  178. info.contactor,
  179. info.customer_manager,
  180. ci.contact_name,
  181. ci.contact_phone,
  182. ci.contact_email,
  183. ci.contact_wechat,
  184. ci.contact_position,
  185. info.sign_method,
  186. info.contact_status,
  187. info.contact_id,
  188. ci.contact_remark,
  189. ci.contact_file_name,
  190. ci.contact_file_path
  191. from company_contact_info info
  192. left join contact_information ci
  193. on info.company_id = ci.company_id and ci.isvalid=1 and info.contact_id= ci.id and ci.open_status=1
  194. where info.company_id = #{companyId} and info.isvalid=1
  195. order by info.contact_date desc
  196. limit #{offset},#{pageSize}
  197. </select>
  198. <select id="countCompanyContactByCompanyId" resultType="java.lang.Long">
  199. select count(1) from company_contact_info info where info.company_id = #{companyId} and info.isvalid=1
  200. </select>
  201. <select id="saveCompanyContactDetail" resultMap="BaseResultPageMap">
  202. select info.id,
  203. info.company_id,
  204. info.contact_date,
  205. info.contactor,
  206. info.customer_manager,
  207. ci.contact_name,
  208. ci.contact_phone,
  209. ci.contact_email,
  210. ci.contact_wechat,
  211. ci.contact_position,
  212. info.sign_method,
  213. info.contact_status,
  214. info.contact_id,
  215. ci.contact_remark,
  216. ci.contact_file_name,
  217. ci.contact_file_path
  218. from company_contact_info info
  219. left join contact_information ci
  220. on info.company_id = ci.company_id and ci.isvalid=1 and info.contact_id= ci.id and ci.open_status=1
  221. where info.id = #{id} and info.isvalid=1
  222. </select>
  223. <select id="getLastCompanyContactInfoDO" resultMap="BaseResultMap">
  224. select <include refid="Base_Column_List"/>
  225. from COMPANY_CONTACT_INFO where isvalid=1 and company_id=#{companyId}
  226. ORDER BY contact_date desc
  227. limit 1
  228. </select>
  229. <select id="selectCountByContactId" resultType="java.lang.Integer">
  230. select count(1) from COMPANY_CONTACT_INFO where isvalid=1 and contact_id=#{contactId}
  231. </select>
  232. </mapper>