# 规则绑定制度废止更新方案 - PRD

## 1. 文档信息

- 文档名称：规则绑定制度废止更新方案 PRD
- 所属模块：全知平台 / 风控模块 / 风险规则库 / 制度分析
- 文档类型：功能方案 PRD
- 编写目的：明确当规则绑定的制度被废止时，系统如何提醒用户并引导用户完成规则绑定的更新操作。

---

## 2. 背景与问题

### 2.1 业务背景

全知平台的风险规则与制度紧密关联，每条规则都会绑定具体的制度文件和制度正文内容。在实际业务中，制度会因更新迭代而被废止，新制度会承接旧制度。

### 2.2 当前问题

- 当旧制度被废止后，绑定该制度的规则仍然指向已废止的制度
- 缺乏提醒机制，用户无法及时感知制度变更对规则的影响
- 缺乏引导更新流程，用户需要手动查找新制度并重新绑定

### 2.3 约束条件

- 制度文件从协同办公系统同步至全知平台，非手工上传
- 制度废止无法被系统直接检测，但新增制度可以被检测
- 承接关系的识别在全知平台侧完成
- 当前阶段先实现提醒和人工更新，AI智能文字推荐做下一阶段

---

## 3. 识别机制

### 3.1 触发时机

协同办公系统同步新制度入库后，系统自动触发承接关系识别。

### 3.2 识别逻辑

新制度的结构化数据（基本信息）中会记录历史版本信息，包含：
- 上一个版本的制度名称
- 上一个版本的制度编码
- 当前状态（废止）

**识别步骤**：

```
1. 协同办公系统同步新制度入库
        │
        ↓
2. 系统读取新制度的历史版本信息
        │
        ↓
3. 提取被废止的旧制度编码/名称
        │
        ↓
4. 在平台制度库中匹配旧制度
        │
        ↓
5. 匹配成功 → 建立承接关系 → 扫描旧制度绑定的规则 → 生成提醒
```

### 3.3 匹配优先级

- 优先用制度编码精确匹配（编码唯一）
- 编码匹配不到时，用制度名称模糊匹配
- 都匹配不到 → 生成待人工确认的记录

### 3.4 承接关系表

| 字段 | 说明 |
|------|------|
| 新制度ID | 新同步入库的制度 |
| 旧制度ID | 被废止的制度（匹配到的） |
| 匹配方式 | 自动匹配 / 人工确认 |
| 识别时间 | 系统识别的时间 |

---

## 4. 提醒方案

### 4.1 提醒对象

| 规则状态 | 提醒对象 |
|----------|----------|
| 草稿 / 上线中 | 提交人 |
| 已上线 | 提交人 + 管理员 |
| 已下线 / 上线终止 | 不提醒 |

### 4.2 提醒入口

#### 入口1：工作台通知横幅

- 位置：风险监控入口页面头部下方、疑点提醒卡片上方
- 展示：醒目的橙色通知横幅，显示"有X条规则的对应制度已废止，需要更新"，附带简要说明
- 交互：
  - 「立即处理」→ 跳转到"我的规则"列表，自动筛选"制度绑定状态=待更新"
  - 「收起」→ 横幅收起为页面右上角的小角标，点击可重新展开
- 说明：横幅为非常驻提醒，当所有待更新规则处理完毕后自动消失

#### 入口2：我的规则列表 - 新增状态列

- 位置：我的规则列表页，新增"制度绑定状态"列
- 展示：

| 值 | 样式 | 说明 |
|----|------|------|
| 正常 | 绿色标签 | 对应制度有效 |
| 制度已废止，待更新 | 橙色标签 | 对应制度已废止 |

- 交互：支持按此列筛选；橙色标签可点击，跳转规则详情页

#### 入口3：规则详情页 - 顶部告警条

- 位置：规则详情页顶部，基本信息tab上方
- 展示：

```
⚠️ 该规则的对应制度《旧制度名称》（旧制度编号）已废止，
   新制度《新制度名称》（新制度编号）已生效，请及时更新。
                                        [去更新] [暂不处理]
```

