safety-eval-service/docs/基于 GBS 底座的安全评价系统开发内容梳理.md

433 lines
16 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.

# 基于 GBS 底座的安全评价系统开发内容梳理
## 1. 建设定位
重庆安全评价在线服务应用基于 GBS 底座和已有基础服务建设采用“GBS 基础能力复用 + 安全评价业务服务扩展”的方式落地。
当前建设主线聚焦评价机构准入和档案形成,优先完成以下闭环:
1. 评价机构账号注册与身份接入。
2. 机构入驻申请。
3. 机构基础信息、资质材料、人员证书、制度文件等资料提交。
4. 监管端资料受理、资料评审、补正、复审和审核确认。
5. 入驻结果通知、公示查询和机构档案形成。
6. 项目管理、现场监管、报告归档、服务评价等扩展能力基于机构档案逐步建设。
## 2. GBS 底座复用范围
| GBS 能力/服务 | 本系统使用方式 | 复用标识 | 落地内容 |
| --- | --- | --- | --- |
| `jjb-saas-gateway` | 统一访问入口、路由、鉴权前置 | 复用 | 机构端、监管端、公示端统一入口 |
| `jjb-saas-auth` / `jjb-saas-login` | 登录、Token、认证 | 复用 | 支撑机构用户和监管用户登录 |
| `jjb-saas-user` | 用户、账号、人员基础信息 | 复用 | 用户账号、联系人、审核人员基础信息 |
| `jjb-saas-system` | 菜单、角色、组织、数据权限 | 复用 | 机构端、监管端菜单和角色配置 |
| `jjb-saas-security` | 安全审计、权限控制 | 复用 | 操作审计、接口访问控制 |
| `jjb-saas-base` | 字典、区域、通用主数据 | 复用 | 行政区划、机构类型、证书类型、材料类型 |
| `jjb-saas-attachment` | 文件上传、预览、下载、存储 | 复用 | 营业执照、资质证书、人员证书、制度文件等材料 |
| `jjb-saas-message` | 通知、待办、催办 | 复用 | 审核待办、补正提醒、审核结果通知 |
| `jjb-saas-bpm` | 流程流转、待办、审批轨迹 | 复用 | 入驻审核、资料补正、资质变更审核 |
| `jjb-saas-process-layout` | 流程页面和流程布局 | 复用 | 入驻评审节点页面布局 |
| `jjb-saas-formily-design` | 动态表单设计 | 复用 | 入驻申请表、资料清单表、审核表单 |
| `jjb-saas-component-design` | 通用组件设计 | 复用 | 查询列表、详情页、附件列表、审核表单组件 |
| `jjb-saas-open-platform` | 外部接口接入 | 复用 | 统一社会信用代码、证书查询等接口接入 |
| `jjb-saas-data-center` | 数据汇总、统计分析 | 复用 | 机构数量、审核效率、入驻态势统计 |
| `jjb-saas-events` / `RocketMQ` | 状态变更事件 | 复用 | 入驻状态、档案变更、通知事件 |
| `Nacos` | 配置中心、服务注册 | 复用 | 安评业务服务注册与配置 |
| `MinIO` | 附件对象存储 | 复用 | 通过附件服务保存材料文件 |
| `MySQL` | 业务数据存储 | 复用基础设施 | 新增安评业务库 |
| `Redis` | 缓存、验证码、临时状态 | 复用 | 登录辅助、验证码、短期缓存 |
## 3. 新增业务服务
### 3.1 服务设置
| 服务 | 建议名称 | 主要职责 |
| --- | --- | --- |
| 安全评价业务服务 | `safety-eval-service` | 承载评价机构入驻、资料评审、机构档案、资质人员维护、项目登记、报告归档、服务评价等安全评价业务 |
### 3.2 服务职责
`safety-eval-service` 负责安全评价行业数据和业务规则的统一承载,重点包含:
1. 机构入驻申请单。
2. 机构业务档案。
3. 机构资质和人员证书。
4. 材料清单、材料附件引用和材料审核结果。
5. 审核意见、补正记录、档案版本。
6. 与 GBS 用户、权限、流程、附件、消息、字典、数据中心等服务的接口适配。
### 3.3 业务校验
业务校验由 `safety-eval-service` 通过固定校验、字典配置和参数配置实现:
| 校验场景 | 实现方式 |
| --- | --- |
| 统一社会信用代码格式校验 | 服务内固定校验 |
| 入驻材料完整性校验 | 材料清单配置 + 必填项校验 |
| 资质证书有效期校验 | 日期字段校验 |
| 人员证书有效期校验 | 日期字段校验 |
| 重复入驻校验 | 机构统一社会信用代码唯一性校验 |
| 节点提交前校验 | 业务服务提供校验接口,流程节点提交时调用 |
| 到期提醒 | 定时任务扫描有效期并调用消息服务 |
### 3.4 流程复用
流程能力复用 GBS 的 `jjb-saas-bpm``jjb-saas-process-layout`
本项目落地内容:
1. 入驻审核流程模板。
2. 资料补正流程节点。
3. 资质和人员变更审核流程模板。
4. 审核意见、审核结论、材料状态与业务状态映射。
5. 业务服务与 BPM 的流程启动、提交、退回、办结接口适配。
## 4. 当前需要开发的内容
### 4.1 P0评价机构注册入驻与资料评审
| 功能 | 主要内容 | 依赖底座 |
| --- | --- | --- |
| 机构账号注册 | 机构管理员注册、账号登录、绑定机构 | login、auth、user |
| 机构基础核验 | 统一社会信用代码、机构名称、法人信息、联系人 | base、open-platform |
| 入驻申请 | 填写机构基本信息、业务范围、办公地址、联系方式 | formily、base |
| 资料清单配置 | 配置营业执照、资质证书、人员证书、制度文件、承诺书等材料项 | base、formily |
| 材料上传 | 多类型附件上传、预览、替换、版本记录 | attachment、MinIO |
| 材料完整性校验 | 提交前校验必填项、格式、有效期、重复机构 | safety-eval-service |
| 入驻审核流程 | 受理、资料审查、补正、复审、通过、驳回 | bpm、message |
| 补正管理 | 审核人员发起补正,机构重新提交,保留历史意见 | bpm、message、attachment |
| 审核意见记录 | 逐项材料审核意见、总体意见、附件留痕 | safety-eval-service |
| 机构档案 | 入驻通过后生成机构档案、资质档案、人员档案 | safety-eval-service |
| 入驻结果通知 | 站内信、短信、待办通知 | message |
| 机构公示 | 已入驻机构列表、详情、资质范围展示 | official 或业务前端 |
### 4.2 P1资质人员维护与变更
| 功能 | 主要内容 | 依赖底座 |
| --- | --- | --- |
| 机构信息维护 | 地址、联系人、法人、简介等信息维护 | user、base、attachment |
| 资质证书维护 | 资质范围、等级、有效期、证书附件 | attachment |
| 人员信息维护 | 专职人员、评价师、技术负责人、过程控制负责人 | user、base |
| 人员证书维护 | 证书类型、专业、有效期、附件 | attachment |
| 变更审核 | 重要信息变更走审核流程 | bpm、message |
| 到期提醒 | 资质和证书到期前提醒 | message、xxl-job |
### 4.3 P2项目与报告基础能力
| 功能 | 建设内容 |
| --- | --- |
| 项目登记 | 项目基本信息、服务企业、评价类型、合同附件 |
| 项目组 | 人员选择、项目角色、项目负责人 |
| 从业告知 | 告知信息提交、附件、状态记录 |
| 项目进度 | 业务状态和流程状态联动 |
| 报告上传 | 报告文件上传、版本记录、审核意见 |
| 报告归档 | 归档材料、归档状态、归档查询 |
### 4.4 P3监管统计与服务评价
| 功能 | 建设内容 |
| --- | --- |
| 现场作业 | 现场任务、签到记录、照片材料、作业记录 |
| 服务评价 | 企业评价、监管评价、评价汇总 |
| 监管统计 | 入驻数量、项目数量、审核效率、机构活跃度 |
| 风险提醒 | 证书到期、资料缺失、项目异常等固定提醒 |
## 5. 系统架构
### 5.1 总体架构
```mermaid
flowchart TB
subgraph U["访问端"]
A1["评价机构端"]
A2["监管审核端"]
A3["公众公示端"]
A4["企业端/移动端扩展"]
end
subgraph GBS["GBS 底座复用层"]
GW["gateway 网关<br/>复用"]
AUTH["auth/login 认证<br/>复用"]
USER["user/system 用户组织权限<br/>复用"]
BASE["base 字典区域<br/>复用"]
BPM["bpm/process-layout 流程<br/>复用"]
FORM["formily/component 表单组件<br/>复用"]
ATT["attachment/MinIO 附件<br/>复用"]
MSG["message 消息待办<br/>复用"]
OPEN["open-platform 外部接口<br/>复用"]
DATA["data-center 数据中心<br/>复用"]
end
subgraph BIZ["新增业务层"]
SE["safety-eval-service<br/>安全评价业务服务"]
DB["safety_eval_db<br/>安评业务库"]
end
A1 --> GW
A2 --> GW
A3 --> GW
A4 --> GW
GW --> AUTH
GW --> SE
SE --> USER
SE --> BASE
SE --> BPM
SE --> FORM
SE --> ATT
SE --> MSG
SE --> OPEN
SE --> DATA
SE --> DB
```
### 5.2 业务分层架构
```mermaid
flowchart LR
UI["前端页面<br/>机构端/监管端/公示端"] --> API["业务接口<br/>safety-eval-service"]
API --> APP["应用层<br/>注册入驻/资料评审/档案维护"]
APP --> DOMAIN["领域层<br/>机构/资质/人员/材料/审核"]
DOMAIN --> INFRA["基础设施适配层<br/>GBS用户/流程/附件/消息/字典"]
DOMAIN --> DB["业务库"]
INFRA --> GBS["GBS基础服务"]
```
## 6. 核心业务流程
### 6.1 评价机构注册入驻主流程
```mermaid
flowchart TD
A["机构管理员注册账号"] --> B["登录机构端"]
B --> C["创建/绑定评价机构"]
C --> D["填写机构基础信息"]
D --> E["上传入驻资料"]
E --> F["提交前完整性校验"]
F -->|校验未通过| E
F -->|校验通过| G["启动入驻审核流程<br/>复用 GBS BPM"]
G --> H["监管端受理"]
H --> I["资料逐项评审"]
I -->|需补正| J["发起补正<br/>复用 BPM/消息"]
J --> K["机构补正材料"]
K --> I
I -->|驳回| L["结束并通知机构"]
I -->|通过| M["生成机构档案"]
M --> N["入驻结果通知"]
N --> O["机构公示/业务准入"]
```
### 6.2 资料评审流程
```mermaid
flowchart TD
A["审核人员打开待办"] --> B["查看机构申请信息"]
B --> C["查看材料清单"]
C --> D["逐项预览附件"]
D --> E{"材料是否符合要求"}
E -->|符合| F["标记材料通过"]
E -->|需补正| G["填写问题和补正要求"]
F --> H{"全部材料是否完成"}
G --> H
H -->|继续评审| C
H -->|提交补正| I["提交补正意见"]
H -->|审核通过| J["提交通过意见"]
I --> K["流程退回机构补正<br/>复用 GBS BPM"]
J --> L["流程办结,生成机构档案"]
```
### 6.3 资质/人员变更流程
```mermaid
flowchart TD
A["机构发起信息变更"] --> B["选择变更类型"]
B --> C["修改信息并上传证明材料"]
C --> D["提交变更申请"]
D --> E["业务服务校验材料完整性"]
E -->|校验未通过| C
E -->|校验通过| F["启动变更审核流程<br/>复用 GBS BPM"]
F --> G["监管审核"]
G -->|补正| H["机构补正"]
H --> G
G -->|驳回| I["保持原档案"]
G -->|通过| J["更新机构档案并记录版本"]
```
## 7. 时序图
### 7.1 机构提交入驻申请
```mermaid
sequenceDiagram
participant O as 机构用户
participant FE as 机构端前端
participant SE as safety-eval-service
participant U as GBS用户/权限
participant A as GBS附件服务
participant B as GBS流程BPM
participant M as GBS消息服务
participant DB as 安评业务库
O->>FE: 填写入驻信息并上传材料
FE->>A: 上传附件
A-->>FE: 返回附件ID
FE->>SE: 提交入驻申请
SE->>U: 校验用户与机构权限
U-->>SE: 返回校验结果
SE->>DB: 保存申请、材料清单、附件引用
SE->>SE: 执行完整性和有效期校验
SE->>B: 启动入驻审核流程(复用)
B-->>SE: 返回流程实例ID
SE->>DB: 更新申请状态为审核中
SE->>M: 发送监管待办和通知(复用)
SE-->>FE: 返回提交成功
```
### 7.2 监管人员资料评审
```mermaid
sequenceDiagram
participant R as 监管审核人员
participant FE as 监管端前端
participant B as GBS流程BPM
participant SE as safety-eval-service
participant A as GBS附件服务
participant M as GBS消息服务
participant DB as 安评业务库
R->>FE: 打开入驻审核待办
FE->>B: 查询流程待办(复用)
B-->>FE: 返回待办信息
FE->>SE: 查询申请详情和材料清单
SE->>DB: 读取机构申请、材料、历史意见
SE-->>FE: 返回详情
FE->>A: 预览材料附件(复用)
R->>FE: 填写逐项审核意见
FE->>SE: 保存审核意见
SE->>DB: 保存材料审核结果
R->>FE: 提交通过/补正/驳回
FE->>SE: 提交流程动作
SE->>B: 提交/退回流程(复用)
B-->>SE: 返回流程状态
SE->>DB: 更新申请状态与机构档案
SE->>M: 通知机构处理结果(复用)
SE-->>FE: 返回处理完成
```
## 8. 数据流
### 8.1 入驻数据流
```mermaid
flowchart LR
A["机构端录入"] --> B["safety-eval-service"]
B --> C["安评业务库<br/>机构/申请/材料/审核意见"]
A --> D["GBS附件服务"]
D --> E["MinIO对象存储"]
D --> B
B --> F["GBS BPM<br/>流程实例/待办/轨迹"]
B --> G["GBS消息服务<br/>通知/催办"]
B --> H["GBS用户权限<br/>账号/角色/组织"]
B --> I["公示端/数据中心<br/>入驻结果与统计数据"]
```
### 8.2 业务数据归属
| 数据 | 保存位置 | 说明 |
| --- | --- | --- |
| 登录账号、基础用户 | GBS user/auth | 底座复用 |
| 角色、菜单、数据权限 | GBS system/security | 底座复用 |
| 字典、行政区划 | GBS base | 底座复用 |
| 附件文件 | GBS attachment + MinIO | 底座复用 |
| 流程实例、待办、流转记录 | GBS bpm | 底座复用 |
| 消息通知 | GBS message | 底座复用 |
| 机构业务档案 | `safety_eval_db` | 新增 |
| 入驻申请 | `safety_eval_db` | 新增 |
| 材料清单和审核结果 | `safety_eval_db` | 新增 |
| 资质、人员、证书扩展信息 | `safety_eval_db` | 新增 |
| 公示信息 | `safety_eval_db` 或数据中心 | 业务查询与统计展示 |
## 9. 建议业务数据模型
一期数据模型围绕机构入驻和资料评审设计。
| 表/对象 | 作用 |
| --- | --- |
| `se_institution_apply` | 入驻/变更申请单 |
| `se_institution_qualification` | 机构资质证书 |
| `se_institution_personnel` | 机构人员 |
| `se_personnel_certificate` | 人员证书 |
| `se_material_item` | 材料清单配置 |
| `se_apply_material` | 申请材料与附件引用 |
| `se_material_review` | 材料逐项评审意见 |
| `se_apply_review_record` | 申请总体审核意见 |
| `se_institution_archive_version` | 机构档案版本 |
| `se_public_disclosure` | 入驻公示信息 |
## 10. 接口边界
### 10.1 `safety-eval-service` 对前端提供
| 接口组 | 示例能力 |
| --- | --- |
| 机构注册入驻 | 创建机构、查询机构、提交入驻申请、撤回申请 |
| 材料管理 | 查询材料清单、上传后绑定材料、替换材料、查看材料状态 |
| 审核管理 | 查询待审核申请、保存材料意见、提交通过/补正/驳回 |
| 档案管理 | 查询机构档案、资质、人员、证书、档案版本 |
| 公示查询 | 查询已入驻机构列表与详情 |
### 10.2 `safety-eval-service` 调用 GBS
| GBS 服务 | 调用目的 |
| --- | --- |
| user/system/auth | 当前用户、角色、机构绑定、数据权限 |
| base | 字典、区域、材料类型 |
| attachment | 附件上传结果、预览、下载、删除权限 |
| bpm | 启动流程、提交节点、退回、查询流程状态 |
| message | 待办提醒、审核结果通知、补正提醒 |
| open-platform | 工商、证书等外部数据核验 |
| data-center | 统计分析 |
## 11. 开发优先级
### 第一阶段:机构入驻闭环
目标:让评价机构能够进入平台,监管人员能够完成资料评审。
1. GBS 账号、角色、菜单、机构端/监管端权限配置。
2. `safety-eval-service` 工程、数据库、基础字典。
3. 机构注册、机构绑定、入驻申请。
4. 材料清单配置、附件绑定、提交校验。
5. 入驻审核 BPM 流程模板复用与适配。
6. 监管端资料评审、补正、通过、驳回。
7. 入驻通过后生成机构档案。
8. 入驻结果通知与公示查询。
### 第二阶段:资质人员维护
目标:保证机构档案持续有效。
1. 资质证书维护。
2. 人员及证书维护。
3. 重要信息变更审核。
4. 到期提醒。
5. 档案版本记录。
### 第三阶段:项目与报告基础
目标:在机构档案基础上扩展业务办理。
1. 项目登记。
2. 项目组维护。
3. 从业告知。
4. 报告上传与归档基础。
### 第四阶段:监管增强
目标:补充监管效率和服务质量能力。
1. 现场作业证据。
2. 服务评价。
3. 风险提醒。
4. 统计分析。