/** ?* 博客 https://blog.52itstyle.vip ?*/ <subProcess id="subprocess" name="合同评审"> ? ? ? <multiInstanceLoopCharacteristics isSequential="false" activiti:collection="assigneeList" activiti:elementVariable="assignee"> ? ? ? ? <completionCondition>${nrOfCompletedInstances/nrOfInstances==1}</completionCondition> ? ? ? </multiInstanceLoopCharacteristics> ? ? ? <!--省略相关任务节点代码--> </subProcess> collection:存放集合,集合中可以存任意值,工作流会根据你集合里的值个数,去生成对应的子流程,这里我们存放一级审批的用户ID。 elementVariable:节点流程变量,用于在流程图中代替集合中表示当前子流程的变量,对应子流程中第一个任务节点的变量名。 completionCondition:完成条件,这里写的表达式如果满足即可流转到下一步。 ?
//4个部门审核,生成4个流程,集合中获取并存放的是一级评审人 List<String> assigneeList= Arrays.asList(new String[] {"1","2","3","4"}); variables.put("assigneeList", assigneeList); ProcessInstance in = ?runtimeService.startProcessInstanceByKey("contract_review", variables);
?
|