- 交互：
  - 点击「去更新」→ 跳转到新制度正文页面
  - 点击「暂不处理」→ 标记为已知晓，告警条收起但保留小角标提示

#### 入口4：Elink消息通知

- 位置：Elink app消息中心
- 触发时机：识别到承接关系后，立即发送通知
- 通知内容：告知用户有规则绑定的制度已废止，请登录全知平台处理
- 说明：Elink消息仅起提醒作用，用户需自行登录全知平台操作

---

## 5. 操作更新方案

### 5.1 操作入口

用户从以下任一入口进入更新流程：

1. 规则详情页告警条 → 点击「去更新」
2. Elink消息 → 登录全知平台 → 规则详情页告警条 → 点击「去更新」
3. 我的规则列表 → 点击橙色标签 → 规则详情页告警条 → 点击「去更新」

### 5.2 更新流程

```
规则详情页告警条 → 点击「去更新」
    │
    ↓
系统自动跳转到新制度的正文tab页面
（URL: regId=新制度ID&ruleId=当前规则ID&mode=update）
（新制度ID通过承接关系表获取）
    │
    ↓
用户在正文中阅读，找到对应的制度内容
    │
    ↓
用户选中文字
    │
    ↓
点击「关联风险规则」按钮（复用现有按钮）
    │
    ↓
弹窗显示待更新规则信息，确认是否更新
    │
    ↓
点击「确认更新」
    │
    ↓
系统更新规则的对应制度信息字段
系统保留旧绑定历史记录（后端记录，前端暂不展示）
系统更新提醒状态为"已更新"
    │
    ↓
弹窗关闭，提示更新成功
规则详情页告警条消失
```

### 5.3 弹窗设计

#### 更新确认弹窗

当URL中携带`ruleId`和`mode=update`参数时，"关联风险规则"弹窗自动识别为更新模式：

```
┌──────────────────────────────────────────────────────┐
│                                                      │
│  确认更新规则的对应制度信息                          │
│                                                      │
│  规则名称：XXX规则    规则编号：GZ2025...   状态：草稿│
│                                                      │
│  ┌─ 对应旧制度（已废止）────────────────────────┐   │
│  │ 对应制度来源：示例集团公司                    │   │
│  │ 对应制度名称：示例实业公司日常报销管理办法    │   │
│  │ 对应制度编号：Q/DEMO-REG212002-2024          │   │
│  │ 对应制度内容：                                │   │
│  │ "伙食补助按出差天数定额包干"                  │   │
│  └───────────────────────────────────────────────┘   │
│                                                      │
│  ┌─ 对应新制度 ─────────────────────────────────┐   │
│  │ 对应制度来源：示例集团公司                    │   │
│  │ 对应制度名称：示例实业公司支出管理细则        │   │
│  │ 对应制度编号：Q/DEMO REG217001-2026          │   │
│  │ 对应制度内容：                                │   │
│  │ "用户选中的文字"                              │   │
│  └───────────────────────────────────────────────┘   │
│                                                      │
│                    [取消]    [确认更新]              │
│                                                      │
└──────────────────────────────────────────────────────┘
```

### 5.4 多条规则连续更新

当一个旧制度废止后有多条规则待更新时，支持连续更新：

