You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

249 lines
9.2 KiB

2 weeks ago
  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.xujie.modules.quality.mapper.QualityIssueMapper">
  4. <select id="queryPage" resultType="com.xujie.modules.quality.entity.QualityIssue">
  5. SELECT
  6. qi.site,
  7. qi.issue_no AS issueNo,
  8. qi.issue_date AS issueDate,
  9. qi.supplier_no AS supplierNo,
  10. s.supplier_name AS supplierName,
  11. qi.supplier_responsible AS supplierResponsible,
  12. qi.plant AS plant,
  13. qi.claim_no AS claimNo,
  14. qi.product_category AS productCategory,
  15. qi.part_no AS partNo,
  16. qi.inspector AS inspector,
  17. qi.level_no AS levelNo,
  18. qi.mode1 AS mode1,
  19. qi.mode2 AS mode2,
  20. qi.mode3 AS mode3,
  21. qi.po_no AS poNo,
  22. qi.batch_qty AS batchQty,
  23. qi.reject_batch_qty AS rejectBatchQty,
  24. qi.receive_complaint_date AS receiveComplaintDate,
  25. qi.receive_sample_date AS receiveSampleDate,
  26. qi.issue_category AS issueCategory,
  27. qi.issue_summary AS issueSummary,
  28. qi.issue_description AS issueDescription,
  29. qi.require_reply_date AS requireReplyDate,
  30. qi.status,
  31. qir.reply_by AS replyBy,
  32. qir.reply_time AS replyTime,
  33. qi.create_by AS createBy,
  34. qi.create_date AS createDate,
  35. qi.update_by AS updateBy,
  36. qi.update_date AS updateDate,
  37. qir.analysis AS analysis,
  38. qir.corrective_action AS correctiveAction,
  39. qir.why_escape AS whyEscape,
  40. qic.claim_flag AS claimFlag,
  41. qic.claim_amount AS claimAmount,
  42. qic.disposal_remark AS disposalRemark,
  43. qic.entry_by AS entryBy,
  44. qic.entry_date AS entryDate,
  45. qi.close_by AS closeBy,
  46. qi.close_time AS closeTime
  47. FROM srm_quality_issue qi
  48. LEFT JOIN srm_supplier s
  49. ON qi.supplier_no = s.supplier_no
  50. AND qi.site = s.site
  51. LEFT JOIN srm_quality_issue_reply qir
  52. ON qi.site = qir.site
  53. AND qi.issue_no = qir.issue_no
  54. LEFT JOIN srm_quality_issue_claim qic
  55. ON qi.site = qic.site
  56. AND qi.issue_no = qic.issue_no
  57. <where>
  58. <if test="qualityIssue.site != null and qualityIssue.site != ''">
  59. AND qi.site = #{qualityIssue.site}
  60. </if>
  61. <if test="qualityIssue.issueNo != null and qualityIssue.issueNo != ''">
  62. AND qi.issue_no LIKE '%' + #{qualityIssue.issueNo} + '%'
  63. </if>
  64. <if test="qualityIssue.issueDate != null">
  65. AND CAST(qi.issue_date AS DATE) = #{qualityIssue.issueDate}
  66. </if>
  67. <if test="qualityIssue.supplierNo != null and qualityIssue.supplierNo != ''">
  68. AND qi.supplier_no LIKE '%' + #{qualityIssue.supplierNo} + '%'
  69. </if>
  70. <if test="qualityIssue.supplierName != null and qualityIssue.supplierName != ''">
  71. AND s.supplier_name LIKE '%' + #{qualityIssue.supplierName} + '%'
  72. </if>
  73. <if test="qualityIssue.issueCategory != null and qualityIssue.issueCategory != ''">
  74. AND qi.issue_category = #{qualityIssue.issueCategory}
  75. </if>
  76. <if test="qualityIssue.status != null and qualityIssue.status != ''">
  77. AND qi.status = #{qualityIssue.status}
  78. </if>
  79. <if test="qualityIssue.claimNo != null and qualityIssue.claimNo != ''">
  80. AND qi.claim_no = #{qualityIssue.claimNo}
  81. </if>
  82. <if test="qualityIssue.plant != null and qualityIssue.plant != ''">
  83. AND qi.plant = #{qualityIssue.plant}
  84. </if>
  85. <if test="qualityIssue.productCategory != null and qualityIssue.productCategory != ''">
  86. AND qi.product_category = #{qualityIssue.productCategory}
  87. </if>
  88. <if test="qualityIssue.poNo != null and qualityIssue.poNo != ''">
  89. AND qi.po_no LIKE '%' + #{qualityIssue.poNo} + '%'
  90. </if>
  91. <if test="qualityIssue.partNo != null and qualityIssue.partNo != ''">
  92. AND qi.part_no LIKE '%' + #{qualityIssue.partNo} + '%'
  93. </if>
  94. </where>
  95. ORDER BY
  96. ISNULL(qi.create_date, qi.issue_date) DESC,
  97. qi.issue_no DESC
  98. </select>
  99. <select id="getByIssueNo" resultType="com.xujie.modules.quality.entity.QualityIssue">
  100. SELECT
  101. site,
  102. issue_no,
  103. issue_date,
  104. supplier_no,
  105. issue_category,
  106. issue_summary,
  107. issue_description,
  108. require_reply_date,
  109. status,
  110. create_by,
  111. create_date,
  112. update_by,
  113. update_date,
  114. supplier_responsible,
  115. plant,
  116. claim_no,
  117. product_category,
  118. part_no,
  119. inspector,
  120. level_no,
  121. mode1,
  122. mode2,
  123. mode3,
  124. po_no,
  125. batch_qty,
  126. reject_batch_qty,
  127. receive_complaint_date,
  128. receive_sample_date
  129. FROM srm_quality_issue
  130. WHERE site = #{site}
  131. AND issue_no = #{issueNo}
  132. </select>
  133. <insert id="insertIssue">
  134. INSERT INTO srm_quality_issue
  135. (
  136. site,
  137. issue_no,
  138. issue_date,
  139. supplier_no,
  140. supplier_responsible,
  141. plant,
  142. claim_no,
  143. part_no,
  144. product_category,
  145. po_no,
  146. batch_qty,
  147. reject_batch_qty,
  148. receive_complaint_date,
  149. receive_sample_date,
  150. issue_category,
  151. issue_summary,
  152. issue_description,
  153. inspector,
  154. level_no,
  155. mode1,
  156. mode2,
  157. mode3,
  158. require_reply_date,
  159. status,
  160. create_by,
  161. create_date
  162. )
  163. VALUES
  164. (
  165. #{site},
  166. #{issueNo},
  167. #{issueDate},
  168. #{supplierNo},
  169. #{supplierResponsible},
  170. #{plant},
  171. #{claimNo},
  172. #{partNo},
  173. #{productCategory},
  174. #{poNo},
  175. #{batchQty},
  176. #{rejectBatchQty},
  177. #{receiveComplaintDate},
  178. #{receiveSampleDate},
  179. #{issueCategory},
  180. #{issueSummary},
  181. #{issueDescription},
  182. #{inspector},
  183. #{levelNo},
  184. #{mode1},
  185. #{mode2},
  186. #{mode3},
  187. #{requireReplyDate},
  188. #{status},
  189. #{createBy},
  190. #{createDate}
  191. )
  192. </insert>
  193. <update id="updateByIssueNo">
  194. UPDATE srm_quality_issue
  195. SET
  196. issue_date = #{qualityIssue.issueDate},
  197. supplier_responsible = #{qualityIssue.supplierResponsible},
  198. plant = #{qualityIssue.plant},
  199. claim_no = #{qualityIssue.claimNo},
  200. product_category = #{qualityIssue.productCategory},
  201. part_no = #{qualityIssue.partNo},
  202. po_no = #{qualityIssue.poNo},
  203. batch_qty = #{qualityIssue.batchQty},
  204. reject_batch_qty = #{qualityIssue.rejectBatchQty},
  205. receive_complaint_date = #{qualityIssue.receiveComplaintDate},
  206. receive_sample_date = #{qualityIssue.receiveSampleDate},
  207. issue_category = #{qualityIssue.issueCategory},
  208. issue_summary = #{qualityIssue.issueSummary},
  209. issue_description = #{qualityIssue.issueDescription},
  210. inspector = #{qualityIssue.inspector},
  211. level_no = #{qualityIssue.levelNo},
  212. mode1 = #{qualityIssue.mode1},
  213. mode2 = #{qualityIssue.mode2},
  214. mode3 = #{qualityIssue.mode3},
  215. require_reply_date = #{qualityIssue.requireReplyDate},
  216. update_by = #{qualityIssue.updateBy},
  217. update_date = #{qualityIssue.updateDate}
  218. WHERE site = #{qualityIssue.site}
  219. AND issue_no = #{qualityIssue.issueNo}
  220. </update>
  221. <delete id="deleteByIssueNo">
  222. DELETE FROM srm_quality_issue
  223. WHERE site = #{qualityIssue.site}
  224. AND issue_no = #{qualityIssue.issueNo}
  225. </delete>
  226. <update id="closeIssue">
  227. UPDATE srm_quality_issue
  228. SET
  229. status = '已关闭',
  230. close_by = #{qualityIssue.closeBy},
  231. close_time = #{qualityIssue.closeTime},
  232. update_by = #{qualityIssue.closeBy},
  233. update_date = #{qualityIssue.closeTime}
  234. WHERE site = #{qualityIssue.site}
  235. AND issue_no = #{qualityIssue.issueNo}
  236. </update>
  237. <update id="updateStatusByIssueNo">
  238. UPDATE srm_quality_issue
  239. SET status = #{status}
  240. WHERE site = #{site}
  241. AND issue_no = #{issueNo}
  242. </update>
  243. </mapper>