大连网站 设计公司,获取客户信息的渠道有哪些,杭州网页设计公司招聘,深圳seo教程1.背景#xff1a; 由于在日常情况下#xff0c;我们的多实例要动态添加人员的场景#xff0c;有没有这样的api呢#xff1f;新的flowable有这样的功能。
2.具体实现 xml
userTask idmiTasks nameMy Task ${loopCounter} activiti:assignee 由于在日常情况下我们的多实例要动态添加人员的场景有没有这样的api呢新的flowable有这样的功能。
2.具体实现 xml
userTask idmiTasks nameMy Task ${loopCounter} activiti:assignee${assignee}multiInstanceLoopCharacteristics isSequentialfalseloopDataInputRefassigneeList/loopDataInputRefinputDataItem nameassignee /completionCondition${nrOfCompletedInstances/nrOfInstances 0.6 }/completionCondition/multiInstanceLoopCharacteristics/userTask
3.具体实现
ListString assigneeList Arrays.asList(kermit, gonzo, mispiggy, fozzie, bubba);
String procId runtimeService.startProcessInstanceByKey(miParallelUserTasksBasedOnCollection, CollectionUtil.singletonMap(assigneeList, assigneeList)).getId();Listorg.flowable.task.api.Task tasks taskService.createTaskQuery().orderByTaskAssignee().asc().list();
assertEquals(5, tasks.size());
assertEquals(bubba, tasks.get(0).getAssignee());
assertEquals(fozzie, tasks.get(1).getAssignee());
assertEquals(gonzo, tasks.get(2).getAssignee());
assertEquals(kermit, tasks.get(3).getAssignee());
assertEquals(mispiggy, tasks.get(4).getAssignee());runtimeService.addMultiInstanceExecution(miTasks, procId, Collections.singletonMap(assignee, (Object) johndoe));
tasks taskService.createTaskQuery().orderByTaskAssignee().asc().list();
assertEquals(6, tasks.size());
说明 runtimeService.addMultiInstanceExecution(要加签的节点id,流程实例id, Collections.singletonMap(“单个对象的别名”, (Object) “对象值”));