# OP工作流专家 - 欢迎面板数据

## 使用提示

👋 **欢迎使用OP工作流专家!**

我专注于将SOP文档自动转换为符合云平台导入标准的BPMN 2.0工作流配置。

### 我可以帮你:

✅ **SOP文档解析**: 智能提取步骤总览、角色分配、入参出参文档  
✅ **BPMN工作流生成**: 自动生成完整的BPMN 2.0 XML配置  
✅ **节点唯一性保障**: 使用流程标识前缀彻底规避跨流程冲突  
✅ **角色权限映射**: 将SOP执行者映射为Flowable角色组  
✅ **文档编码**: 生成完整的入参/出参扩展属性  
✅ **质量验证**: XML语法验证、节点唯一性验证、引用完整性验证  

---

## 下一步建议

### 🚀 快速开始

**方式1**: 直接粘贴SOP文档内容
```
请帮我将以下SOP文档转换为BPMN工作流配置:

[SOP文档内容]
```

**方式2**: 指定SOP文档文件路径
```
请读取 /path/to/SOP文档.md 并生成工作流配置
```

**方式3**: 使用触发词
```
SOP转工作流 HY-G-LTC-SOP-001 线索管理SOP.md
```

---

## 预填充模板

### 模板1: SOP转BPMN工作流生成

**触发词**: `SOP转工作流` / `生成BPMN` / `工作流配置`

**示例输入**:
```
SOP转工作流

请仔细阅读以下SOP文档,生成完整的BPMN 2.0工作流配置:

【SOP编号】HY-G-LTC-SOP-001
【SOP名称】线索管理SOP(V5.1)
【步骤总览】
步骤1: 接收AI评估已分级线索 (执行者: AR-01, 输出: 线索接收记录.md)
步骤2: 线索信息核验与验收 (执行者: AR-01, 入参: AI评估报告.md, 输出: 线索验收记录.md, 下一节点: 步骤3(通过)/退回MM(驳回))
...

请生成:
1. 完整的BPMN 2.0 XML配置
2. 节点唯一性验证报告
3. 流程导入说明文档
```

---

### 模板2: BPMN节点唯一性验证

**触发词**: `验证节点唯一性` / `检查节点冲突` / `BPMN验证`

**示例输入**:
```
验证节点唯一性

请对以下BPMN工作流配置进行全面验证:

[BPMN XML内容或文件路径]

验证项:
1. 节点ID唯一性
2. 流程标识前缀规范
3. 引用完整性
4. XML语法
5. 角色映射
6. 文档编码
```

---

## 输出文件说明

### 文件1: {SOP编号}-工作流配置.md

**内容**:
- 流程基本信息
- 流程节点清单
- 完整BPMN 2.0 XML代码块

**示例**: `HY-G-LTC-SOP-001-工作流配置.md`

---

### 文件2: {SOP编号}-节点唯一性验证报告.md

**内容**:
- 流程元素ID清单(节点+连接线)
- 图形元素ID清单(BPMNShape + BPMNEdge)
- 引用完整性验证
- XML语法验证
- 冲突规避策略说明

**示例**: `HY-G-LTC-SOP-001-节点唯一性验证报告.md`

---

### 文件3: {SOP编号}-流程导入说明.md

**内容**:
- 角色ID映射说明
- 模板文件上传清单
- 流程变量说明
- 分支网关流转条件
- 测试用例
- 导入检查清单
- 常见问题与处理

**示例**: `HY-G-LTC-SOP-001-流程导入说明.md`

---

## 关键特性

### 1. 节点ID全局唯一

使用流程标识前缀命名策略:

| 流程 | 节点ID前缀 | 示例 |
|-----|-----------|------|
| HY-G-LTC-SOP-001 | `ltc_` | `ltc_step1_receive` |
| HY-G-OPP-SOP-002 | `opp_` | `opp_step1_create` |
| HY-G-CUST-SOP-003 | `cust_` | `cust_step1_register` |

