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

<?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>