*业务场景:
收集每个员工的绩效考核信息;
收集一次组织活动的信息;
一个合同需要三个经理审批,可以是顺序的也可以是并行的;
一个合同计划审批有30个人审批,只需要其中70%的人审批通过即可。等等 *
| 属性 | 解释 |
|---|---|
| nrOfInstances | 一共有多少个实例 |
| nrOfCompletedInstances | 已经完成的实例个数 |
| nrOfActiveInstances | 未完成的实例个数 |
|
这些值可以通过调用 execution.getVariable(x) 方法来检索。 此外,每个创建的执行都将有一个执行局部变量(对其他执行不可见,也不存储在流程实例级别): | |
| loopCounter | 指示该特定实例的 for-each 循环中的索引。可以使用Flowable elementIndexVariable属性重命名 loopCounter 变量 |
2.1、配置参数
2.2、配置候选人
2.3、配置结束条件
public ReturnVo add(Leave leave, String sessionId) {
ReturnVo returnVo = new ReturnVo(ReturnCode.FAIL, "添加失败");
try {
String leaveId = UUIDGenerator.generate();
leave.setId(leaveId);
StartProcessInstanceVo startProcessInstanceVo = new StartProcessInstanceVo();
startProcessInstanceVo.setBusinessKey(leaveId);
User user = SecurityUtils.getCurrentUserObject();
startProcessInstanceVo.setCreator(user.getId());
startProcessInstanceVo.setCurrentUserCode(user.getId());
startProcessInstanceVo.setFormName("请假流程");
startProcessInstanceVo.setSystemSn("flow");
startProcessInstanceVo.setProcessDefinitionKey("leave");
Map<String, Object> variables = new HashMap<>();
variables.put("days", leave.getDays());
startProcessInstanceVo.setVariables(variables);
//设置三个人作为多实例的人员
List<String> userList = new ArrayList<>();
userList.add("00000005");
userList.add("00000006");
variables.put("userList", userList);
ReturnVo<ProcessInstance> returnStart = flowableProcessInstanceService.startProcessInstanceByKey(startProcessInstanceVo);
if (returnStart.getCode().equals(ReturnCode.SUCCESS)){
String processInstanceId = returnStart.getData().getProcessInstanceId();
leave.setProcessInstanceId(processInstanceId);
this.LeaveService.insertLeave(leave);
returnVo = new ReturnVo(ReturnCode.SUCCESS, "添加成功");
}else {
returnVo = new ReturnVo(returnStart.getCode(), returnStart.getMsg());
}
} catch (Exception e) {
logger.error("LeaveController-add:", e);
e.printStackTrace();
}
return returnVo;
}
本文详细介绍了工作流引擎中多实例任务的配置与使用,包括nrOfInstances、nrOfCompletedInstances、nrOfActiveInstances等变量的含义及获取方式。通过实例展示了如何设置多实例的参数、候选人及结束条件,并提供了启动设置userList的代码片段,适用于员工绩效考核、组织活动审批等业务场景。

被折叠的 条评论
为什么被折叠?



