前言:工作流程引擎在系统非常常见,掌握这个技能毫无疑问是非常有必要的,结合我时间的工作经验,把这些知识好好说一下吧,首先我们项目在使用activity工作流的时候,只是使用接口的方式,让流程引擎单独成为子项目,让流程信息与业务信息解耦,通过proc_def_id 和pro_ins_id就可以访问流程相关的信息
首先关于流程图
1.流程图的画法有浏览器端和eclipse之类的插件
2.流程图包括常见的
开始事件:流程开始的事件
流程线:注意其设置的参数
网关:网关就是控制流程走向的
个人任务:
子流程:
注意事项:
1.流程图是如何传递参数的?
在网关设置判断条件,在流程线上设置具体的值,如果网关读取的参数满足那个条件,流程就往满足条件的流程线的方向进行。
设置参数:参数类型可以为集合或者单独的字符串
@Test
public void approveProcess() {
// 添加审批通过的意见
//getTaskId:26e20b0ffd344795a10c8f228dadbcdb
//getProcInsId:f613e760050342d899105bdfd9bf4d08
//getComment:[同意] 我的审批测试20191106
//vars:{pass=1}
String taskId = "135666cb999e4e068ed016dbdc9c7194";
String processInstanceId = "884c3042fbad41189945813264369932";
String message = "[同意] 我的审批测试20191108_card";
// 添加审批意见
taskService.addComment(taskId, processInstanceId, message);
// 审批铜鼓
Map<String,Object> var = new HashMap<String,Object>();
var.put("pass", "1");
List<String> childUser = new ArrayList<String>();
childUser.add("zhansan");
childUser.add("lisi");
childUser.add("wanger");
var.put("ChildUserList", childUser);
taskService.complete(taskId, var);
}
proc_def_id的内容格式:流程标识:版本号:流程id
pro_ins_id:流程实例的id
ACT_RU_TASK 流程具体信息 和ACT_RU_EXECUTION 正在进行中的任务