2.8 KiB
2.8 KiB
Why
生产部门目前【耗材管理】和【试剂管理】仅维护目录数据(编码、名称、规格、单位等),无法追踪库存数量、出入库记录。市场部门和质检部门已有完整的物料库存管理体系(主表含库存字段 + 变动记录表),生产部门需要补齐这一能力,同时生产任务执行过程中的步骤保存需自动扣减耗材/试剂库存。
What Changes
- 在
biz_consumable和biz_reagent现有目录表上新增库存字段(stock_qty、warning_qty、status) - 新建
biz_consumable_stock_log和biz_reagent_stock_log两张变动记录表(参照biz_material_stock_log结构) - 后端新增出入库 API(单个/批量入库出库),含行锁防超卖、出库校验、批量事务回滚
- 后端新增生产任务步骤保存时的自动库存 diff 结算(增量扣减/回退)
- 前端在现有耗材/试剂管理页面增加:库存列、入库/出库/批量入库/批量出库操作按钮及弹窗
- 前端新增变动记录展示:行按钮弹窗(单物料历史)+ 顶部 Tab 全部变动记录视图
- 变动记录区分 source_type:manual_in(手动入库)、manual_out(手动出库)、step_save(步骤保存自动扣减/回退)
Capabilities
New Capabilities
consumable-inventory: 耗材库存管理 — 库存字段扩展、手动出入库(单个+批量)、批量事务、库存校验、删除保护reagent-inventory: 试剂库存管理 — 同上,独立于耗材的平行实现production-step-stock-deduction: 生产任务步骤保存自动扣减 — diff 结算算法、增量扣减/回退、并发安全、溯源关联(step_id/task_id/task_no)material-stock-log-ui: 变动记录子弹窗 UI — 行按钮单物料弹窗 + 顶部 Tab 全部记录视图、筛选、分页
Modified Capabilities
(无需修改现有 spec 的行为要求)
Impact
- 数据库:
biz_consumable、biz_reagent各加 3 个字段(ALTER ADD COLUMN,有默认值,零风险);新建 2 张变动记录表 - 后端:修改
models/models.py(加字段+新 Model)、新建crud/consumable_stock_log.py和crud/reagent_stock_log.py、扩展crud/consumable.py和crud/reagent.py出入库逻辑、扩展api/production.py出入库和变动记录 API、修改crud/production_task.py步骤保存加入 diff 扣减 - 前端:修改
views/production/consumable/index.vue和views/production/reagent/index.vue(增加库存列、出入库弹窗、变动记录 Tab/弹窗)、扩展api/production.tsAPI 调用 - 下游不受影响:耗材包、工艺库、工艺路线、生产任务步骤等 10 张下游关联表均为快照复制,无 FK 依赖,加字段零影响
- SQL 迁移:需在
docs/sql/新增迁移脚本