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

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xujie.modules.quality.mapper.SrmQualityIssuePoMapper">
<select id="getAvailablePoList" resultType="com.xujie.modules.quality.data.QualityIssuePoSelectDto">
SELECT
p.site,
p.order_ref1 as poNo,
p.item_no as itemNo,
p.part_no as partNo,
pt.part_desc as partDesc,
h.order_date as poDate,
p.qty,
h.supplier_no as supplierNo,
ss.supplier_name as supplierName,
h.buyer as buyer
FROM PODetail p
LEFT JOIN POHeader h
ON p.site = h.site
AND p.order_no = h.order_no
LEFT JOIN srm_supplier ss
ON ss.site = h.site
AND ss.supplier_no = h.supplier_no
LEFT JOIN part pt
ON p.part_no = pt.part_no
AND p.site = pt.site
WHERE p.site = #{site}
<if test="supplierNo != null and supplierNo != ''">
AND h.supplier_no = #{supplierNo}
</if>
<if test="poNo != null and poNo != ''">
AND p.order_ref1 LIKE '%' + #{poNo} + '%'
</if>
<if test="partNo != null and partNo != ''">
AND p.part_no LIKE '%' + #{partNo} + '%'
</if>
<if test="beginDate != null">
AND h.order_date &gt;= #{beginDate}
</if>
<if test="endDate != null">
AND h.order_date &lt;= #{endDate}
</if>
ORDER BY h.order_date DESC
<if test="limit != null and limit > 0">
OFFSET 0 ROWS FETCH NEXT #{limit} ROWS ONLY
</if>
</select>
<!-- 其他方法保持不变 -->
<delete id="deleteByIssueNo">
DELETE FROM srm_quality_issue_po
WHERE site = #{site}
AND issue_no = #{issueNo}
</delete>
<insert id="batchInsert">
INSERT INTO srm_quality_issue_po
(
site,
issue_no,
po_no,
item_no,
part_no,
po_qty,
shipped_qty,
create_by,
create_date
)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.site},
#{item.issueNo},
#{item.poNo},
#{item.itemNo},
#{item.partNo},
#{item.poQty},
#{item.shippedQty,jdbcType=DECIMAL},
#{item.createBy},
GETDATE()
)
</foreach>
</insert>
<select id="getIssuePoList" resultType="com.xujie.modules.quality.entity.SrmQualityIssuePo">
SELECT
qip.site,
qip.issue_no,
qip.po_no,
qip.item_no,
qip.part_no,
pt.part_desc as partDesc,
qip.po_qty,
h.order_date as poDate,
h.supplier_no as supplierNo,
ss.supplier_name as supplierName,
h.buyer as buyer,
qip.create_by,
qip.create_date
FROM srm_quality_issue_po qip
LEFT JOIN part pt
ON qip.part_no = pt.part_no
AND qip.site = pt.site
LEFT JOIN PODetail p
ON p.site = qip.site
AND p.order_ref1 = qip.po_no
AND p.item_no = qip.item_no
LEFT JOIN POHeader h
ON h.site = p.site
AND h.order_no = p.order_no
LEFT JOIN srm_supplier ss
ON ss.site = h.site
AND ss.supplier_no = h.supplier_no
WHERE qip.site = #{site}
AND qip.issue_no = #{issueNo}
</select>
<delete id="deleteByPoNo">
DELETE FROM srm_quality_issue_po
WHERE site = #{site}
AND issue_no = #{issueNo}
AND po_no = #{poNo}
AND item_no = #{itemNo}
</delete>
</mapper>