2026-05-17-production-management-design.md 9.9 KB

生产管理模块设计规格

概述

实现需求文档 2.5 节中生产管理下的 7 个子模块(工艺路线配置暂不实现)。 新增一级菜单【生产管理】,下设 7 个二级菜单。按依赖关系分 2 批实现。

范围

批次 模块 需求章节 依赖
第1批 耗材管理 2.5.1 无
第1批 试剂管理 2.5.3 物品单位管理(已有)
第1批 SOP文档 2.5.4 无(附件上传)
第1批 工艺工序分类 2.5.5 无
第1批 工艺产出物类型 2.3.6 无
第2批 耗材包管理 2.5.2 耗材管理
第2批 工艺库管理 2.3.7 试剂、耗材、SOP、工序分类、产出物类型

不在范围内: 工艺路线配置[2.3.8] — 留待下次迭代。

SQL 表(需新建 11 张)

第1批:单表模块(5 张)

1. biz_consumable — 耗材

字段 类型 说明
id VARCHAR(64) PK UUID
consumable_code VARCHAR(64) NOT NULL 耗材编码
consumable_name VARCHAR(100) NOT NULL 耗材名称
spec_model VARCHAR(200) DEFAULT NULL 规格型号
standard_usage VARCHAR(100) DEFAULT NULL 标准用量
description VARCHAR(500) DEFAULT NULL 描述
+ 公共字段 tenant_no ~ del_flag

2. biz_reagent — 试剂

字段 类型 说明
id VARCHAR(64) PK UUID
reagent_code VARCHAR(64) NOT NULL 试剂编码
reagent_name VARCHAR(100) NOT NULL 试剂名称
spec VARCHAR(200) DEFAULT NULL 规格
standard_usage VARCHAR(100) DEFAULT NULL 标准用量
unit VARCHAR(64) DEFAULT NULL 单位(下拉自物品单位管理)
description VARCHAR(500) DEFAULT NULL 描述
+ 公共字段

3. biz_sop_document — SOP文档

字段 类型 说明
id VARCHAR(64) PK UUID
sop_code VARCHAR(64) NOT NULL SOP编号
sop_name VARCHAR(200) NOT NULL SOP文档名称
version_no VARCHAR(50) DEFAULT NULL 版本号
sop_attachments VARCHAR(2000) DEFAULT NULL SOP文档附件(逗号分隔URL)
+ 公共字段

4. biz_process_category — 工艺工序分类

字段 类型 说明
id VARCHAR(64) PK UUID
category_code VARCHAR(64) NOT NULL 分类编码
category_name VARCHAR(100) NOT NULL 分类名称
+ 公共字段

5. biz_output_type — 工艺产出物类型

字段 类型 说明
id VARCHAR(64) PK UUID
type_code VARCHAR(64) NOT NULL 类型编码
type_name VARCHAR(100) NOT NULL 类型名称
+ 公共字段

第2批:主表+子表模块(6 张)

6. biz_consumable_pack — 耗材包主表

字段 类型 说明
id VARCHAR(64) PK UUID
pack_code VARCHAR(64) NOT NULL 编号
pack_name VARCHAR(100) NOT NULL 名称
usage_scene VARCHAR(200) DEFAULT NULL 使用场景
pack_type VARCHAR(20) DEFAULT NULL 类型(bzhcb-标准耗材包、zdyhcb-自定义耗材包)
status CHAR(1) DEFAULT '1' 状态(1-启用、0-停用)
+ 公共字段

7. biz_consumable_pack_item — 耗材包耗材明细

字段 类型 说明
id VARCHAR(64) PK UUID
pack_id VARCHAR(64) NOT NULL 耗材包id
consumable_code VARCHAR(64) DEFAULT NULL 耗材编码
consumable_name VARCHAR(100) DEFAULT NULL 耗材名称
spec_model VARCHAR(200) DEFAULT NULL 耗材规格型号
standard_usage VARCHAR(100) DEFAULT NULL 标准用量
remark VARCHAR(512) DEFAULT NULL 备注
+ 公共字段

8. biz_process — 工艺库主表

字段 类型 说明
id VARCHAR(64) PK UUID
process_code VARCHAR(64) NOT NULL 工序代码
category_id VARCHAR(64) DEFAULT NULL 工序分类id(下拉自工艺工序分类)
process_name VARCHAR(100) NOT NULL 工序名称
description VARCHAR(500) DEFAULT NULL 描述
equipment_name VARCHAR(200) DEFAULT NULL 预计使用设备名称
estimated_duration VARCHAR(100) DEFAULT NULL 预估耗时
sop_ids VARCHAR(1000) DEFAULT NULL 关联SOP文档id(逗号分隔)
+ 公共字段

9. biz_process_reagent — 工艺-试剂关联

字段 类型 说明
id VARCHAR(64) PK UUID
process_id VARCHAR(64) NOT NULL 工艺id
reagent_code VARCHAR(64) DEFAULT NULL 试剂编码
reagent_name VARCHAR(100) DEFAULT NULL 试剂名称
spec VARCHAR(200) DEFAULT NULL 规格
standard_usage VARCHAR(100) DEFAULT NULL 标准用量
unit VARCHAR(64) DEFAULT NULL 单位
is_key_material CHAR(1) DEFAULT '0' 是否关键物料(0-否、1-是)
+ 公共字段

