safety-eval-service/docs/数据库设计文档-v2.md

251 lines
9.2 KiB
Markdown
Raw Permalink Normal View History

2026-06-18 17:09:48 +08:00
## 一、设计说明
本设计依据产品原型(机构认证、企业信息管理、资质申请管理模块)产出,遵循《数据库规范.md》与 GBS 后端表结构约定:
- 字符集 `utf8mb4`,排序规则 `utf8mb4_0900_ai_ci`
- 库表字段小写 + 下划线命名,禁止外键,中文注释
- 字典类字段存编码 + 翻译字段
- 标识类字段使用 `xxx_flag`,类型 `tinyint`1=是2=否)
- 业务主表含 GBS 默认字段:`delete_enum`、`remarks`、`create_name`、`update_name`、`tenant_id`、`org_id`、`version`、`create_time`、`update_time`、`create_id`、`update_id`、`env`
- 纯关联表不含上述默认字段
---
## 二、表清单
| 序号 | 表名 | 作用 |
|------|------|------|
| 1 | org_info | 机构基本信息及认证状态 |
| 2 | org_qualification | 机构资质证书 |
| 3 | org_department | 部门(树形) |
| 4 | org_position | 岗位 |
| 5 | org_personnel | 人员信息 |
| 6 | org_personnel_cert | 人员证书 |
| 7 | org_personnel_change | 人员信息变更记录 |
| 8 | org_resign_apply | 人员离职申请 |
| 9 | org_equipment | 装备信息 |
| 10 | qual_filing | 资质备案申请主表 |
| 11 | qual_filing_material | 备案申请材料 |
| 12 | qual_filing_commitment | 法定代表人承诺书 |
| 13 | qual_filing_personnel | 备案申请关联人员 |
| 14 | qual_filing_personnel_cert | 备案申请关联人员证书 |
| 15 | qual_filing_equipment | 备案申请关联装备快照 |
| 16 | qual_filing_change | 备案变更申请 |
| 17 | qual_filing_change_detail | 备案变更明细 |
---
## 三、表关系ER 概览)
```
org_info (1) ──┬── (N) org_qualification
├── (N) org_department ── (N) org_position
├── (N) org_personnel ──┬── (N) org_personnel_cert
│ ├── (N) org_personnel_change
│ └── (N) org_resign_apply
├── (N) org_equipment
└── (N) qual_filing ──┬── (N) qual_filing_material
├── (1) qual_filing_commitment
├── (N) qual_filing_personnel ── (N) qual_filing_personnel_cert
└── (N) qual_filing_equipment
qual_filing (1) ── (N) qual_filing_change ── (N) qual_filing_change_detail
```
**关系说明:**
| 主表 | 从表 | 关系 | 说明 |
|------|------|------|------|
| org_info | org_qualification | 1:N | 一个机构拥有多张资质证书 |
| org_info | org_department | 1:N | 一个机构多个部门,部门通过 parent_id 自关联形成树 |
| org_department | org_position | 1:N | 一个部门多个岗位 |
| org_department | org_personnel | 1:N | 人员归属部门 |
| org_position | org_personnel | 1:N | 人员归属岗位 |
| org_personnel | org_personnel_cert | 1:N | 一个人员多张证书 |
| org_personnel | org_personnel_change | 1:N | 人员变更产生多条变更记录 |
| org_personnel | org_resign_apply | 1:N | 人员可有多条离职申请 |
| org_info | org_equipment | 1:N | 机构装备清单 |
| org_info | qual_filing | 1:N | 机构可多次发起备案申请 |
| qual_filing | qual_filing_material | 1:N | 备案申请材料清单 |
| qual_filing | qual_filing_commitment | 1:1 | 每条备案一条承诺书 |
| qual_filing | qual_filing_personnel | 1:N | 备案关联人员(可引用 org_personnel |
| qual_filing_personnel | qual_filing_personnel_cert | 1:N | 备案人员证书 |
| qual_filing | qual_filing_equipment | 1:N | 备案装备快照(引用 org_equipment |
| qual_filing | qual_filing_change | 1:N | 已备案记录发生变更时产生变更单 |
| qual_filing_change | qual_filing_change_detail | 1:N | 变更单字段级明细 |
---
## 四、各表详细说明
### 4.1 org_info — 机构信息表
**作用:** 存储安全评价机构基本信息,支撑「机构信息管理」「机构认证」模块;含认证流程状态(填写信息 → 审核中 → 通过)。
**主要字段:**
| 字段 | 说明 |
|------|------|
| unit_name | 生产经营单位名称 |
| credit_code | 统一社会信用代码 |
| auth_status / auth_status_name | 认证状态(字典) |
| longitude / latitude | 所在地坐标 |
| legal_representative | 法定代表人 |
| fulltime_evaluator_count | 专职安全评价师数量 |
| registered_engineer_count | 注册安全工程师数量 |
---
### 4.2 org_qualification — 机构资质证书表
**作用:** 机构资质信息管理,记录证照类型、证书名称、编号、有效期、发证机关、证书图片等;支持启用/禁用。
**关联:** `org_id` → org_info.id
---
### 4.3 org_department — 部门表
**作用:** 部门岗位管理之部门维护支持树形层级parent_id
**主要字段:** dept_name、manager_name、dept_level_code/dept_level_name
**关联:** `org_id` → org_info.id`parent_id` 自关联
---
### 4.4 org_position — 岗位表
**作用:** 部门下岗位维护,含岗位名称、职责、备注。
**关联:** `org_id` → org_info.id`dept_id` → org_department.id
---
### 4.5 org_personnel — 人员信息表
**作用:** 机构人员录入与维护,含账号、姓名、部门、岗位、性别、身份证、学历等;就职状态供人员变更管理使用。
**关联:** `org_id`、`dept_id`、`post_id`
---
### 4.6 org_personnel_cert — 人员证书表
**作用:** 人员持有的各类证书(证照名称、类别、作业类别、编号、有效期、复核日期、附件)。
**关联:** `personnel_id` → org_personnel.id
---
### 4.7 org_personnel_change — 人员变更记录表
**作用:** 记录人员在信息管理页面的修改历史(变更事项、变更时间、操作人),供人员变更管理查看变更次数与明细。
**关联:** `personnel_id` → org_personnel.id
---
### 4.8 org_resign_apply — 人员离职申请表
**作用:** 离职申请的新增、查看、审核(通过/退回);含离职原因、预计离职日期、离职通知报告附件。
**关联:** `personnel_id` → org_personnel.id
---
### 4.9 org_equipment — 装备信息表
**作用:** 评价机构装备维护(仪器分类、设备类型、型号、流量、校准信息、是否双路等),支持启用/停用。
**关联:** `org_id` → org_info.id
---
### 4.10 qual_filing — 资质备案申请表
**作用:** 资质备案申请与已备案资质管理的主表;含备案属地、备案单位、备案编号、业务范围、单位基本情况及备案状态(未备案/已备案/驳回)。
**关联:** `org_id` → org_info.id
---
### 4.11 qual_filing_material — 备案申请材料表
**作用:** 备案流程「申请材料清单」步骤,记录材料内容、格式、扫描件附件、注释。
**关联:** `filing_id` → qual_filing.id
---
### 4.12 qual_filing_commitment — 法定代表人承诺书表
**作用:** 备案流程承诺书步骤,存储承诺内容、法人签名图片地址、签署日期。
**关联:** `filing_id` → qual_filing.id1:1
---
### 4.13 qual_filing_personnel — 备案申请人员表
**作用:** 备案流程中的人员信息快照,字段较 org_personnel 扩展(人员类型、职称、资质范围、注册安全工程师资格、专业能力申报等);`source_personnel_id` 可关联原人员表。
**关联:** `filing_id` → qual_filing.id
---
### 4.14 qual_filing_personnel_cert — 备案申请人员证书表
**作用:** 备案流程中人员证书快照。
**关联:** `filing_personnel_id` → qual_filing_personnel.id
---
### 4.15 qual_filing_equipment — 备案申请装备表
**作用:** 备案流程中装备信息快照;`source_equipment_id` 可关联 org_equipment。
**关联:** `filing_id` → qual_filing.id
---
### 4.16 qual_filing_change — 备案变更表
**作用:** 已备案信息发生变更时的变更申请,结构与 qual_filing 类似,通过 `origin_filing_id` 关联原备案,`change_count` 记录变更次数。
**关联:** `origin_filing_id` → qual_filing.id
---
### 4.17 qual_filing_change_detail — 备案变更明细表
**作用:** 记录字段级变更内容(如「法人由张三变更为李四」),供历史变更记录查看。
**关联:** `change_id` → qual_filing_change.id
---
## 五、索引设计要点
- 各表主键 `id` 自增
- 业务查询字段:`org_id`、`personnel_id`、`filing_id`、`dept_id` 等建普通索引
- 唯一约束:`org_info.credit_code`(同租户下)、`org_personnel.account`(同机构下)等按业务需要建唯一索引
---
## 六、模块与表映射
| 产品模块 | 对应表 |
|----------|--------|
| 机构认证 / 机构信息管理 | org_info |
| 资质信息管理 | org_qualification |
| 部门岗位管理 | org_department、org_position |
| 人员信息管理 | org_personnel、org_personnel_cert |
| 人员变更管理 | org_personnel、org_personnel_change |
| 人员离职申请 | org_resign_apply |
| 装备信息管理 | org_equipment |
| 资质备案申请 | qual_filing 及子表 |
| 已备案资质管理 | qual_filingfiling_status=已备案) |
| 备案变更管理 | qual_filing_change、qual_filing_change_detail |