生产物料库(biz_production_material*)已对齐质检物料库:试剂/耗材统一目录、批次、领用(manual_out)、工单 step_save(parent_usage_id)、盘点。用户确认 方案 A:配置试剂配制完成后 先入库存,工单使用前 再领用,步骤登记 不二次扣库。
已废弃的 biz_consumable_pack 仅为耗材模板,无配制实例与子物料领用追溯,不可复用。
Goals:
material_type=configured_reagent,目录 + BOM(试剂+耗材子项)Non-Goals:
选择:configured_reagent 作为 biz_production_material.material_type 第三值;批次/领用/盘点 复用 现有表与 CRUD 模式。
理由:与用户已接受的试剂/耗材统一库一致;避免第二套 batch/usage API。
替代:独立 biz_configured_reagent* 表系 — 拒绝,重复建设。
| 实体 | 表 | 含义 |
|---|---|---|
| 配方 BOM | biz_production_material_formula |
主数据:标准子物料与标准用量 |
| 配制单 | biz_production_material_prep + _prep_line |
业务单据:某次实际配制 |
理由:BOM 可版本化维护;配制单保留历史追溯(哪次用了哪些领用记录)。
配制单头关键字段:configured_material_id、prep_no、prep_time、output_qty、output_unit、batch_no、expire_date、stock_in_no(产出批次)、status(draft/completed/cancelled)。
配制行关键字段:component_material_id、component_material_type、component_material_code、requisition_usage_id(parent 领用记录)、actual_qty、usage_unit。
| 环节 | change_type | source_type | 库存影响 |
|---|---|---|---|
| 子物料配制消耗 | use | prep_consume |
子物料 不扣 batch;stock_before==stock_after;parent_usage_id 指向领用记录 |
| 配置试剂配制入库 | in | prep_in |
配置试剂 catalog stock_qty ↑;新建/更新 batch remaining_qty |
| 配置试剂领用 | use | manual_out |
按 batch 扣减(与现网一致) |
| 工单步骤登记 | use | step_save |
不扣库存;parent_usage_id 指向领用记录 |
理由:与 production-material-requisition Decision 5 一致;子物料已在领用时扣过 batch。
单次「确认配制」在一个 DB 事务内:
requisition_usage_id 有效、未重复、领用人为当前用户或允许范围prep + prep_lineprep_consume usagestock_batch + prep_in usagestock_qty失败则整体回滚。
选择:新增 biz_production_task_step_configured_reagent 子表(或等价命名),工单执行态增加 「配置试剂」Tab;领用下拉 GET /production-material-requisition-options?materialType=configured_reagent。
理由:与保留「试剂」「耗材」分列一致;避免塞入 reagent Tab 造成类型混淆。
保存仍调用统一 register_step_usage_from_requisition;目录内配置试剂 有实际用量时必须选领用记录。
沿用 租户 + material_type + material_code;允许配置试剂编码与试剂/耗材编码相同(类型不同)。
配制时允许调整 实际用量;子物料行 必须 选领用记录。标准用量自 BOM 带出,仅作参考。
| 风险 | 缓解 |
|---|---|
| 领用余量与子物料配制量不一致 | 首版仅记录 prep_consume 关联领用,不强制核销领用余额字段;二期可加「领用已配制量」汇总 |
| 配置试剂批次过期日规则不清 | 配制单必填 expire_date |
| 成本单价 | 首版 unit_price/amount 可按子物料 prep_consume 金额汇总写入产出 batch |
| 步骤子表增多 | 配置试剂 Tab 独立;工艺模板引用二期再做 |
| 与未完成 production-material-requisition 依赖 | tasks 注明前置:统一物料库迁移已执行 |
configured_reagent;step 子表(若新建)回滚:隐藏菜单与 API;新表保留不删(软兼容)。
| # | 问题 | 默认 |
|---|---|---|
| Q1 | 配制单是否独立菜单 vs 物料库 Tab | 物料库第四 Tab「配制单」 |
| Q2 | prep_no 生成规则 | 租户内按日序号,如 PZ-YYYYMMDD-NNN |
| Q3 | 取消配制单是否回滚库存 | 首版仅 draft 可删;completed 不可撤销 |