Skills — BPM流程自动生成
1. 功能介绍
jeecg-bpmn 是 Claude Code 的 AI Skill,能够将自然语言的审批流程描述自动转换为 Flowable BPMN 2.0 XML,并通过 API 在 JeecgBoot 系统中自动创建流程。
核心能力:
- 用自然语言描述审批流程,AI 自动生成完整的 BPMN XML
- 支持多种节点类型:用户任务、排他网关、并行网关、包含网关、子流程
- 智能推导审批人配置(角色、用户、部门、岗位、表达式)
- 支持会签(并行/顺序多实例)
- 自动生成流程图布局(BPMNDiagram)
- 通过 API 自动创建流程到 JeecgBoot 系统
不确定该用哪个 Skill?请查看 AI Skills 技能清单。
2. 前置条件
使用前需要准备两个信息:
| 信息 | 获取方式 | 示例 |
|---|---|---|
| API 地址 | JeecgBoot 后端服务地址 | https://boot3.jeecg.com/jeecgboot |
| X-Access-Token | 浏览器 F12 → Network → 任意请求的 Request Headers | eyJhbGciOiJIUzI1NiIs... |
3. 使用方式
在 Claude Code 中直接用自然语言描述审批流程即可。以下是触发关键词:
创建流程、生成流程、设计流程、画流程、审批流程、
工作流、BPM、BPMN、create flow、create process
4. 支持的节点类型
4.1 基本节点
| 用户描述关键词 | BPMN 节点类型 | 说明 |
|---|---|---|
| 开始 | startEvent | 流程起点 |
| 结束 | endEvent | 流程终点 |
| 审批/审核/处理 | userTask | 人工审批任务 |
| 提交/填写 | userTask | 发起人提交节点 |
4.2 网关节点
| 用户描述关键词 | BPMN 节点类型 | 说明 |
|---|---|---|
| 条件判断/分支/通过或拒绝 | exclusiveGateway | 排他网关,只走一条分支 |
| 同时/并行 | parallelGateway | 并行网关,所有分支同时执行 |
| 条件并行/部分并行 | inclusiveGateway | 包含网关,满足条件的分支执行 |
4.3 高级节点
| 用户描述关键词 | BPMN 节点类型 | 说明 |
|---|---|---|
| 子流程/嵌套 | subProcess | 内嵌子流程 |
| 调用子流程 | callActivity | 调用外部流程定义 |
| 会签/多人同时审批 | multiInstance | 并行/顺序会签 |
5. 审批人配置
AI 根据用户描述自动匹配审批人类型:
| 用户描述 | 配置方式 | 说明 |
|---|---|---|
| "发起人/申请人" | flowable:assignee="${applyUserId}" | 流程发起人 |
| "admin/指定用户名" | flowable:assignee="admin" | 固定指定人 |
| "经理角色" | flowable:candidateGroups="manager" | 系统角色候选 |
| "张三或李四" | flowable:candidateUsers="zhangsan,lisi" | 多候选人 |
| "某部门审批" | flowable:candidateGroups="部门ID" | 部门审批 |
| "某岗位审批" | flowable:candidateGroups="岗位ID" | 部门岗位审批 |
| "部门负责人" | flowable:assignee="${deptLeader}" | 表达式动态审批人 |
| "上一节点指派" | isAssignedByPreviousNode=true | 上一审批人选择 |
| "会签/多人同时审批" | 多实例配置 | 并行/顺序会签 |
| "表单字段选人" | groupType="formData" | 从表单动态获取 |
6. 实战示例:创建请假审批流程
6.1 第一步:描述需求
创建一个请假审批流程:
员工提交请假申请 → 部门经理审批 →
通过则HR审批,拒绝则退回给员工 →
HR通过则结束,拒绝则退回给员工
6.2 第二步:AI 展示流程摘要
## 流程摘要
- 流程名称:请假审批流程
- 流程类型:oa
- 目标环境:https://boot3.jeecg.com/jeecgboot
### 流程节点
| 序号 | 节点名称 | 类型 | 审批人 |
|------|---------|------|--------|
| 1 | 开始 | startEvent | - |
| 2 | 员工提交申请 | userTask | ${applyUserId} |
| 3 | 部门经理审批 | userTask | manager (角色组) |
| 4 | 经理审批结果 | exclusiveGateway | 条件分支 |
| 5 | HR审批 | userTask | hr (角色组) |
| 6 | HR审批结果 | exclusiveGateway | 条件分支 |
| 7 | 结束 | endEvent | - |
### 连线与条件
开始 → 员工提交申请 → 部门经理审批 → 经理审批结果
├─ 通过 (result==1) → HR审批 → HR审批结果
│ ├─ 通过 (result==1) → 结束
│ └─ 拒绝 (result==0) → 员工提交申请
└─ 拒绝 (result==0) → 员工提交申请
确认以上信息正确?(y/n)
6.3 第三步:提供 Token 并确认
x-access-token
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxx
6.4 第四步:AI 自动执行
AI 会:
- 生成完整的 BPMN 2.0 XML(包含流程定义和图形布局)
- 调用
saveProcessAPI 创建流程 - 返回流程 ID 和 Key
6.5 第五步:查看结果
## 流程创建成功
- 流程ID:xxx
- 流程名称:请假审批流程
- 流程Key:process_1710000000000
- 目标环境:https://boot3.jeecg.com/jeecgboot
### 后续操作
1. 打开 JeecgBoot 后台 → 流程管理 → 流程设计
2. 找到该流程,点击「编辑」查看流程图
3. 绑定业务表单(Online表单/设计器表单/自定义表单)
4. 发布流程后即可使用
7. 更多使用场景
7.1 简单顺序审批
创建一个报销审批流程:
员工提交 → 主管审批 → 财务审批 → 结束
7.2 并行审批
创建一个合同审批流程:
提交后,法务和财务同时审批,
两个都通过后,总经理最终审批
AI 会使用并行网关(parallelGateway)实现同时审批。
7.3 多级条件分支
创建一个采购审批流程:
- 金额 < 1万,主管审批即可
- 金额 1-10万,需要经理审批
- 金额 > 10万,需要总经理审批
AI 会使用排他网关(exclusiveGateway)根据金额条件分支。
7.4 会签审批
创建一个项目立项审批流程:
提交后,评审委员会全体成员同时审批(会签),
需要全部通过才能进入下一步
AI 会使用多实例配置实现并行会签。
7.5 驳回重填
创建一个请假流程,审批拒绝后退回给申请人重新填写
AI 会在拒绝分支连线回到发起人节点。
8. 条件表达式语法
排他网关的分支条件使用 UEL 表达式:
| 场景 | 表达式 | 说明 |
|---|---|---|
| 审批通过 | ${result==1} | result=1 表示通过 |
| 审批拒绝 | ${result==0} | result=0 表示拒绝 |
| 金额判断 | ${amount < 10000} | 表单字段条件 |
| 天数判断 | ${days > 3} | 表单字段条件 |
| 组合条件 | ${amount >= 10000 && amount < 100000} | 多条件组合 |
9. 流程与表单绑定
流程创建后,需要在 JeecgBoot 后台绑定业务表单:
| 表单类型 | 配置方式 | 适用场景 |
|---|---|---|
| Online 表单 | 选择已创建的 Online 表 | 标准 CRUD 表单 |
| 设计器表单 | 选择已创建的 desform | 复杂布局表单 |
| 自定义开发 | 指定前端组件路径 | 高度定制化 |
提示: 可以先用
jeecg-onlform或jeecg-desformSkill 创建表单,再用jeecg-bpmn创建流程,最后在后台绑定。
10. 涉及的 API 接口
| 接口 | 方法 | 路径 | 说明 |
|---|---|---|---|
| 保存流程 | POST | /act/designer/api/saveProcess | 创建/编辑流程定义 |
请求参数(form-urlencoded):
| 参数 | 说明 |
|---|---|
| processDefinitionId | 流程数据表ID,新建传 0 |
| processName | 流程名称 |
| processkey | 流程唯一标识(时间戳) |
| typeid | 流程类型(如 oa) |
| nodes | 节点信息(id=xxx###nodeName=xxx@@@ 格式) |
| processDescriptor | BPMN XML 内容 |
| startType | 启动方式(manual 手动发起) |
11. 数据库配置表
流程创建后,可通过以下数据库表进一步配置节点行为:
| 表名 | 说明 |
|---|---|
ext_act_process | 流程主表(属性、XML、催办/撤回/通知) |
ext_act_process_form | 表单绑定(业务表单关联) |
ext_act_process_node | 节点配置(编辑/抄送/转办/加签/驳回) |
ext_act_process_node_auth | 字段权限(字段显示/隐藏/可编辑/禁用) |
12. 常见问题
流程和表单如何配合使用?
推荐工作流:
- 用
jeecg-onlform创建 Online 表单(如请假表) - 用
jeecg-bpmn创建审批流程 - 在后台将流程与表单绑定
- 发布流程,用户即可发起审批
支持哪些流程引擎?
JeecgBoot 只使用 Flowable 引擎,Activiti 已废弃。
流程创建后如何修改?
两种方式:
- 在 JeecgBoot 后台的流程设计器中可视化编辑
- 告诉 AI 修改需求,AI 会重新生成 BPMN XML 并调用 API 更新
审批人可以动态设置吗?
可以。支持多种动态审批人方式:
- 表达式:如
${deptLeader}自动获取部门负责人 - 表单字段:从表单中选择的用户作为审批人
- 上一节点指派:由上一个审批人指定下一个审批人