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.

125 lines
3.8 KiB

2 weeks ago
2 weeks ago
2 weeks ago
2 weeks ago
2 weeks ago
2 weeks ago
2 weeks ago
2 weeks ago
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.SrmQualityIssuePoMapper">
  4. <select id="getAvailablePoList" resultType="com.xujie.modules.quality.data.QualityIssuePoSelectDto">
  5. SELECT
  6. p.site,
  7. p.order_ref1 as poNo,
  8. p.item_no as itemNo,
  9. p.part_no as partNo,
  10. pt.part_desc as partDesc,
  11. h.order_date as poDate,
  12. p.qty,
  13. h.supplier_no as supplierNo,
  14. ss.supplier_name as supplierName,
  15. h.buyer as buyer
  16. FROM PODetail p
  17. LEFT JOIN POHeader h
  18. ON p.site = h.site
  19. AND p.order_no = h.order_no
  20. LEFT JOIN srm_supplier ss
  21. ON ss.site = h.site
  22. AND ss.supplier_no = h.supplier_no
  23. LEFT JOIN part pt
  24. ON p.part_no = pt.part_no
  25. AND p.site = pt.site
  26. WHERE p.site = #{site}
  27. <if test="supplierNo != null and supplierNo != ''">
  28. AND h.supplier_no = #{supplierNo}
  29. </if>
  30. <if test="poNo != null and poNo != ''">
  31. AND p.order_ref1 LIKE '%' + #{poNo} + '%'
  32. </if>
  33. <if test="partNo != null and partNo != ''">
  34. AND p.part_no LIKE '%' + #{partNo} + '%'
  35. </if>
  36. <if test="beginDate != null">
  37. AND h.order_date &gt;= #{beginDate}
  38. </if>
  39. <if test="endDate != null">
  40. AND h.order_date &lt;= #{endDate}
  41. </if>
  42. ORDER BY h.order_date DESC
  43. <if test="limit != null and limit > 0">
  44. OFFSET 0 ROWS FETCH NEXT #{limit} ROWS ONLY
  45. </if>
  46. </select>
  47. <!-- 其他方法保持不变 -->
  48. <delete id="deleteByIssueNo">
  49. DELETE FROM srm_quality_issue_po
  50. WHERE site = #{site}
  51. AND issue_no = #{issueNo}
  52. </delete>
  53. <insert id="batchInsert">
  54. INSERT INTO srm_quality_issue_po
  55. (
  56. site,
  57. issue_no,
  58. po_no,
  59. item_no,
  60. part_no,
  61. po_qty,
  62. shipped_qty,
  63. create_by,
  64. create_date
  65. )
  66. VALUES
  67. <foreach collection="list" item="item" separator=",">
  68. (
  69. #{item.site},
  70. #{item.issueNo},
  71. #{item.poNo},
  72. #{item.itemNo},
  73. #{item.partNo},
  74. #{item.poQty},
  75. #{item.shippedQty,jdbcType=DECIMAL},
  76. #{item.createBy},
  77. GETDATE()
  78. )
  79. </foreach>
  80. </insert>
  81. <select id="getIssuePoList" resultType="com.xujie.modules.quality.entity.SrmQualityIssuePo">
  82. SELECT
  83. qip.site,
  84. qip.issue_no,
  85. qip.po_no,
  86. qip.item_no,
  87. qip.part_no,
  88. pt.part_desc as partDesc,
  89. qip.po_qty,
  90. h.order_date as poDate,
  91. h.supplier_no as supplierNo,
  92. ss.supplier_name as supplierName,
  93. h.buyer as buyer,
  94. qip.create_by,
  95. qip.create_date
  96. FROM srm_quality_issue_po qip
  97. LEFT JOIN part pt
  98. ON qip.part_no = pt.part_no
  99. AND qip.site = pt.site
  100. LEFT JOIN PODetail p
  101. ON p.site = qip.site
  102. AND p.order_ref1 = qip.po_no
  103. AND p.item_no = qip.item_no
  104. LEFT JOIN POHeader h
  105. ON h.site = p.site
  106. AND h.order_no = p.order_no
  107. LEFT JOIN srm_supplier ss
  108. ON ss.site = h.site
  109. AND ss.supplier_no = h.supplier_no
  110. WHERE qip.site = #{site}
  111. AND qip.issue_no = #{issueNo}
  112. </select>
  113. <delete id="deleteByPoNo">
  114. DELETE FROM srm_quality_issue_po
  115. WHERE site = #{site}
  116. AND issue_no = #{issueNo}
  117. AND po_no = #{poNo}
  118. AND item_no = #{itemNo}
  119. </delete>
  120. </mapper>