yueli
dec33b685c
feat(purchase): 新增待采购池接口(防重复采购)
GET /api/v1/purchase/pending-pool:找出「有效供给仍低于预警线」的物料。
有效供给 = 物理总库存 + 在途量
过滤规则 = 有效供给 <= 红/黄阈值 才进池
建议采购量 = max(1, 目标阈值 - 有效供给)
★ 为什么不用「有活跃单就排除」:红线 10、库存 0、某采购员只建了一张
数量 5 的单时,该物料会立刻从池中消失,剩下 5 个缺口永远无人认领。
改为按量计算后它继续留池,suggested_qty 自动降到 5。
★ 用 <= 而非 < 是与业务方确认后刻意维持的口径(与物料列表预警、预警邮件
同源),勿擅自改成严格小于 —— 只改本接口会造成「列表亮黄灯、池子却排除」
的撕裂,真要改必须三处一起动。代价是恰好等于阈值时建议量落到保底的 1,
前端 tooltip 已单独说明,不展示算不成立的错误算式。
权限:新增 inbound_purchase:pending_pool(注册为 sys_element 而非新建
SysMenu)。因 ensure_default_permissions 在角色已有权限时整段跳过,另写了
存量角色自动迁移,并按源行镜像 company_name 避免跨公司作用域泄漏。
2026-09-18 14:30:53 +08:00
..
2026-09-17 12:01:11 +08:00
2026-05-19 10:35:33 +08:00
2026-09-17 12:07:21 +08:00
2026-04-29 15:40:43 +08:00
2026-04-02 18:44:12 +08:00
2026-04-29 15:40:43 +08:00
2026-09-10 14:16:39 +08:00
2026-09-10 14:16:27 +08:00
2026-09-10 14:16:27 +08:00
2026-08-03 15:53:15 +08:00
2026-01-26 13:47:53 +08:00
2026-09-10 15:47:02 +08:00
2026-09-16 16:45:52 +08:00
2026-09-10 14:16:27 +08:00
2026-09-18 14:30:53 +08:00
2026-01-26 13:47:53 +08:00
2026-09-10 17:21:14 +08:00
2026-09-16 17:22:51 +08:00
2026-09-17 12:01:11 +08:00
2026-09-11 14:45:23 +08:00