# 基于 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. 统计分析。

