<?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.hvlink.mapper.order.TbOrderDetailMapper">
<insert id="batchInsert">
insert into tb_order_detail(purchase_order_no, serial_version_num, company_code, factory_code, warehouse_code,
line_no, delivery_date, part_code, part_desc, unit, total_qty, required_qty,
available_qty, shipped_qty, type, frequency, approval_code, create_time, order_type) values
<foreach collection="list" item="item" separator=",">
(#{item.purchaseOrderNo}, #{item.serialVersionNum}, #{item.companyCode}, #{item.factoryCode}, #{item.warehouseCode},
#{item.lineNo}, #{item.deliveryDate, jdbcType=TIMESTAMP}, #{item.partCode},#{item.partDesc},#{item.unit},#{item.totalQty}, #{item.requiredQty},
#{item.availableQty}, #{item.shippedQty}, #{item.type}, #{item.frequency}, #{item.approvalCode}, GETDATE(), #{item.orderType})
</foreach>
</insert>
<update id="batchUpdate">
update tb_order_detail
SET available_qty =
<foreach collection="list" item="item" index="index" separator=" " open="case ID" close="end">
when #{item.id} then #{item.availableQty}
</foreach>
,shipped_qty =
<foreach collection="list" item="item" index="index" separator=" " open="case ID" close="end">
when #{item.id} then #{item.shippedQty}
</foreach>
WHERE id in
<foreach collection="list" index="index" item="item" separator="," open="(" close=")">
#{item.id}
</foreach>
</update>
<select id="queryExistingApprovalCodes" resultType="com.hvlink.entity.po.order.TbOrderDetailPO">
SELECT
id, purchase_order_no, company_code, factory_code, serial_version_num, line_no,
delivery_date, part_code, part_desc, unit, total_qty, required_qty, available_qty,
shipped_qty, type, frequency, approval_code, order_type, warehouse_code
FROM
tb_order_detail a
where
<foreach collection="list" item="item" separator="OR" open="" close="">
(company_code = #{item.companyCode} AND purchase_order_no = #{item.purchaseOrderNo} and
serial_version_num = #{item.serialVersionNum} and order_type = #{item.orderType})
</foreach>
</select>
<!-- 明细查询 -->
<select id="queryDetailsByCompositeKeys" resultType="com.hvlink.entity.dto.order.PurchaseOrderDetailsDTO">
SELECT
d.purchase_order_no,
d.line_no,
d.delivery_date,
d.part_code,
d.part_desc,
d.unit,
d.total_qty,
d.required_qty,
d.available_qty,
d.shipped_qty,
d.type,
d.frequency,
d.approval_code,
d.serial_version_num,
d.company_code,
d.order_type
FROM tb_order_detail d
WHERE EXISTS (
SELECT 1 FROM (
VALUES
<foreach collection="compositeKeys" item="item" separator=",">
(#{item.purchaseOrderNo}, #{item.companyCode}, #{item.serialVersionNum})
</foreach>
) AS keys(purchase_order_no, company_code, serial_version_num)
WHERE d.purchase_order_no = keys.purchase_order_no
AND d.company_code = keys.company_code
AND d.serial_version_num = keys.serial_version_num
)
ORDER BY d.purchase_order_no DESC, d.line_no ASC, d.delivery_date DESC
</select>
<delete id="batchDelete">
<if test="list != null and list.size() > 0">
delete from tb_order_detail
where order_type = 2 and purchase_order_no in
<foreach collection="list" index="index" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
</delete>
</mapper>
<?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.hvlink.mapper.order.HandOrderMapper">
<!-- 明细查询 -->
<!-- 根据采购订单号集合查询明细 -->
<select id="queryDetailsByHandOrderNos" resultType="com.hvlink.entity.dto.order.HandOrderDetailDTO">
SELECT
d.purchase_order_no,
d.line_no,
d.delivery_date,
d.part_code,
d.part_desc,
p.supplier_part, <!-- 供应商零件号 -->
d.unit,
d.required_qty, <!-- 需求数量 -->
d.available_qty,
d.shipped_qty
FROM tb_order_detail d
LEFT JOIN tm_part p on d.part_code = p.part_code
WHERE
<foreach collection="compositeKeys" item="item" separator=",">
(#{item.purchaseOrderNo}, #{item.companyCode}, #{item.serialVersionNum})
</foreach>
) AS keys(purchase_order_no, company_code, serial_version_num)
WHERE d.purchase_order_no = keys.purchase_order_no
AND d.company_code = keys.company_code
AND d.serial_version_num = keys.serial_version_num
)
ORDER BY d.purchase_order_no, d.line_no
</select>
</mapper>一个有问题一个没有
最新发布