Files
qhmes/.trae/skills/jeecg-bpmn/docs/skill-usage-guide.md

5.4 KiB
Raw Permalink Blame History

JeecgBoot BPM 流程自动生成 — Skills 使用指南

通过自然语言描述AI 自动生成 Flowable BPMN 2.0 XML 并调用 API 创建/修改流程。

前置准备

使用前需准备两样东西:

信息 获取方式 示例
后端地址 运维/开发提供 https://api3.boot.jeecg.com
X-Access-Token 浏览器 F12 → Network → 任意请求 Headers eyJhbGciOiJIUzI1NiJ9...

实战案例:车辆出差申请流程

以下是一个完整的流程创建和迭代修改过程,展示了 skill 的实际使用方式。

第一步:创建基础流程

用户输入:

创建一个车辆出差申请流程

AI 交互过程:

  1. AI 询问后端地址和 Token
  2. 用户提供凭据后AI 设计流程并展示摘要:
## 流程摘要

- 流程名称:车辆出差申请流程
- 流程类型oa

### 流程节点

| 序号 | 节点名称 | 类型 | 审批人 |
|------|---------|------|--------|
| 1 | 开始 | startEvent | - |
| 2 | 申请人填写 | userTask (草稿) | ${applyUserId} |
| 3 | 部门负责人审批 | userTask | 表达式(部门负责人) |
| 4 | 分管领导审批 | userTask | 表达式(上一级部门负责人) |
| 5 | 车辆调度确认 | userTask | 上一节点指派 |
| 6 | 结束 | endEvent | - |

确认以上信息正确?(y/n)
  1. 用户确认 yAI 自动生成 BPMN XML 并调用 API
  2. 返回结果:
## 流程创建成功

- 流程ID2032497475959439362
- 流程Keyprocess_1773420125267

第二步:增加审批节点

用户输入:

修改刚才的流程,加入一个总经理审批节点,最后一个节点

AI 交互过程:

  1. AI 基于已有流程信息,展示修改后的摘要(标注变更项):
| 序号 | 节点名称 | 类型 | 审批人 | 变更 |
|------|---------|------|--------|------|
| ... | (原有节点) | ... | ... | |
| 6 | 总经理审批 | userTask | 表达式(上两级部门负责人) | 新增 |
| 7 | 结束 | endEvent | - | |
  1. 用户确认后AI 使用相同的 processDefinitionIdprocesskey 调用 API 更新流程
  2. 流程修改成功

第三步:增加条件分支

用户输入:

在部门负责人审批节点后面增加分支条件如果用车时间超过3天则需要人力审批然后再流向车辆调度确认

AI 交互过程:

  1. AI 识别出需要排他网关exclusiveGateway展示分支逻辑
开始 → 申请人填写 → 部门负责人审批 → 用车天数判断
  ├─ ≤3天 ──────────────→ 分管领导审批 → 车辆调度确认 → 总经理审批 → 结束
  └─ >3天 → 人力审批(hr角色) ↗
  1. 用户确认后API 更新流程

最终流程图效果:

        ○ 开始
        ↓
   [申请人填写]        ← 草稿节点,首次自动跳过
        ↓
  [部门负责人审批]      ← 表达式: getDepartLeaders
        ↓
     ◇ 用车天数判断
    ↙         ↘
  ≤3天        >3天
   ↓          ↓
   │      [人力审批]    ← hr 角色组
   ↓        ↙
  [分管领导审批]        ← 表达式: getLevel1DepartLeaders
        ↓
   [车辆调度确认]       ← 上一节点指派
        ↓
   [总经理审批]         ← 表达式: getLevel2DepartLeaders
        ↓
        ● 结束

使用技巧

1. 描述流程的多种方式

# 简单描述
创建一个请假审批流程先经理审批再HR审批

# 指定审批人
创建流程:开始 → admin审批 → hr角色组审批 → 结束

# 描述条件分支
报销流程金额大于1万需要总监审批否则经理审批即可

# 描述会签
创建合同审批流程,需要法务部和财务部同时会签

2. 修改已有流程

# 增加节点
在经理审批后面加一个总监审批

# 增加条件分支
在提交节点后加一个金额判断超过5000走总监审批

# 修改审批人
把部门经理审批改成角色组 manager

# 删除节点
去掉HR审批节点

3. 支持的审批人类型

说法 AI 识别为
"admin审批" 固定指定人
"发起人/申请人" ${applyUserId} 表达式
"部门负责人" getDepartLeaders 表达式
"分管领导" getLevel1DepartLeaders 表达式
"hr角色" / "角色组" candidateGroups + groupType="role"
"上一节点指派" isAssignedByPreviousNode=true
"张三或李四" candidateUsers 候选人
"会签/多人同时审批" 多实例 + countersignRule

4. 支持的条件分支

说法 AI 生成
"金额大于1万" ${amount > 10000}
"天数超过3天" ${use_days > 3}
"通过/拒绝" ${result == 1} / ${result == 0}
"部长以上职务" ${oaUtil.branchConditionByPost(...)}

条件变量名需与业务表单字段名一致。


注意事项

  1. Token 有效期JWT Token 有过期时间,过期后需重新从浏览器获取
  2. 流程字段绑定:条件分支中的变量名(如 use_days)需与关联表单的字段名一致
  3. 同一会话内可连续修改AI 会记住当前流程的 ID 和 Key无需重复提供
  4. 修改是覆盖式的:每次修改会提交完整的 BPMN XML不是增量更新
  5. 创建后需绑定表单:流程创建后,需在 JeecgBoot 后台绑定业务表单才能正常发起