流程启动、任务完成、服务编排 场景的骚操作
文档原地址:
启动流程接口如:流程启动,流程保存草稿,草稿启动,催办,人工终止等流程实例等相关操作
任务处理接口如:同意,驳回,反对,锁定,解锁,转办等相关操作
流程启动的一些方式
一、通过已有数据接口启动流程:
Swagger 接口地址 http://localhost:8080/swagger-ui.html#!/bpm-instance-controller/doActionUsingPOST
在线表单,URL表单均支持
post /bpm/instance/doAction |
eg:
{ |
二、通过URL地址,启动流程
支持配置到自定义列表,等任意打通了鉴权的前端页面
具体地址请启动流程后,右键查看URL地址,请务必注意启动地址必须用key启动,否则可能启动旧版本的流程
如:https://test1.agilebpm.cn/bpm/instance/start/yongyinshenqing
三、携带业务数据主键ID启动流程
用于已有业务对象启动流程,他会启动时自动加载该业务对象的数据,直接发起流程申请
URL地址后面添加 bizId=id 即可/bpm/vueForm/start.html?defKey=jdlc1&bizId=id
任务完成的一些方式
任务完成接口
Swagger 接口测试地址 http://localhost:8080/swagger-ui.html#!/bpm-task-controller/doActionUsingPOST_1
post /bpm/instance/doAction |
eg:
{ |
任务批量完成接口
Swagger 接口测试地址 http://localhost:8080/swagger-ui.html#!/bpm-task-controller/doActionsUsingPOST_1
post /bpm/task/doActions |
eg:
[ |
服务编排场景的一些数据传递方案
一、流程变量
启动,或者任务处理都支持设置流程变量,流程变量在流程实例生命周期中都可以使用
而且流程变量支持主子流程共享的设置,可以在主子流程间交互,具体请看流程全局插件,流程变量插件的配置
二、业务对象
AgileBPM 的业务对象可以在流程运行时直接使用,启动时携带业务对象即可,HTTP事件支持传递业务对象,并支持反馈更新后的业务对象BpmPluginGlobalInvokeResultDto.resetBusData
,返回 该值后会对业务对象进行更新操作
流程自由跳转
自由跳转可以通过节点跳转插件来实现,除此之外还可以通过 前端、后端等方式设置跳转。
前端方式
- 接口启动时可直接指定跳转路径,在启动接口的
destination
参数,详见启动swagger文档, - 在线表单中直接对请求参数赋值
如在任务提交前、流程启动前赋值:this.flowRequestParam.destination = "nodeId"
也可以在表单中双向绑定该属性,在表单中让用户选择跳转路径。
后端方式
首先建议使用节点跳转插件来做的,除此之外也有其他方式。
后端跳转主要是通过对流程运行参数 ActionCMD.distination
的设置 来实现跳转
比如在表单初始化插件-后置脚本时机,插件可以拿到cmd参数,如在表单初始化插件-后置脚本 actionCmd.setDestination('nodeId')
流程常用查询语句
用于排查问题的常用 sql
|