整合发货补漏与导出口径修复,保留主线同步保护 #282

Merged
WuYongJie merged 4 commits from fix/WuYongJie-shipping-release-oct07 into main 2026-10-07 13:52:19 +08:00

4 Commits

Author SHA1 Message Date
7513fc570b Merge remote-tracking branch 'origin/main' into fix/WuYongJie-shipping-release-oct07 2026-10-07 13:50:23 +08:00
7def7261f7 fix: 保留主线同步保护并验证发货补漏与导出口径 2026-10-07 13:49:43 +08:00
1bb1c80816 fix(发货数据): 两种导出模式对齐工作平台取值逻辑
按工作平台 OmsDataDay 源码 + 9.1-9.16 逐单对比反推,合并/明细基础信息一致率均达 99.9% 以上。

取数范围
- 换单配对:快递明细旧单号在出库单查不到时,配同订单下未被占用的出库单新单号
- 作废重出:同单号/同订单多张出库单时优先有效单、再取最新 io_date
- 订单已取消/已拆分/已合并的快递明细不出行;订单标签含"线上发货"同样排除
- 合包/拼单:按 单号+订单号 定位出库单;同单号不同交易单号的出库单照常补出
- 发货明细无单号:出库单单号 -> 订单单号 -> 空,不再借运费表里其它包裹单号
- 自动发货仓虚拟/补差单:单号已被别的包裹输出则留空
- @ 去重只在同一交易单号、本次同步时间段内比对,剩余 @ 前缀统一去掉

字段取值
- 发货时间取出库单 io_date;平台取视图 shop_site(无则映射);省市区取视图
- 合并商品名称/供应商取包裹内最后一个商品(原为 MIN);名称 & 转 ^
- 明细体积:数量×长×宽×高,代发仓非标准承运商不乘数量,指定快递为 0(config detail_volume)
- 组合件合并值单独存 m_* 列(新迁移),合并导出优先使用
- 仓库 {未指定发货仓} 导出为空;明细 0 尺寸/体积导出为空

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhry6eiuwf
2026-10-07 13:45:27 +08:00
842cb642e6 fix(发货数据): 修正线上发货误排 + 出库单兜底,补齐漏拉
对照工作平台 9.1-9.16 导出逐单比对,漏拉(带快递单号) 2384 -> 95,多拉 45 -> 46。

- excludedByLabel:原先凡含"线上发货"一律排除,把京东云仓/京仓(CLPS/ECLP)
  真实发货也误排了。改为只排除"线上发货且非云仓/京仓"(刷单/批发/纯售后)。
  实测 2112 个线上发货出库单:误排 2、误收 0。
- 新增 syncOutbound 兜底 pass:按出库单 io_date 窗口(按主键 Id 分段)扫描,
  把 express/autoship 都未处理的包裹按发货数据视图补吐(工厂代发仓/自有仓
  出库单无订单行,或同订单其它包裹在发货明细而本包裹不在)。
  防重复按 io_id + 快递单号(去@),express/autoship 处理过的(含按标签排除的)
  都登记跳过;同样套用标签规则,跳过取消/删除、无单号、无商品。
- 出库单表头缺失交易单号/省市区/店铺/快递名称时,从发货数据视图兜底。
  新补 652 单:交易单号/省 99.4%,条码/仓库 99.8%,平台/供应商/体积 100%。

已知未收:314 个"简尚-自动发货仓"信誉订单虚拟条码(X00006),只存在于视图,
无快递单号/运费/金额,源数据无发货时间。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
2026-10-07 13:41:14 +08:00