**优势**: 即使多个SOP流程导入同一系统,也不会冲突!

---

### 2. 多入参多出参支持

每个步骤可能涉及多个入参和出参文档:

```xml
<flowable:property name="__inputAttachments" value='[
  {"fileName":"AI评估报告.md","templateId":"HY-G-MM-TMP-XXX"},
  {"fileName":"线索接收记录.md","templateId":"HY-G-LTC-TMP-REC"}
]' />
<flowable:property name="__outputAttachments" value='[
  {"fileName":"线索验收记录.md","templateId":"HY-G-LTC-TMP-001"},
  {"fileName":"线索分级清单.md","templateId":"HY-G-LTC-TMP-002"}
]' />
```

---

### 3. 分支逻辑完整处理

自动识别SOP中的分支逻辑并生成ExclusiveGateway:

```
步骤2: 下一节点为"步骤3(通过)/步骤9(驳回)"
      ↓
<exclusiveGateway id="ltc_gw_verify" name="验收是否通过?" />
  ├─ 通过 → ltc_step3_input (${acceptance_result=='pass'})
  └─ 驳回 → ltc_step9_nurture (${acceptance_result=='reject'})
```

---

### 4. 子流程自动生成

自动识别SOP中的子流程并生成SubProcess:

```
步骤9: C级线索培育管理 (子流程)
      ↓
<subProcess id="ltc_step9_nurture" name="C级线索培育管理">
  <startEvent id="ltc_sub_start" />
  <userTask id="ltc_sub_task_track" />
  <exclusiveGateway id="ltc_sub_gw_check" />
  <endEvent id="ltc_sub_end_upgrade" />
</subProcess>
```

---

## 导入前准备清单

在将生成的工作流配置导入云平台前,请确认:

- [ ] 角色代码已替换为系统实际角色ID (AR-01 → 实际ID)
- [ ] 所有模板文件已上传到系统
- [ ] 流程变量与系统数据模型一致
- [ ] 已执行节点唯一性验证
- [ ] 已测试所有分支路径
- [ ] 已配置流程监听器和通知规则

---

## 常见问题

### Q1: 节点ID为什么要加前缀?

**A**: 使用流程标识前缀(如ltc_)可以彻底规避跨流程节点冲突。当多个SOP流程导入同一系统时,通用命名(如task_step1)会导致ID冲突,而前缀命名(如ltc_step1_receive/opp_step1_create)确保全局唯一。

### Q2: 如何处理多个入参/出参?

**A**: 每个UserTask的扩展属性中,__inputAttachments和__outputAttachments都是数组格式,可以包含多个文档。系统会自动从SOP步骤总览中提取所有入参和出参文档。

### Q3: 分支逻辑如何识别?

**A**: 从SOP步骤总览的"下一节点"列识别分支。如果包含"/"符号(如"步骤3(通过)/步骤9(驳回)"),系统会自动生成ExclusiveGateway和对应的条件表达式。

### Q4: 角色代码需要替换吗?

**A**: 是的。生成的BPMN XML中使用角色代码(AR-01/MG-01/MG-02),导入前需要查询系统实际角色ID并替换。导入说明文档中会提供详细的替换方法。

### Q5: 如何验证生成的BPMN是否正确?

**A**: 系统会自动执行5项验证:
1. XML语法验证(xmllint)
2. 节点ID唯一性验证(无重复)
3. 引用完整性验证(无悬空引用)
4. 角色映射验证
5. 文档编码验证

所有验证通过后,才会生成最终的工作流配置文档。

---

## 技术支持

如需进一步帮助,请:

1. 查看示例文件: `/Users/liulichen/idea_team/需求管理平台-2026/doc/HY-G-LTC-SOP-001_v5.2.md`
2. 参考BPMN模板: `/Users/liulichen/idea_team/需求管理平台-2026/doc/flow_001_v3.md`
3. 联系流程架构师或BPM管理员

---

**祝您使用愉快!** 🎉
