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.

113 lines
5.9 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

质检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` | 检验结果关联检测项定义 |
**关键设计特点**:
1. **模板驱动**: 检验单关联模板,模板包含多个检测项定义
2. **级联继承**: 检验结果从检测项定义继承标准值、上下限等规格参数
3. **主子分离**: 主表记录总体信息(单号、物料、数量),子表记录明细(每个检测项的检测结果)
4. **不合格评审**: 当检验结果不合格时,触发评审流程,生成评审主表及记录子表
---
## 质检模板匹配策略(核心业务规则)
**生成质检任务时按以下4级降级优先级自动匹配模板**
```
┌─────────────────────────────────────────────────────────────┐
│ 质检模板匹配策略 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 第1级物料 + 工位 + 工序 + 检测类型(精确匹配) │
│ ↓ 未找到 │
│ 第2级物料 + 工位 + 检测类型 │
│ ↓ 未找到 │
│ 第3级物料 + 检测类型 │
│ ↓ 未找到 │
│ 第4级通用模板仅检测类型 + isDefault=1
│ ↓ 未找到 → 抛出异常:"无可用检测模板" │
│ │
└─────────────────────────────────────────────────────────────┘
```
### 匹配条件说明
| 优先级 | 匹配条件 | 说明 | 业务场景 |
|-------|---------|------|---------|
| 1 | 物料 + 工位 + 工序 + 检测类型 | 最精确匹配 | 某物料在特定工位/工序有特殊质检要求 |
| 2 | 物料 + 工位 + 检测类型 | 特定工位(不限工序) | 某物料在特定工位的质检要求统一 |
| 3 | 物料 + 检测类型 | 特定物料(不限工位/工序) | 某物料的质检要求在任何工位/工序都一致 |
| 4 | 通用模板(仅检测类型) | 兜底方案 | 该检测类型的默认质检方案 |
### 检测类型字典
| 代码 | 检测类型 | 说明 |
|------|---------|------|
| 0 | 首检 | 生产开始前首批产品的检验 |
| 1 | 专检 | 专职检验员的检验 |
| 2 | 自检 | 操作工自己检验 |
| 3 | 互检 | 相互检验(上下工序互检) |
| 4 | 原材料检 | 原材料入库检验 |
| 5 | 抽检 | 抽样检验 |
| 6 | 成品检 | 成品检验 |
| 7 | 入库检 | 产品入库前的检验 |
### 通用模板规则
**定义**
- **通用模板**:不绑定具体物料、工序或工位,仅按检测类型适用的默认质检方案
- **标识字段**`is_default`0否/1是
**约束规则**
1. **唯一性**:每种检测类型只能有一个通用模板
2. **互斥性**:通用模板不能同时绑定物料、工序或工位
3. **校验方式**应用层校验Service层代码校验非数据库约束