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

251 lines
9.2 KiB
Markdown
Raw Permalink Blame History

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.

## 一、设计说明
本设计依据产品原型(机构认证、企业信息管理、资质申请管理模块)产出,遵循《数据库规范.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 |