fix: 兼容相同顺运宝明细逐件回写 (#289)

This commit is contained in:
chengma
2026-08-22 11:46:23 +08:00
parent de10fb6cf4
commit 18ad85d3cb
7 changed files with 460 additions and 32 deletions
+6 -1
View File
@@ -410,7 +410,7 @@ SKU(平均每商品 1.17 个),**查无此 SKU 是常态**,不是异常
`[建议]` 登录后**只调 `/am/user/get` 验证会话**,其余几个是网页自己的初始化请求,
Go 侧不用跟着调。
### 7.1 档口入库码逐件写入(工单 #234、#250、#278)
### 7.1 档口入库码逐件写入(工单 #234、#250、#278、#289)
档口入库码最终写入货运明细的 `innerExpCode`(页面名称“快递单号”)。接口来自
现有 Python 流程和 HAR 响应样本:
@@ -433,6 +433,11 @@ POST /am/stock/detail/updateDetailCode?t=0&id={stockID}&detailId={detailID}&code
- 回写前必须同时核对目标码数量、Excel 合并源行数和原商品 `productQty`;任一不一致时
零写入。一个远端明细只写一个单件码,原明细为空时承载第一个缺失码,其余缺失码创建
零价占位明细。
- 顺运宝也可能已经用多条数量 1 的相同商品明细表达同一聚合记录。只有原始 SKU 重复
候选数、候选总件数、Excel 源行数和单件码数完全一致,并且全部候选的规格、`sku`、
`variationSku`、档口身份和采购状态一致时,才按稳定 `detailId` 与 Excel 单件码顺序形成
`existing_matched` 逐件规划。回写复用这些现成明细,不再创建占位明细;任一绑定在写前
变化时整条记录零写入并要求重新匹配。其他重复候选仍按真实歧义阻断。
- 同一货运单任意明细已有目标码时直接复用,不删除、不搬移。稳定占位标题可用于识别
“已创建但检查点未保存”的明细,防止崩溃后重复创建。
- 规划时的旧值为空时不调用删除;旧值非空且仍与规划快照一致时,只有删除明确成功才继续。