You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.9 KiB
5.9 KiB
质检qms模块通用模块版本只关注qc_inspection_item、qc_inspection_item_category、qc_inspection_main、qc_inspection_main_file_relation、qc_inspection_result、qc_inspection_template、qc_template_item、qc_unqualified_record、qc_unqualified_review!
QMS质检模块 - 仅关注以下核心数据表:
qc_inspection_item- 检验项目qc_inspection_item_category- 检验项目分类qc_inspection_main- 检验单主表qc_inspection_main_file_relation- 检验单附件关联qc_inspection_result- 检验结果qc_inspection_template- 检验模板qc_template_item- 模板检验项qc_unqualified_record- 不合格品记录qc_unqualified_review- 不合格品评审
QMS模块主子表关系详解
qc_inspection_type (检测类型)
↓
│
qc_inspection_item_category (检测项目分类) ←→ qc_inspection_item (检测项定义)
↓ ↓
│ │
qc_inspection_template (检验模板) ←→ qc_template_item (模板检验项)
↓ │
│ │
qc_inspection_main (检验单主表) ←───────────────────┘
↓
qc_inspection_result (检验结果)
qc_inspection_main (检验单主表) → [产生不合格] → qc_unqualified_review (不合格评审)
↓
qc_unqualified_record (不合格记录)
主子表对:
| 主表 | 子表 | 关联字段 | 说明 |
|---|---|---|---|
qc_inspection_template |
qc_template_item |
templateId |
检验模板包含多个检测项 |
qc_inspection_main |
qc_inspection_result |
inspectionId |
检验单包含多个检验结果 |
qc_unqualified_review |
qc_unqualified_record |
reviewId |
不合格评审包含多个评审记录 |
基础数据关联:
| 表 | 关联表 | 关联字段 | 说明 |
|---|---|---|---|
qc_inspection_item |
qc_inspection_item_category |
categoryId |
检验项目归属分类 |
qc_inspection_item |
qc_inspection_type |
inspectionType |
检验项目归属类型 |
qc_inspection_main |
qc_inspection_template |
templateId |
检验单引用模板 |
qc_inspection_result |
qc_inspection_item |
itemId |
检验结果关联检测项定义 |
关键设计特点:
- 模板驱动: 检验单关联模板,模板包含多个检测项定义
- 级联继承: 检验结果从检测项定义继承标准值、上下限等规格参数
- 主子分离: 主表记录总体信息(单号、物料、数量),子表记录明细(每个检测项的检测结果)
- 不合格评审: 当检验结果不合格时,触发评审流程,生成评审主表及记录子表
质检模板匹配策略(核心业务规则)
生成质检任务时,按以下4级降级优先级自动匹配模板:
┌─────────────────────────────────────────────────────────────┐
│ 质检模板匹配策略 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 第1级:物料 + 工位 + 工序 + 检测类型(精确匹配) │
│ ↓ 未找到 │
│ 第2级:物料 + 工位 + 检测类型 │
│ ↓ 未找到 │
│ 第3级:物料 + 检测类型 │
│ ↓ 未找到 │
│ 第4级:通用模板(仅检测类型 + isDefault=1) │
│ ↓ 未找到 → 抛出异常:"无可用检测模板" │
│ │
└─────────────────────────────────────────────────────────────┘
匹配条件说明
| 优先级 | 匹配条件 | 说明 | 业务场景 |
|---|---|---|---|
| 1 | 物料 + 工位 + 工序 + 检测类型 | 最精确匹配 | 某物料在特定工位/工序有特殊质检要求 |
| 2 | 物料 + 工位 + 检测类型 | 特定工位(不限工序) | 某物料在特定工位的质检要求统一 |
| 3 | 物料 + 检测类型 | 特定物料(不限工位/工序) | 某物料的质检要求在任何工位/工序都一致 |
| 4 | 通用模板(仅检测类型) | 兜底方案 | 该检测类型的默认质检方案 |
检测类型字典
| 代码 | 检测类型 | 说明 |
|---|---|---|
| 0 | 首检 | 生产开始前首批产品的检验 |
| 1 | 专检 | 专职检验员的检验 |
| 2 | 自检 | 操作工自己检验 |
| 3 | 互检 | 相互检验(上下工序互检) |
| 4 | 原材料检 | 原材料入库检验 |
| 5 | 抽检 | 抽样检验 |
| 6 | 成品检 | 成品检验 |
| 7 | 入库检 | 产品入库前的检验 |
通用模板规则
定义:
- 通用模板:不绑定具体物料、工序或工位,仅按检测类型适用的默认质检方案
- 标识字段:
is_default(0否/1是)
约束规则:
- 唯一性:每种检测类型只能有一个通用模板
- 互斥性:通用模板不能同时绑定物料、工序或工位
- 校验方式:应用层校验(Service层代码校验,非数据库约束)