2期设计

v0.0.1-final^2
huwei 2026-07-20 11:02:57 +08:00
parent 6f7b84f414
commit e2b9214fe5
2 changed files with 805 additions and 963 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2,10 +2,9 @@
| 日期 | 版本 | 说明 | | 日期 | 版本 | 说明 |
|------|------|------| |------|------|------|
| 2026.07.17 | v1.0.0 | 二期建表设计 | | 2026.07.20 | v1.0.0 | 二期建表(八节点专表,无流程引擎) |
脚本:`docs/db/phase2/init-phase2.sql` 脚本:`docs/db/phase2/init-phase2.sql`
节点引擎专项:`docs/db/phase2/节点引擎设计与使用说明.md`
--- ---
@ -14,148 +13,234 @@
| 项 | 约定 | | 项 | 约定 |
|----|------| |----|------|
| 字符集 | utf8mb4 / utf8mb4_0900_ai_ci | | 字符集 | utf8mb4 / utf8mb4_0900_ai_ci |
| 命名 | 库表字段小写 + 下划线,表名 ≤32 字符 | | 命名 | 小写 + 下划线,表名 ≤32 字符 |
| 外键 | 禁止物理外键;逻辑关联由业务层维护 | | 外键 | 禁止物理外键;逻辑关联由业务层维护 |
| 标识字段 | `xxx_flag`tinyint1=是2=否) | | 标识 | `xxx_flag`1是 / 2否 |
| 字典字段 | `xxx_code` + `xxx_name` | | 金额 | 单位bigint |
| 金额 | 单位:分,类型 bigint | | 文件 | 仅存 URL |
| 文件 | 仅存 URL / 文件服务地址 | | 逻辑删除 | `delete_enum`true / false |
| 逻辑删除 | `delete_enum``true` / `false` | | 公共字段 | delete_enum、remarks、create_name、update_name、tenant_id、org_id视表、version、create_time、update_time、create_id、update_id、env |
| 业务主表公共字段 | delete_enum、remarks、create_name、update_name、tenant_id、org_id、version、create_time、update_time、create_id、update_id、env | | 消息 | 复用 GBS本库不建消息表 |
| 站内消息 | 复用 GBS `jjb-saas-message`(站内信 / 待办 / 催办 / 短信),本库不建消息表 | | 项目节点 | 按原型 8 个法定节点各建专表;**无**节点定义/实例/通用表单引擎表 |
本脚本仅新增二期表,不改建一期已有表与业务代码。
--- ---
## 二、一期复用表 ## 二、一期复用表
| 表 | 用途 | | 表名 | 作用 | 原型端 | 一级菜单 | 二级菜单 |
|----|------| |------|------|--------|----------|----------|
| org_info | 机构主数据 | | org_* / account | 机构主数据与账号 | 监管 / 机构 | 基础信息管理 / 企业信息管理 | 机构账号、已备案机构、评价师、机构/资质/人员/装备等 |
| org_qualification | 资质证照 | | qual_filing* / qual_filing_expert | 资质申请备案变更专家 | 监管 / 机构 | 资质审核 / 资质申请和备案告知 | 资质备案审核、确认、专家核验、公示、变更;资质申请、已有资质备案、现场审查通知 |
| org_department / org_position | 部门岗位 |
| org_personnel / org_personnel_cert | 人员与证书 |
| org_equipment | 装备 |
| org_personnel_change / org_resign_apply | 人员变更、离职 |
| qual_filing 及材料/承诺/人员/装备/变更子表 | 资质申请、备案、变更 |
| qual_filing_expert | 专家库 |
| account | 账号 |
--- ---
## 三、二期新建表30 ## 三、二期新建表23— 表名、作用与原型菜单
| 序号 | 表名 | 域 | 作用 | ### 1. 监管支撑5
|------|------|----|------|
| 1 | qual_review_task | 资质审核 | 多阶段审核任务 | | 表名 | 作用 | 原型端 | 一级菜单 | 二级菜单 |
| 2 | qual_review_action | 资质审核 | 审核/确认/反馈动作流水 | |------|------|--------|----------|----------|
| 3 | qual_review_expert_assign | 资质审核 | 专家指派与核验 | | eval_report | 报告库主表 | 监管 / 机构 | 安评机构监督管理 / 安评报告库管理 | 安评报告数据库;报告库 |
| 4 | qual_site_review_notice | 资质审核 | 现场审查通知(含机构确认与反馈) | | eval_report_spotcheck | 报告抽查整改 | 监管 | 安评机构监督管理 | 安评报告数据库 |
| 5 | qual_publicity | 资质审核 | 备案公示 | | org_profile_score | 安全评价画像得分 | 监管 | 安评机构监督管理 | 安全评价画像 |
| 6 | biz_rule | 规则 | 资质保持 / 风险预警规则domain_code 区分) | | insp_notice | 监督检查告知 | 监管 / 机构 | — / 监督检查通知管理 | 监督检查告知;监督检查通知 |
| 7 | qual_keep_check | 资质保持 | 机构维度校验结果头 | | insp_notice_material | 检查材料反馈 | 监管 / 机构 | — / 监督检查通知管理 | 监督检查告知;监督检查通知 |
| 8 | qual_keep_check_item | 资质保持 | 分项结论与来源快照 |
| 9 | risk_warning | 风险预警 | 预警主单 | ### 2. 安评项目与八节点18
| 10 | risk_warning_action | 风险预警 | 处置流水 |
| 11 | eval_customer | 安评业务 | 安评客户 | | 表名 | 作用 | 原型端 | 一级菜单 | 二级菜单 / 页面 |
| 12 | eval_project | 安评业务 | 安评项目主表 | |------|------|--------|----------|-----------------|
| 13 | eval_project_member | 安评业务 | 项目成员 | | eval_customer | 安评客户 | 机构 | 安评业务管理 | 安评客户管理 |
| 14 | eval_project_doc | 安评业务 | 项目资料协同 | | eval_project | 项目主表 | 机构 / 监管 | 安评业务管理 / 安评项目管理 | 安评项目管理、我的项目、项目进度管理;安评项目实时监控 |
| 15 | eval_project_doc_ver | 安评业务 | 资料版本 | | eval_project_member | 项目成员 | 机构 | 安评业务管理 | 安评项目管理、我的项目03 项目组成立) |
| 16 | eval_node_def | 节点引擎 | 节点定义(可配置增删) | | eval_project_doc | 项目资料协同 | 机构 | 安评业务管理 | 项目资料协同库 |
| 17 | eval_node_inst | 节点引擎 | 项目节点实例 | | eval_risk_analysis | 01 风险分析 | 机构 / 监管 | 安评业务管理 / 安评项目管理 | 我的项目 → 01 风险分析;项目实时监控(查看) |
| 18 | eval_node_form | 节点引擎 | 通用节点表单 | | eval_risk_participant | 01 参与人签字 | 机构 | 安评业务管理 | 我的项目 → 01 风险分析 |
| 19 | eval_node_form_item | 节点引擎 | 表单分项 / 参与人 | | eval_contract | 02 业务合同 | 机构 / 监管 | 安评业务管理 / 安评项目管理 | 我的项目 → 02 业务合同;项目实时监控 |
| 20 | eval_node_file | 节点引擎 | 节点附件 | | eval_team | 03 项目组成立 | 机构 / 监管 | 安评业务管理 / 安评项目管理 | 我的项目 → 03 项目组成立;项目实时监控 |
| 21 | eval_survey | 踏勘专表 | 现场踏勘主单 | | eval_survey | 04 现场踏勘主表 | 机构 / 监管 / APP | 安评业务管理 / 安评项目管理 | 我的项目 → 04 现场踏勘项目踏勘监管APP 现场踏勘 |
| 22 | eval_survey_checkin | 踏勘专表 | 现场打卡(含 APP 任务状态) | | eval_survey_notice | 04 从业告知 | 机构 / 监管 | 安评业务管理 / 安评项目管理 | 我的项目 → 04项目踏勘监管 |
| 23 | eval_report_draft | 报告专表 | 报告编制稿 | | eval_survey_checkin | 04 现场打卡 | 机构 / 监管 / APP | 安评业务管理 / 安评项目管理 | 我的项目 → 04项目踏勘监管APP 现场踏勘 |
| 24 | eval_sign_task | 签字 | 签字任务 | | eval_survey_attach | 04 踏勘附件 | 机构 / 监管 | 安评业务管理 / 安评项目管理 | 我的项目 → 04检查表/整改/复查等) |
| 25 | eval_sign_record | 签字 | 签字记录 | | eval_report_draft | 05 报告编制稿 | 机构 / 监管 | 安评业务管理 / 安评项目管理 | 我的项目 → 05 报告编制;项目实时监控 |
| 26 | eval_report | 报告库 | 报告主表 | | eval_internal_review | 06 内部审核 | 机构 / 监管 | 安评业务管理 / 安评项目管理 | 我的项目 → 06 内部审核 |
| 27 | eval_report_spotcheck | 报告库 | 抽查与整改复核 | | eval_tech_review | 07 技术审核 | 机构 / 监管 | 安评业务管理 / 安评项目管理 | 我的项目 → 07 技术审核 |
| 28 | org_profile_score | 画像 | 机构画像得分(含 metric_json | | eval_process_control | 08 过程控制 | 机构 / 监管 | 安评业务管理 / 安评项目管理 | 我的项目 → 08 过程控制 |
| 29 | insp_notice | 监督检查 | 告知主单(含检查结果) | | eval_sign_task | 签字任务 | 机构 / APP | 安评业务管理 | 我的项目(报告/审核签字APP 签字管理 |
| 30 | insp_notice_material | 监督检查 | 材料清单与反馈 | | eval_sign_record | 签字记录 | 机构 / APP | 安评业务管理 | 同上 |
培训、风险预警中心、资质保持监控、机构端风险预警管理不在二期库表范围。
--- ---
## 四、逻辑关联 ## 四、ER 图一:监管支撑(第 1 组)
``` ```mermaid
org_info erDiagram
├── qual_filing ── qual_review_task ──┬── qual_review_action insp_notice ||--o{ insp_notice_material : "notice_id"
│ ├── qual_review_expert_assign eval_report ||--o{ eval_report_spotcheck : "report_id"
│ ├── qual_site_review_notice org_info ||--o{ org_profile_score : "org_id"
│ └── qual_publicity org_info ||--o{ insp_notice : "org_id"
├── biz_rule(KEEP) ── qual_keep_check ── qual_keep_check_item org_info ||--o{ eval_report : "org_id"
├── biz_rule(WARNING) ── risk_warning ── risk_warning_action
├── eval_customer ── eval_project ──┬── eval_project_member eval_report {
│ ├── eval_project_doc ── eval_project_doc_ver bigint id PK
│ ├── eval_node_inst ← eval_node_def bigint org_id
│ │ ├── eval_node_form ── item / file bigint project_id
│ │ ├── eval_survey ── eval_survey_checkin }
│ │ ├── eval_report_draft eval_report_spotcheck {
│ │ └── eval_sign_task ── eval_sign_record bigint id PK
│ └── eval_report ── eval_report_spotcheck bigint report_id
├── org_profile_score }
└── insp_notice ── insp_notice_material org_profile_score {
bigint id PK
bigint org_id
string score_period
}
insp_notice {
bigint id PK
bigint org_id
bigint source_ref_id
}
insp_notice_material {
bigint id PK
bigint notice_id
}
``` ```
| 逻辑字段 | 指向 | ---
|----------|------|
| org_id | org_info.id | ## 五、ER 图二:安评项目与八节点(第 2 组)
| filing_id | qual_filing.id |
| expert_id | qual_filing_expert.id | ```mermaid
| customer_id | eval_customer.id | erDiagram
| project_id | eval_project.id | eval_customer ||--o{ eval_project : "customer_id"
| node_def_id / node_code | eval_node_def | eval_project ||--o{ eval_project_member : "project_id"
| node_inst_id | eval_node_inst.id | eval_project ||--o{ eval_project_doc : "project_id"
| form_id | eval_node_form.id | eval_project ||--o| eval_risk_analysis : "project_id"
| survey_id | eval_survey.id | eval_risk_analysis ||--o{ eval_risk_participant : "risk_id"
| warning_id / source_warning_id | risk_warning.id | eval_project ||--o| eval_contract : "project_id"
| sign_task_id | eval_sign_task.id | eval_project ||--o| eval_team : "project_id"
| report_id | eval_report.id | eval_project ||--o| eval_survey : "project_id"
| rule_id | biz_rule.id | eval_survey ||--o| eval_survey_notice : "survey_id"
| personnel_id | org_personnel.id | eval_survey ||--o{ eval_survey_checkin : "survey_id"
| account_id | account.id | eval_survey ||--o{ eval_survey_attach : "survey_id"
eval_project ||--o{ eval_report_draft : "project_id"
eval_project ||--o| eval_internal_review : "project_id"
eval_project ||--o| eval_tech_review : "project_id"
eval_project ||--o| eval_process_control : "project_id"
eval_report_draft ||--o| eval_internal_review : "draft_id"
eval_report_draft ||--o| eval_tech_review : "draft_id"
eval_project ||--o{ eval_sign_task : "project_id"
eval_sign_task ||--o{ eval_sign_record : "sign_task_id"
eval_project ||--o{ eval_report : "project_id"
eval_customer {
bigint id PK
string customer_name
}
eval_project {
bigint id PK
bigint customer_id
string project_no
int status_code
}
eval_project_member {
bigint id PK
bigint project_id
bigint personnel_id
string role_code
}
eval_project_doc {
bigint id PK
bigint project_id
string latest_file_url
}
eval_risk_analysis {
bigint id PK
bigint project_id
int risk_level_code
int status_code
}
eval_risk_participant {
bigint id PK
bigint risk_id
bigint personnel_id
}
eval_contract {
bigint id PK
bigint project_id
string contract_no
bigint amount_fen
}
eval_team {
bigint id PK
bigint project_id
bigint leader_personnel_id
}
eval_survey {
bigint id PK
bigint project_id
int status_code
}
eval_survey_notice {
bigint id PK
bigint survey_id
}
eval_survey_checkin {
bigint id PK
bigint survey_id
}
eval_survey_attach {
bigint id PK
bigint survey_id
string attach_type_code
}
eval_report_draft {
bigint id PK
bigint project_id
int draft_version_no
}
eval_internal_review {
bigint id PK
bigint project_id
}
eval_tech_review {
bigint id PK
bigint project_id
}
eval_process_control {
bigint id PK
bigint project_id
tinyint precheck_pass_flag
}
eval_sign_task {
bigint id PK
bigint project_id
string biz_node_code
}
eval_sign_record {
bigint id PK
bigint sign_task_id
}
```
--- ---
## 五、业务数据流 ## 六、我的项目八节点 ↔ 表
### 5.1 资质审核与保持预警 入口:机构端 · 安评业务管理 · **我的项目**(监管端 · 安评项目管理 · **安评项目实时监控 / 项目踏勘监管** 只读查看)。
机构填报 `qual_filing` → 生成 `qual_review_task` → 审核动作 / 专家核验 / 现场审查通知 → 公示 `qual_publicity` → 按 `biz_rule(KEEP)` 校验写入 `qual_keep_check*` → 异常生成 `risk_warning``risk_warning_action` 闭环。 | 节点 | 原型页面要点 | 表 |
|------|--------------|-----|
### 5.2 安评项目 | 01 风险分析 | 风险分析记录表、符合性、结论、参与人签字、批准 | eval_risk_analysis、eval_risk_participant |
| 02 业务合同 | 合同与企业信息、金额、扫描件 PDF | eval_contract |
维护 `eval_customer` → 创建 `eval_project` 及成员、资料 → 按 `eval_node_def` 生成 `eval_node_inst` → 通用节点办理表单;踏勘 / 报告编辑 / 签字走专表 → 归档生成 `eval_report` → 抽查与画像计分。 | 03 项目组成立 | 多角色选人;负责人/过程控制负责人各 1 人 | eval_team、eval_project_member |
| 04 现场踏勘 | 从业告知→勘查打卡→整改→企业报告→复查 | eval_survey、eval_survey_notice、eval_survey_checkin、eval_survey_attach |
### 5.3 监督检查 | 05 报告编制 | 编辑器、模板、版本、责任页签字 | eval_report_draft、eval_sign_task、eval_sign_record |
| 06 内部审核 | 审核意见与结论 | eval_internal_review |
创建 `insp_notice`(可关联预警或项目)→ 机构确认与材料反馈 → 结果回写告知主表。 | 07 技术审核 | 审核意见与结论 | eval_tech_review |
| 08 过程控制 | 前 7 节点完成后办理、归档 | eval_process_control → eval_report |
### 5.4 消息通知
业务状态变更后调用 GBS `MessageFacade` 发送站内信 / 待办 / 短信;本库不落消息实体。
---
## 六、状态字典
| 对象 | 字段 | 取值 |
|------|------|------|
| 审核任务 | stage_code | 1初审 2专家核验 3现场审查 4会审 5许可审批 6已办结 |
| 审核任务 | result_code | 1通过 2打回 3进行中 |
| 预警 | category_code | 1人员 2机构资质 3项目风险 4资质临期 |
| 预警 | handle_stage_code | 1未处理 2已发机构 3待复核 4已闭环 |
| 项目 | status_code | 1草稿 2进行中 3已归档 4已作废 |
| 节点实例 | node_status_code | 1未开始 2进行中 3已完成 4退回 |
| 监督检查 | status_code | 1已下发 2已确认 3已反馈 4已办结 |
默认项目节点编码见《节点引擎设计与使用说明》。
--- ---
@ -165,4 +250,4 @@ org_info
mysql -u<user> -p <database> < docs/db/phase2/init-phase2.sql mysql -u<user> -p <database> < docs/db/phase2/init-phase2.sql
``` ```
测试库验证后再用于正式环境;勿对一期生产表做破坏性变更 测试库验证后再用于正式环境。