feat: 拣选库位动销分析固定只统计拣选位,移除仓位类型切换 #61

Merged
youruo merged 1 commits from codex/picking-bin-picking-only-1008 into main 2026-10-08 13:10:49 +08:00
Collaborator

背景

动销等级此前提供「拣选 / 存货」类型切换,但业务需要的只是拣选位动销;存货位混进来既无意义,又让全类型查询容易超时(需拼 binType IN 过滤)。

内容

  • 统计范围固定为拣选位:取数在 bin CTE 上直接过滤 bin_group = 空(比外层过滤更早,存货位不再进入后续 CTE),移除可变的 binType IN (...) 过滤与 resolveBinTypes,binType 字段恒为「拣选」
  • 接口 payload 的 binTypes / binTypeOptions 固定为 ["拣选"],缓存键不再含类型
  • 列表与导出移除「类型」列(全为拣选,冗余):导出列现为 仓库 / 仓位 / 商品编码 / 库存数量 / 仓位SKU数 / 商品销量 / 分摊销量 / 商品日销 / 动销等级 / 统计天数 / 统计基准日
  • 页面移除仓位类型多选器,底部文案改为「统计范围:仅拣选位」,口径说明与导出 Tooltip 同步
  • 配置侧删除 BIN_TYPES / BIN_TYPE_STORAGE / PICKING_BIN_DEFAULT_TYPES,改为单一 PICKING_BIN_BIN_TYPES

验证(基准日 2026-10-08、30 天窗口)

  • 列表 11871 行 / 6821 个去重商品 / 库存 499141 / 去重商品销量 96847,与改前的「拣选位」口径完全一致;明细中出现的类型集合仅为 ["拣选"]
  • 导出 11871 行,表头确认无「类型」列;分摊销量合计 96847 = 去重商品销量合计 96847(差异 -0.0017,浮点舍入)
  • 旧参数 binType=存货 已被忽略:仍返回拣选位结果,且命中同一份缓存(类型不再参与缓存键)
  • 7 / 60 天窗口切换与单仓过滤(崔桥 1910 行 / 1679 商品 / 库存 36880)均正常
  • 单测 9/9 通过;后端语法检查 182 文件通过;前端 eslint 无报错、vite build 成功

授权

用户 2026-10-08 明确要求「动销等级不需要全类型,只需要拣选」。

## 背景 动销等级此前提供「拣选 / 存货」类型切换,但业务需要的只是拣选位动销;存货位混进来既无意义,又让全类型查询容易超时(需拼 binType IN 过滤)。 ## 内容 - **统计范围固定为拣选位**:取数在 bin CTE 上直接过滤 `bin_group = 空`(比外层过滤更早,存货位不再进入后续 CTE),移除可变的 `binType IN (...)` 过滤与 `resolveBinTypes`,`binType` 字段恒为「拣选」 - 接口 payload 的 `binTypes` / `binTypeOptions` 固定为 `["拣选"]`,缓存键不再含类型 - **列表与导出移除「类型」列**(全为拣选,冗余):导出列现为 仓库 / 仓位 / 商品编码 / 库存数量 / 仓位SKU数 / 商品销量 / 分摊销量 / 商品日销 / 动销等级 / 统计天数 / 统计基准日 - 页面移除仓位类型多选器,底部文案改为「统计范围:仅拣选位」,口径说明与导出 Tooltip 同步 - 配置侧删除 `BIN_TYPES` / `BIN_TYPE_STORAGE` / `PICKING_BIN_DEFAULT_TYPES`,改为单一 `PICKING_BIN_BIN_TYPES` ## 验证(基准日 2026-10-08、30 天窗口) - 列表 **11871 行 / 6821 个去重商品 / 库存 499141 / 去重商品销量 96847**,与改前的「拣选位」口径完全一致;明细中出现的类型集合仅为 `["拣选"]` - 导出 11871 行,表头确认无「类型」列;分摊销量合计 **96847** = 去重商品销量合计 96847(差异 -0.0017,浮点舍入) - 旧参数 `binType=存货` 已被忽略:仍返回拣选位结果,且命中同一份缓存(类型不再参与缓存键) - 7 / 60 天窗口切换与单仓过滤(崔桥 1910 行 / 1679 商品 / 库存 36880)均正常 - 单测 9/9 通过;后端语法检查 182 文件通过;前端 eslint 无报错、`vite build` 成功 ## 授权 用户 2026-10-08 明确要求「动销等级不需要全类型,只需要拣选」。
youruo added 1 commit 2026-10-08 13:10:32 +08:00
- 取数固定只取拣选位:bin CTE 直接过滤 bin_group 为空(更早过滤,存货位不再进入后续 CTE)
  移除可变的 binType IN 过滤与 resolveBinTypes,binType 字段恒为拣选
- 接口 payload 的 binTypes / binTypeOptions 固定为 ['拣选'];缓存键不再含类型
- 列表与导出移除「类型」列(全为拣选,冗余);页面移除类型多选器、底部文案改为「统计范围:仅拣选位」
- 口径说明补充统计范围;Tooltip 同步

验证(基准日 2026-10-08、30 天):
- 列表 11871 行 / 6821 个去重商品 / 库存 499141 / 去重商品销量 96847,明细类型集合仅为 ['拣选']
- 导出 11871 行,表头无「类型」列;分摊销量合计 96847 = 去重商品销量合计 96847(差异 -0.0017 浮点舍入)
- 旧参数 binType=存货 被忽略(仍返回拣选且命中同一缓存);7 / 60 天窗口与单仓过滤均正常
- 单测 9/9 通过;后端语法检查 182 文件通过;前端 eslint 无报错、vite build 成功
youruo merged commit 214ede07a5 into main 2026-10-08 13:10:49 +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#61
No description provided.