```
用户更新完第1条规则
    │
    ↓
PDF工具栏下方显示引导提示条：
┌─────────────────────────────────────────────────────────────────┐
│ ✅ 规则A绑定更新完成。还有2条规则待更新。      [查看待更新规则]  │
└─────────────────────────────────────────────────────────────────┘
    │
    ↓
用户点击「查看待更新规则」
    │
    ↓
弹出轻量弹窗，展示剩余待更新规则列表
┌─────────────────────────────────────────────────────────────────┐
│  待更新规则（对应制度《旧制度名称》（编号）已废止）               │
│                                                                 │
│  1. 规则B  编号：GZ2025...   状态：草稿                         │
│     旧对应制度内容："XXX"                       [去更新]         │
│                                                                 │
│  2. 规则C  编号：GZ2025...   状态：已上线                       │
│     旧对应制度内容："YYY"                       [去更新]         │
│                                                                 │
│                                             [关闭]              │
└─────────────────────────────────────────────────────────────────┘
    │
    ↓
用户点击规则B的「去更新」
    │
    ↓
页面刷新，URL中ruleId切换为规则B
用户继续在正文中选中文字，更新绑定
    │
    ↓
更新完成，引导条数字减1
直到所有规则更新完毕，引导条消失
```

### 5.5 引导提示条位置

功能按钮（放大、缩小、文件保存、关联风险规则、跳转到标签等）放在文本框外面、文档区域顶部。引导提示条放在功能按钮下方：

```
┌─────────────────────────────────────────┐
│ 制度详情页 - [基本信息] [正文] [附件]    │
├─────────────────────────────────────────┤
│ 工具栏：放大 | 缩小 | 关联风险规则 | ... │  ← 文本框外面
├─────────────────────────────────────────┤
│ ✅ 规则A绑定更新完成。还有2条待更新。     │  ← 引导提示条
├─────────────────────────────────────────┤
│ ┌─ 目录 ─┐┌──────────────────────────┐ │
│ │ 第一章  ││                          │ │
│ │ 第二章  ││      PDF正文区域          │ │
│ │ ...     ││                          │ │
│ └─────────┘└──────────────────────────┘ │
└─────────────────────────────────────────┘
```

---

## 6. 历史版本保留

### 6.1 绑定历史记录

每次更新规则的制度绑定时，保留旧绑定的历史记录。

### 6.2 历史记录字段

| 字段 | 说明 |
|------|------|
| 绑定版本号 | 每次更新递增 |
| 制度来源 | 绑定时的制度来源 |
| 制度编号 | 绑定时的制度编号 |
| 制度名称 | 绑定时的制度名称 |
| 绑定内容 | 绑定的制度文字 |
| 绑定时间 | 绑定操作的时间 |
| 绑定人 | 操作人 |
| 状态 | 当前生效 / 历史记录 |

### 6.3 展示方式

规则详情页基本信息tab中展示最新绑定信息。绑定变更历史由后端记录，当前阶段前端暂不展示。

---

## 7. 数据结构

### 7.1 承接关系表

| 字段 | 类型 | 说明 |
|------|------|------|
| id | VARCHAR(36) | 主键 |
| new_reg_id | VARCHAR(36) | 新制度ID |
| old_reg_id | VARCHAR(36) | 旧制度ID |
| match_type | VARCHAR(1) | 匹配方式：1-自动匹配 2-人工确认 |
| create_time | DATETIME | 识别时间 |

### 7.2 绑定更新提醒表

| 字段 | 类型 | 说明 |
|------|------|------|
| id | VARCHAR(36) | 主键 |
| rule_id | VARCHAR(36) | 受影响的规则ID |
| old_reg_id | VARCHAR(36) | 被废止的制度ID |
| new_reg_id | VARCHAR(36) | 承接的新制度ID |
| status | VARCHAR(1) | 提醒状态：1-待处理 2-已更新 3-暂不处理 |
| target_user_id | VARCHAR(36) | 提醒对象（提交人/管理员） |
| create_time | DATETIME | 提醒生成时间 |
| handle_time | DATETIME | 处理时间 |

### 7.3 规则绑定历史表

| 字段 | 类型 | 说明 |
|------|------|------|
| id | VARCHAR(36) | 主键 |
| rule_id | VARCHAR(36) | 规则ID |
| version_no | INT | 绑定版本号 |
| reg_source | VARCHAR(200) | 制度来源 |
| reg_code | VARCHAR(100) | 制度编号 |
| reg_name | VARCHAR(200) | 制度名称 |
| bind_content | TEXT | 绑定的制度文字 |
| bind_time | DATETIME | 绑定时间 |
| bind_user_id | VARCHAR(36) | 绑定人 |
| status | VARCHAR(1) | 状态：1-当前生效 2-历史记录 |