10. biz_process_consumable — 工艺-耗材关联

字段 类型 说明
id VARCHAR(64) PK UUID
process_id VARCHAR(64) NOT NULL 工艺id
consumable_code VARCHAR(64) DEFAULT NULL 耗材编码
consumable_name VARCHAR(100) DEFAULT NULL 耗材名称
spec_model VARCHAR(200) DEFAULT NULL 耗材规格型号
standard_usage VARCHAR(100) DEFAULT NULL 标准用量
is_required CHAR(1) DEFAULT '1' 是否必需(1-必须、0-可选)
remark VARCHAR(512) DEFAULT NULL 备注
+ 公共字段

11. biz_process_output — 工艺-产出关联

字段 类型 说明
id VARCHAR(64) PK UUID
process_id VARCHAR(64) NOT NULL 工艺id
output_type_id VARCHAR(64) DEFAULT NULL 产出类型(下拉自工艺产出物类型)
output_name VARCHAR(200) DEFAULT NULL 产出物名称
output_barcode VARCHAR(200) DEFAULT NULL 产出物条码(生产时才有数据)
+ 公共字段

模块设计

模块 1-5: 耗材/试剂/SOP/工序分类/产出物类型(简单 CRUD)

  • 类型: 标准列表模式
  • 后端: Model + CRUD + API 路由(完全参照 item_unit.py 模式)
  • 前端: 参照 system/unit/index.vue 标准列表
  • 特殊: 试剂管理的"单位"字段下拉数据从物品单位管理获取;SOP文档需要附件上传

模块 6: 耗材包管理(主表+明细)

  • 类型: 标准列表 + 弹窗内明细表格
  • 后端: 主表 CRUD + 明细子表 CRUD(级联创建/更新/删除)
  • 前端: 列表参照 unit/index.vue;新增/编辑弹窗中嵌入耗材明细表格,支持:
    • 从耗材库逐条添加(下拉选择耗材后自动带入编码/名称/规格/用量)
    • 行内编辑标准用量
    • 行内删除
  • API: /web/admin/consumable-packs + /web/admin/consumable-packs/{id} (含明细一起提交)

模块 7: 工艺库管理(主表+3个关联子表)

  • 类型: 标准列表 + Tab式编辑弹窗
  • 后端: 主表 CRUD + 3 个子表 CRUD(级联操作)
  • 前端: 列表页标准列表;新增/编辑弹窗分 4 个 Tab:
    • Tab1「基本信息」: 工序代码、工序分类(下拉)、工序名称、描述、设备名称、预估耗时、关联SOP(多选下拉)
    • Tab2「试剂关联」: 表格形式,下拉选试剂后自动带入编码/名称/规格/用量/单位,可改标准用量,标记是否关键物料
    • Tab3「耗材关联」: 表格形式,支持从耗材包批量导入或从耗材库逐条添加;可改标准用量,标记是否必需
    • Tab4「产出物」: 表格形式,下拉选产出类型 + 填产出物名称
  • API: /web/admin/processes + /web/admin/processes/{id} (含所有子表一起提交)

路由与菜单

前端路由

在 sqxp.ts 新增顶级路由组:

/production
  /production/consumable          耗材管理
  /production/reagent             试剂管理
  /production/sop                 SOP文档
  /production/process-category    工艺工序分类
  /production/output-type         工艺产出物类型
  /production/consumable-pack     耗材包管理
  /production/process             工艺库管理

后端 API

统一路由前缀 /web/admin,新增以下端点:

GET/POST       /consumables              耗材列表/创建
GET/PUT/DELETE /consumables/{id}         耗材详情/更新/删除
GET/POST       /reagents                 试剂列表/创建
GET/PUT/DELETE /reagents/{id}            试剂详情/更新/删除
GET/POST       /sop-documents            SOP列表/创建
GET/PUT/DELETE /sop-documents/{id}       SOP详情/更新/删除
GET/POST       /process-categories       工序分类列表/创建
GET/PUT/DELETE /process-categories/{id}  工序分类详情/更新/删除
GET/POST       /output-types             产出物类型列表/创建
GET/PUT/DELETE /output-types/{id}        产出物类型详情/更新/删除
GET/POST       /consumable-packs         耗材包列表/创建
GET/PUT/DELETE /consumable-packs/{id}    耗材包详情/更新/删除
GET/POST       /processes                工艺库列表/创建
GET/PUT/DELETE /processes/{id}           工艺库详情/更新/删除

菜单 SQL

在 sys_menu 中新增生产管理顶级菜单(parent_id 指向 Web 端菜单根节点)及 7 个子菜单项。

技术规范

  • 后端模式:flat 函数式 CRUD(参照 app/crud/item_unit.py),不用 service 层
  • 前端模式:API 函数加入 production.ts,路由加入 sqxp.ts
  • 所有查询带 tenant_no 过滤,删除为软删除
  • Fresh Mint 配色 (--primary #10b981)
  • 附件使用 MinIO,多附件逗号分隔 URL
  • 编码字段需做唯一性校验(同 tenant_no + del_flag=0 下)

实施顺序

  1. 第1批(5 个简单模块,可并行):
    • SQL DDL → Model → CRUD → API → 注册 → 前端 API → 路由 → 页面
  2. 第2批(2 个复杂模块,串行):
    • 耗材包管理 → 工艺库管理
  3. 菜单 SQL:与第1批一起执行