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
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 >= #{beginDate}
|
|
</if>
|
|
<if test="endDate != null">
|
|
AND h.order_date <= #{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>
|