fix: 从包装库存读取 BOM 配件仓位 #8

Merged
lunanting merged 1 commits from codex/bom-pack-location-0916 into main 2026-09-16 21:00:02 +08:00
Owner

目的与范围

  • 解决的问题:MKH BOM 下钻一直从 jst_sku 空库位字段取值,未使用实际箱及仓位库存视图。
  • 修改模块:backend/src/services/mkhBomService.js 与对应单元测试。
  • AI 辅助开发,负责人需审核最终差异。

同步与兼容性

  • 起始基线 SHA:3fe0e55ad67a2c9ac9337f8acc66fcdb3d70f317
  • 最近同步 main SHA:3fe0e55ad67a2c9ac9337f8acc66fcdb3d70f317
  • 待审核分支 SHA:65d009d
  • 无冲突;仅替换 BOM 明细的仓位读取逻辑,库存数量仍沿用 jst_inventoryInfo。
  • 按基础配件编码匹配完全相同的 sku_id 和“基础编码-包装序号”;只读取净数量大于 0 的位置。
  • 优先显示 bin_group/bin,副本仓位为空时显示 wh_id 与 pack_id。

验证

  • npm --prefix backend run check:149 个 JS 语法检查通过,290 个测试通过。
  • jst_packInventoryInfo 当前 85,152 行、73,012 个不同 SKU;bin/bin_group 当前均为空。
  • 代表性 3 配件有界查询返回 12 行、1 个正库存箱号,实测约 399ms。
  • 未在第三方数据库执行 DDL、写入、EXPLAIN ANALYZE 或压测。

风险与回退

  • 风险:上游副本补充 bin 后会自动优先展示真实仓位;同一配件最多展示 10 个位置。
  • 回退:回退本提交即可,未包含数据库迁移或数据写入。
## 目的与范围 - 解决的问题:MKH BOM 下钻一直从 jst_sku 空库位字段取值,未使用实际箱及仓位库存视图。 - 修改模块:backend/src/services/mkhBomService.js 与对应单元测试。 - AI 辅助开发,负责人需审核最终差异。 ## 同步与兼容性 - 起始基线 SHA:3fe0e55ad67a2c9ac9337f8acc66fcdb3d70f317 - 最近同步 main SHA:3fe0e55ad67a2c9ac9337f8acc66fcdb3d70f317 - 待审核分支 SHA:65d009d - 无冲突;仅替换 BOM 明细的仓位读取逻辑,库存数量仍沿用 jst_inventoryInfo。 - 按基础配件编码匹配完全相同的 sku_id 和“基础编码-包装序号”;只读取净数量大于 0 的位置。 - 优先显示 bin_group/bin,副本仓位为空时显示 wh_id 与 pack_id。 ## 验证 - npm --prefix backend run check:149 个 JS 语法检查通过,290 个测试通过。 - jst_packInventoryInfo 当前 85,152 行、73,012 个不同 SKU;bin/bin_group 当前均为空。 - 代表性 3 配件有界查询返回 12 行、1 个正库存箱号,实测约 399ms。 - 未在第三方数据库执行 DDL、写入、EXPLAIN ANALYZE 或压测。 ## 风险与回退 - 风险:上游副本补充 bin 后会自动优先展示真实仓位;同一配件最多展示 10 个位置。 - 回退:回退本提交即可,未包含数据库迁移或数据写入。
lunanting added 1 commit 2026-09-16 17:53:19 +08:00
lunanting merged commit 4aed4d543d into main 2026-09-16 21:00:02 +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#8
No description provided.