fix(oms):入库业务单单号重复与入库链路计划数量翻倍修复

一、单号重复:业务单与客户预约两套取号计数器互不可见致撞号。
取号统一为跨两表MAX+1+存在性校验,保存前校验预取号占用,下发不再换号,Mapper新增existsByOrderNumber。
二、计划数量翻倍:编辑明细为软删(del_flag=2留存),下发查明细未过滤del_flag,
软删行被复制进下游单据并计入头表数量(执行单数量≈业务单×2+修改差值)。
1. 预约→业务单下发、执行单推WMS:明细查询补del_flag=1过滤
2. executeAndIssue(执行并下发):补防重复下发校验(issueTime非空拒绝)
3. pushInOrder/pushInOrderDetail:加幂等,防Feign重试插重复单
This commit is contained in:
rcx
2026-08-20 14:06:50 +08:00
parent ef13d890be
commit ff2b1965f7
5 changed files with 103 additions and 117 deletions
@@ -676,4 +676,8 @@
FROM reservation_stock_in_order
WHERE in_order_number LIKE concat(#{prefix}, '%')
</select>
<select id="existsByOrderNumber" resultType="java.lang.Integer" parameterType="java.lang.String">
SELECT COUNT(1) FROM reservation_stock_in_order WHERE in_order_number = #{inOrderNumber}
</select>
</mapper>