fix(oms): 出库导入批次分配优化:批次号优先排序、移除归属校验、库存不足统一报错
对 c1f483f0 出库导入指定仓库功能的迭代调整:
1. 移除物料仓库归属前置校验(countInventoryByWarehouse):物料档案全仓共享、
不属于任何仓库,仓库约束收敛到批次分配环节——分不到当前仓批次即报库存不足
2. getkcId 增加分配排序:同物料同仓多条可用库存时,有批次号的优先、空批次
沉底、同组按库存ID(入库先后);此前无排序随机取第一条,会分到无批次号的
历史脏数据记录
3. 明细仓库编码/名称兜底:部分历史库存记录只存仓库ID未存编码/名称,按ID
反查仓库表补齐,修复明细仓库只显示ID不显示名称
4. 库存校验改收集式:全部物料批次比较完成后统一报出不足物料清单,原为逐行
分配时立即抛错,首个不足即中断、后续物料不参与比较
This commit is contained in:
+2
-5
@@ -559,11 +559,8 @@
|
||||
<if test="warehouseId != null">
|
||||
and WAREHOUSE_ID = #{warehouseId}
|
||||
</if>
|
||||
</select>
|
||||
<!-- 出库导入校验:物料在指定仓库是否存在库存记录(存在即视为归属该仓库,不限数量) -->
|
||||
<select id="countInventoryByWarehouse" resultType="int">
|
||||
select count(1) from "NGWL_TEST_WMS".MATERIAL_INVENTORY
|
||||
where 1 = 1 and DEL_FLAG = 1 and MATERIAL_BASE_INFO_ID = #{id} and WAREHOUSE_ID = #{warehouseId}
|
||||
<!-- 同物料同仓存在多条可用库存时:有批次号的优先分配(空批次的历史记录沉底),同组按入库先后 -->
|
||||
order by (case when BATCH_NUMBER is null or BATCH_NUMBER = '' then 1 else 0 end), MATERIAL_INVENTORY_ID asc
|
||||
</select>
|
||||
<select id="getUserNcCode" parameterType="java.lang.Long" resultType="java.lang.String">
|
||||
select CUSTOMER_NC_CODE from "NGWL_TEST_USER".USER_SHIPPER where 1 = 1 and DEL_FLAG = 1 and USER_ID = #{id} limit 1
|
||||
|
||||
Reference in New Issue
Block a user