CustomerContractMapper.xml 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  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="cn.iocoder.yudao.module.contract.dal.mysql.customercontract.CustomerContractMapper">
  4. <!--
  5. 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
  6. 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
  7. 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
  8. 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
  9. -->
  10. <select id="getPageCount" resultType="java.lang.Long">
  11. SELECT
  12. count(fcc.id)
  13. FROM
  14. finance_customer_contract fcc
  15. LEFT JOIN employee_info ei ON ei.id = fcc.owner_employee_id AND ei.deleted = 0
  16. LEFT JOIN system_dept sd ON sd.id = fcc.dept_id AND sd.deleted = 0
  17. LEFT JOIN employee_info ei2 ON ei2.id = fcc.creator AND ei2.deleted = 0
  18. WHERE
  19. fcc.deleted = 0
  20. <if test="page.customerContractCode != null and page.customerContractCode != ''">
  21. AND fcc.customer_contract_code like concat('%',#{page.customerContractCode},'%')
  22. </if>
  23. <if test="page.customerContractName != null and page.customerContractName != ''">
  24. AND fcc.customer_contract_name like concat('%',#{page.customerContractName},'%')
  25. </if>
  26. <if test="page.isFrameContract != null">
  27. AND fcc.is_frame_contract = #{page.isFrameContract}
  28. </if>
  29. <if test="page.customerId != null">
  30. AND fcc.customer_id = #{page.customerId}
  31. </if>
  32. <if test="page.startDate != null and page.startDate.length > 0">
  33. AND fcc.start_date BETWEEN #{page.startDate[0]} AND #{page.startDate[1]}
  34. </if>
  35. <if test="page.endDate != null and page.endDate.length > 0">
  36. AND fcc.end_date BETWEEN #{page.endDate[0]} AND #{page.endDate[1]}
  37. </if>
  38. <if test="page.ownerEmployeeName != null and page.ownerEmployeeName != ''">
  39. AND ei.name like concat('%',#{page.ownerEmployeeName},'%')
  40. </if>
  41. <if test="page.deptId != null">
  42. AND fcc.dept_id = #{page.deptId}
  43. </if>
  44. <if test="page.contractStatus != null and page.contractStatus != ''">
  45. AND fcc.contract_status = #{page.contractStatus}
  46. </if>
  47. <if test="page.closed != null">
  48. AND fcc.closed = #{page.closed}
  49. </if>
  50. <if test="page.terminate != null">
  51. AND fcc.terminate = #{page.terminate}
  52. </if>
  53. </select>
  54. <select id="getPageList"
  55. resultType="cn.iocoder.yudao.module.contract.controller.admin.customercontract.vo.CustomerContractRespVO">
  56. SELECT
  57. fcc.id,
  58. fcc.customer_contract_uuid,
  59. fcc.customer_contract_code,
  60. fcc.customer_contract_name,
  61. fcc.is_frame_contract,
  62. CASE
  63. WHEN fcc.is_frame_contract = 1 THEN '是'
  64. WHEN fcc.is_frame_contract = 0 THEN '否'
  65. ELSE '未知'
  66. END AS isFrameContractDesc,
  67. fcc.customer_id,
  68. fcc.customer_name,
  69. fcc.start_date,
  70. fcc.end_date,
  71. fcc.money,
  72. fcc.owner_employee_id,
  73. ei.name AS ownerEmployeeName,
  74. fcc.dept_id,
  75. sd.name AS deptName,
  76. fcc.contract_status,
  77. CASE
  78. WHEN fcc.contract_status = 0 THEN '未归档'
  79. WHEN fcc.contract_status = 1 THEN '已归档'
  80. WHEN fcc.contract_status = 2 THEN '已完结'
  81. ELSE '未知'
  82. END AS contractStatusDesc,
  83. fcc.closed,
  84. CASE
  85. WHEN fcc.closed = 1 THEN '是'
  86. WHEN fcc.closed = 0 THEN '否'
  87. ELSE '未知'
  88. END AS closedDesc,
  89. fcc.close_reason,
  90. fcc.terminate,
  91. CASE
  92. WHEN fcc.terminate = 1 THEN '是'
  93. WHEN fcc.terminate = 0 THEN '否'
  94. ELSE '未知'
  95. END AS terminateDesc,
  96. fcc.terminate_date,
  97. fcc.terminate_reason,
  98. fcc.is_change,
  99. fcc.remarks,
  100. fcc.creator,
  101. ei2.name AS creatorName,
  102. fcc.create_time
  103. FROM
  104. finance_customer_contract fcc
  105. LEFT JOIN employee_info ei ON ei.id = fcc.owner_employee_id AND ei.deleted = 0
  106. LEFT JOIN system_dept sd ON sd.id = fcc.dept_id AND sd.deleted = 0
  107. LEFT JOIN employee_info ei2 ON ei2.id = fcc.creator AND ei2.deleted = 0
  108. WHERE
  109. fcc.deleted = 0
  110. <if test="page.customerContractCode != null and page.customerContractCode != ''">
  111. AND fcc.customer_contract_code like concat('%',#{page.customerContractCode},'%')
  112. </if>
  113. <if test="page.customerContractName != null and page.customerContractName != ''">
  114. AND fcc.customer_contract_name like concat('%',#{page.customerContractName},'%')
  115. </if>
  116. <if test="page.isFrameContract != null">
  117. AND fcc.is_frame_contract = #{page.isFrameContract}
  118. </if>
  119. <if test="page.customerId != null">
  120. AND fcc.customer_id = #{page.customerId}
  121. </if>
  122. <if test="page.startDate != null and page.startDate.length > 0">
  123. AND fcc.start_date BETWEEN #{page.startDate[0]} AND #{page.startDate[1]}
  124. </if>
  125. <if test="page.endDate != null and page.endDate.length > 0">
  126. AND fcc.end_date BETWEEN #{page.endDate[0]} AND #{page.endDate[1]}
  127. </if>
  128. <if test="page.ownerEmployeeName != null and page.ownerEmployeeName != ''">
  129. AND ei.name like concat('%',#{page.ownerEmployeeName},'%')
  130. </if>
  131. <if test="page.deptId != null">
  132. AND fcc.dept_id = #{page.deptId}
  133. </if>
  134. <if test="page.contractStatus != null and page.contractStatus != ''">
  135. AND fcc.contract_status = #{page.contractStatus}
  136. </if>
  137. <if test="page.closed != null">
  138. AND fcc.closed = #{page.closed}
  139. </if>
  140. <if test="page.terminate != null">
  141. AND fcc.terminate = #{page.terminate}
  142. </if>
  143. ORDER BY
  144. fcc.create_time DESC
  145. <if test="page.pageSize != -1">
  146. LIMIT #{page.pageNo}, #{page.pageSize}
  147. </if>
  148. </select>
  149. <delete id="deleteCustomerContractOriginal">
  150. DELETE
  151. FROM
  152. finance_customer_contract
  153. WHERE
  154. id = #{id}
  155. AND deleted = 0
  156. </delete>
  157. </mapper>