batch_id, inv_id, from_id, from_item_id, wh_id, sku_id, non_std_code,
sys.f_remove_zero(inv_qty) as inv_qty, cost_price, cost_amt, acc_date, remarks, flg_valid, cp_id, op_create_time,
op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
tpib.batch_id, tpib.inv_id, tpib.from_id, tpib.from_item_id,
tpib.wh_id, tpib.sku_id, tpib.non_std_code, sys.f_remove_zero(tpib.inv_qty) as inv_qty,
tpib.cost_price, tpib.cost_amt, tpib.acc_date, tpib.remarks,
tpib.flg_valid, tpib.cp_id
AND inv_id = #{invId}::uuid
AND from_id = #{fromId}
AND tpib.from_item_id = #{fromItemId}
AND tpib.wh_id = #{whId}
AND tpib.sku_id = #{skuId}
AND tpib.non_std_code = #{nonStdCode}
AND tpib.inv_qty = #{invQty}
AND tpib.cost_price = #{costPrice}
AND tpib.cost_amt = #{costAmt}
AND tpib.acc_date = #{accDate}
AND tpib.flg_valid = #{flgValid}
AND tpib.cp_id = #{cpId}
WHERE batch_id in
#{item}
left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = tpib.sku_id
left join dkic_b.t_mst_warehouse tmw on tmw.wh_id = tpib.wh_id
left join dkic_b.t_mst_goods_brand tmgb on tmgb.brand_id = tmgs.brand_id
insert into dkic_b.t_psi_inventory_batch
(
inv_id,
from_id,
from_item_id,
wh_id,
sku_id,
non_std_code,
inv_qty,
cost_price,
cost_amt,
acc_date,
remarks,
cp_id,
op_app_code,
)
values
(
#{item.invId}::uuid,
#{item.fromId}::uuid,
#{item.fromItemId}::uuid,
#{item.whId}::uuid,
#{item.skuId}::uuid,
#{item.nonStdCode},
#{item.invQty},
#{item.costPrice},
#{item.costAmt},
#{item.accDate},
#{item.remarks},
#{item.cpId},
#{item.opAppCode},
)
update dkic_b.t_psi_inventory_batch
cost_amt = 0,
inv_qty = 0,
cost_amt = cost_amt - #{costAmt,jdbcType=NUMERIC},
inv_qty = inv_qty - #{invQty,jdbcType=NUMERIC},
where batch_id =#{batchId,typeHandler=UuidTypeHandler}
and inv_qty - #{invQty,jdbcType=NUMERIC}>=0
and cost_amt - #{costAmt,jdbcType=NUMERIC}>=0
DELETE
FROM dkic_b.t_psi_inventory_batch
where from_id = #{fromId,typeHandler=UuidTypeHandler}
and from_item_id = #{fromItemId,typeHandler=UuidTypeHandler}
update dkic_b.t_psi_inventory_batch
set cost_amt = #{costAmt,jdbcType=NUMERIC},
inv_qty = #{invQty,jdbcType=NUMERIC}
where batch_id = #{batchId,typeHandler=UuidTypeHandler}
update dkic_b.t_psi_inventory_batch
set cost_amt = #{costAmt,jdbcType=NUMERIC},
cost_price = #{costPrice,jdbcType=NUMERIC}
where batch_id = #{batchId,typeHandler=UuidTypeHandler}