动态任务

当流程节点存在不确定时,可以使用动态任务,他可以根据实例情况动态生成指定数量的任务,并且支持自定义这些任务的名字。

配置页

配置项说明

动态任务生成方式

  • 通过候选人生成 : 即通过当前节点配置的节点人员进行动态生成多任务,每个人一个任务,依次串行执行
  • 用过Groovy脚本方式生成:通过脚本自定义任务数,以及任务名

  • 自定义动态任务:为groovy脚本需要返回 List 对象

自定义动态任务 脚本案例:


/**
* 动态任务测试脚本
* @return
*/
public List<DynamicTaskIdentitys> testDynamicTask(){
List<DynamicTaskIdentitys> dynamicTask = new ArrayList<DynamicTaskIdentitys>();

// 任务1
List<SysIdentity> identitys = new ArrayList<>();
identitys.add(new DefaultIdentity("1", "管理员",SysIdentity.TYPE_USER ));

dynamicTask.add(new DynamicTaskIdentitys("动态任务①", identitys));


// 任务2
List<SysIdentity> identitys2 = new ArrayList<>();
identitys2.add(new DefaultIdentity("1", "管理员2",SysIdentity.TYPE_USER ));

dynamicTask.add(new DynamicTaskIdentitys("动态任务②", identitys2));


return dynamicTask;
}

自定义动态任务 脚本支持传入 插件变量的所有值作为入参如:
调用常用脚本时传入Demo业务对象:testScript.testDynamicTask(Demo);

是否并行

当前版本尚不支持该配置,您可以考虑使用会签插件代替并行动态任务的场景。

注意事项

请注意

动态任务中不支持自由指定下一步候选人,不支持驳回到指定节点(但是支持自由驳回)

流程图效果

点击展开后效果