activiti 会签实例开发
之前的任务负责人Assignee都是一个,而任务可以有多个人有权限审批,只要其中有一部分人完成审批任务就算整个任务完成。同一个任务需要多个负责人来完成被称之为“会签”。
会签会签会签会签
我们现在改一下需求;部门领导需要两位或者两位以上。
比如 我提交了请假申请需要部门的王经理和李经理和张经理审核通过之后 才让人事审批。
ps:发起流程 查询下一级的审核人->设置审核人->相关审核人查询需要自己处理的事务。
@Test
public void testStart() {
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
Deployment deploy = processEngine.getRepositoryService()
.createDeployment()
.addClasspathResource("bpmn/multiInstance.bpmn")
.name("会签")
.deploy();
Map<String, Object> variables = new HashMap<>();
variables.put("approveUserList", Arrays.asList("zhagnsan", "lisi", "wangwu"));
processEngine.getRuntimeService()
.startProcessInstanceByKey("multiInstance", variables);
}
//
approveUserList是一个需要进行审批的经理的列表。
在使用runtimeService.startProcessInstanceByKey(String processDefinitionKey, String businessKey, Map<String, Object> variables)发起流程时,需要将业务数据存入act_hi_varinst(流程已结束)与act_ru_variable(流程未结束)这两个表中.如下图: