fbc92960561909270e7b4eaf2137a4fcf3633dc2
激活库存表长期「只写不读」的 status 列,使其成为分配准入的硬门槛。 - inventory_reservation: 新增状态语义单一事实来源(STOCK_STATUS_*/ allocatable_filter/is_allocatable);verify_scanned 增加状态准入校验 (覆盖出库与借库两条提交路径) - outbound: _allocate_bom_requirements 过滤条件加 allocatable_filter, 非「在库」一律不进入候选集;扫码路由把 ValueError 转为 400 - outbound_service: create_outbound_batch 强制 request_id 必填。原先无单 时会跳到所谓「散单」分支,而该分支的扣减逻辑从未落地(注释点名的 _apply_reservation_override 全仓不存在),实测只写台账不扣库存, 同一批货可被反复出库;get_stock_by_barcode 接入扫码准入;维修单扫码 补排除「报废转出」;预占再平衡块补 rollback 兜底 - fill_missing_stock_status.sql: 把存量行刷回「在库」。该过滤是 Fail-Closed 的,不先洗刷会让全库无法出库 破坏性变更:不传 request_id 的出库请求现在会被拒绝。
Description
No description provided
Languages
Python
70.2%
CSS
14.9%
Vue
7.6%
HTML
4.2%
TypeScript
3.1%