fix: 修正 MKH 已入库库存与加工在途 #31

Merged
lunanting merged 1 commits from codex/mkh-live-receipt-0924 into main 2026-09-24 09:20:31 +08:00
Owner

目的与范围

  • 解决的问题:MKH 成品已入库后,旧的正数库存快照会压住更新更快的箱仓库存,且已入库完成的加工单可能因状态文字延迟继续显示在途。
  • 修改模块:backend/src/services/mkhBomService.js 及其回归测试。
  • 使用 AI:是;由当前 Codex 任务完成。

同步与兼容性

  • 起始基线 SHA:db2362307d9e9f300e9f1a40f039a981876f8609
  • 最近同步的 main SHA:db2362307d9e9f300e9f1a40f039a981876f8609
  • 待审核任务分支 SHA:4227d90
  • 无文本冲突;仅调整 MKH 库存仲裁及加工在途判定,保留每日进销存等最新主分支功能。
  • 仓库所有者已在当前项目连续任务中明确授权修复后安全合并并部署;本 PR 对应本次已入库仍显示加工在途问题。

数据库负载证据

  • 未新增表、索引或写操作。
  • 加工单查询仍是单次按仓库过滤并按商品聚合,仅把状态文字条件改为剩余数量 HAVING;生产源实测约 671ms,返回 11 个在途 SKU,目标 SKU 不再命中。
  • 库存仍复用原有两条有仓库边界的聚合查询,不增加查询次数;280 个同时具备两种库存源的 MKH 当前两源数值一致。

验证

  • npm --prefix backend run check:346 项通过。
  • 真实数据:MKHDNZ0409260700426 加工单 906318 数量 50、已入库 58、完成/全部入库;品牌仓库存与有效箱仓库存均为 47;修正口径返回在途 0。

风险与回退

  • 风险:两库存源不同步时取较大当前值;不会相加,避免重复计算。
  • 回退:回退本 PR 即恢复旧优先级与状态文字判断,无数据迁移。
## 目的与范围 - 解决的问题:MKH 成品已入库后,旧的正数库存快照会压住更新更快的箱仓库存,且已入库完成的加工单可能因状态文字延迟继续显示在途。 - 修改模块:`backend/src/services/mkhBomService.js` 及其回归测试。 - 使用 AI:是;由当前 Codex 任务完成。 ## 同步与兼容性 - 起始基线 SHA:`db2362307d9e9f300e9f1a40f039a981876f8609` - 最近同步的 main SHA:`db2362307d9e9f300e9f1a40f039a981876f8609` - 待审核任务分支 SHA:`4227d90` - 无文本冲突;仅调整 MKH 库存仲裁及加工在途判定,保留每日进销存等最新主分支功能。 - 仓库所有者已在当前项目连续任务中明确授权修复后安全合并并部署;本 PR 对应本次已入库仍显示加工在途问题。 ## 数据库负载证据 - 未新增表、索引或写操作。 - 加工单查询仍是单次按仓库过滤并按商品聚合,仅把状态文字条件改为剩余数量 HAVING;生产源实测约 671ms,返回 11 个在途 SKU,目标 SKU 不再命中。 - 库存仍复用原有两条有仓库边界的聚合查询,不增加查询次数;280 个同时具备两种库存源的 MKH 当前两源数值一致。 ## 验证 - `npm --prefix backend run check`:346 项通过。 - 真实数据:`MKHDNZ0409260700426` 加工单 906318 数量 50、已入库 58、完成/全部入库;品牌仓库存与有效箱仓库存均为 47;修正口径返回在途 0。 ## 风险与回退 - 风险:两库存源不同步时取较大当前值;不会相加,避免重复计算。 - 回退:回退本 PR 即恢复旧优先级与状态文字判断,无数据迁移。
lunanting added 1 commit 2026-09-24 09:20:06 +08:00
lunanting merged commit 52b74aafe9 into main 2026-09-24 09:20:31 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lunanting/cangku#31
No description provided.