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.
133 lines
4.1 KiB
133 lines
4.1 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.gaotao.modules.labelSplitMerge.dao.LabelSplitMergeMapper">
|
|
|
|
<!-- 根据标签条码获取库存信息 -->
|
|
<select id="getStockInfoByLabelCode" resultType="map">
|
|
SELECT
|
|
s.site,
|
|
s.bu_no as buNo,
|
|
s.warehouse_id as warehouseId,
|
|
s.part_no as partNo,
|
|
s.batch_no as batchNo,
|
|
s.location_id as locationId,
|
|
s.qty_on_hand as qtyOnHand,
|
|
s.roll_no as labelCode,
|
|
s.in_qty as labelQuantity,
|
|
s.status,
|
|
s.status_tb as statusTb,
|
|
s.manufacture_date as productionDate,
|
|
s.expired_date as expiryDate,
|
|
s.freeze_flag as freezeFlag,
|
|
s.label_type as labelType,
|
|
s.label_type_tb as labelTypeTb,
|
|
s.wdr,
|
|
w.WareHouseName as warehouseName
|
|
FROM inventory_stock s
|
|
LEFT JOIN warehouse w ON s.warehouse_id = w.WareHouseID AND s.site = w.site
|
|
WHERE s.roll_no = #{labelCode}
|
|
AND s.site = #{site}
|
|
AND s.warehouse_id = #{warehouseId}
|
|
AND s.status = '在库'
|
|
AND s.qty_on_hand > 0
|
|
</select>
|
|
|
|
<!-- 插入新的库存记录 -->
|
|
<insert id="insertInventoryStock">
|
|
INSERT INTO inventory_stock (
|
|
site,
|
|
bu_no,
|
|
roll_no,
|
|
parent_roll_no,
|
|
part_no,
|
|
label_type_tb,
|
|
label_type,
|
|
warehouse_id,
|
|
location_id,
|
|
batch_no,
|
|
wdr,
|
|
status_tb,
|
|
status,
|
|
first_in_date,
|
|
latest_in_date,
|
|
active_date,
|
|
in_qty,
|
|
out_qty,
|
|
qty_on_hand,
|
|
qty_reserved,
|
|
freeze_flag,
|
|
manufacture_date,
|
|
expired_date,
|
|
orderref1,
|
|
orderref2,
|
|
orderref3
|
|
) VALUES (
|
|
#{params.site},
|
|
#{params.buNo},
|
|
#{params.rollNo},
|
|
#{params.parentRollNo},
|
|
#{params.partNo},
|
|
#{params.labelTypeTb},
|
|
#{params.labelType},
|
|
#{params.warehouseId},
|
|
#{params.locationId},
|
|
#{params.batchNo},
|
|
#{params.wdr},
|
|
#{params.statusTb},
|
|
#{params.status},
|
|
#{params.firstInDate},
|
|
#{params.latestInDate},
|
|
#{params.activeDate},
|
|
#{params.inQty},
|
|
#{params.outQty},
|
|
#{params.qtyOnHand},
|
|
#{params.qtyReserved},
|
|
#{params.freezeFlag},
|
|
#{params.manufactureDate},
|
|
#{params.expiredDate},
|
|
#{params.orderref1},
|
|
#{params.orderref2},
|
|
#{params.orderref3}
|
|
)
|
|
</insert>
|
|
|
|
<!-- 更新库存数量 -->
|
|
<update id="updateInventoryQuantitySplit">
|
|
UPDATE inventory_stock
|
|
SET
|
|
qty_on_hand = #{params.qtyOnHand},
|
|
in_qty = #{params.inQty},
|
|
latest_out_date = GETDATE()
|
|
WHERE roll_no = #{params.rollNo}
|
|
AND site = #{params.site}
|
|
AND warehouse_id = #{params.warehouseId}
|
|
</update>
|
|
|
|
<!-- 更新库存数量 -->
|
|
<update id="updateInventoryQuantityMerge">
|
|
UPDATE inventory_stock
|
|
SET
|
|
qty_on_hand = #{params.qtyOnHand},
|
|
in_qty = #{params.inQty},
|
|
latest_in_date = GETDATE()
|
|
WHERE roll_no = #{params.rollNo}
|
|
AND site = #{params.site}
|
|
AND warehouse_id = #{params.warehouseId}
|
|
</update>
|
|
|
|
<!-- 更新库存状态 -->
|
|
<update id="updateInventoryStatus">
|
|
UPDATE inventory_stock
|
|
SET
|
|
status = #{params.status},
|
|
status_tb = #{params.statusTb},
|
|
out_qty = ISNULL(out_qty, 0) + #{params.outQty},
|
|
qty_on_hand = 0,
|
|
latest_out_date = GETDATE()
|
|
WHERE roll_no = #{params.rollNo}
|
|
AND site = #{params.site}
|
|
AND warehouse_id = #{params.warehouseId}
|
|
</update>
|
|
|
|
</mapper>
|