---

## 8. 涉及页面改动

### 8.1 风险监控入口（工作台）

- 页面头部下方新增通知横幅（替代原告警卡片方案）
- 横幅显示待更新规则数量，带「立即处理」和「收起」按钮
- 收起后变为页面右上角小角标，可重新展开
- 所有规则更新完毕后横幅自动消失

### 8.2 我的规则列表

- 新增"制度绑定状态"列
- 支持按此列筛选
- 橙色标签可点击跳转

### 8.3 规则详情页

- 顶部新增告警条（当对应制度废止时显示）
- 支持「暂不处理」收起为小角标

### 8.4 制度详情页

- 功能按钮移至文本框外面（文档区域顶部）
- 功能按钮下方新增引导提示条（更新模式下显示）
- 新增"待更新规则"轻量弹窗（标题含已废止制度编号）
- "关联风险规则"弹窗增加更新模式，弹出确认弹窗（显示规则名称/编号/状态，新旧制度各显示4个字段）

---

## 9. 业务流程总览

```
协同办公系统同步新制度入库
        │
        ↓
系统读取新制度历史版本信息
        │
        ↓
识别承接关系（旧制度编码匹配）
        │
        ↓
扫描旧制度绑定的规则
        │
        ↓
按规则状态确定提醒对象
        │
        ↓
生成提醒记录 + 发送Elink消息
        │
        ↓
用户通过任一入口进入规则详情页
        │
        ↓
点击「去更新」→ 跳转新制度正文页
        │
        ↓
用户选中文字 → 点击「关联风险规则」
        │
        ↓
确认更新 → 更新绑定字段 + 保留历史记录
        │
        ↓
如有更多待更新规则 → 引导继续处理
        │
        ↓
所有规则更新完毕
```

---

## 10. 验收标准

### 10.1 识别功能

- [ ] 新制度入库后，系统能自动识别承接关系
- [ ] 识别到承接关系后，能正确扫描受影响的规则
- [ ] 未匹配到旧制度时，生成待人工确认的记录

### 10.2 提醒功能

- [ ] 工作台通知横幅正确显示待更新数量
- [ ] 横幅可收起为小角标，可重新展开
- [ ] 我的规则列表正确显示制度绑定状态
- [ ] 规则详情页告警条正确显示旧制度和新制度信息（含制度编号）
- [ ] Elink消息正确发送给提醒对象

### 10.3 更新功能

- [ ] 点击「去更新」正确跳转到新制度正文页
- [ ] 选中文字后点击「关联风险规则」弹出更新确认弹窗
- [ ] 确认弹窗中新旧制度各正确显示4个字段（对应制度来源、编号、名称、内容）
- [ ] 确认更新后对应制度信息字段正确更新
- [ ] 旧绑定历史记录由后端正确保留
- [ ] 多条规则连续更新引导正常

---

## 11. 版本历史

| 版本 | 日期 | 修改内容 | 修改人 |
|------|------|----------|--------|
| v1.0 | 2026-05-09 | 初始版本 | 产品经理 |
| v1.1 | 2026-05-09 | 1. 工作台提醒方式由告警卡片改为通知横幅 2. 更新确认弹窗新旧制度各显示4个字段 3. 待更新规则弹窗增加制度编号 4. 绑定变更历史改为后端记录、前端暂不展示 5. 制度详情页功能按钮移至文本框外 6. 统一"对应制度"措辞 | 产品经理 |
| v1.2 | 2026-05-09 | 1. 告警条新增新旧制度编号显示 2. 更新确认弹窗增加规则状态，字段布局调整为：来源单独一行、名称+编号同行、内容单独一行 3. 待更新规则弹窗标题句增加制度编号，规则卡片去掉已废止制度编号行 | 产品经理 |
