原文地址:https://blog.csdn.net/u013026207/article/details/53405265
官方提供了三种不同的方法
简单讲一下区别
1.complete(String taskId)
参数:taskId
作用:直接完成此次正在运行的任务,对用ac_ru_task表
2.complete(String taskId, Map<String,Object> variables)
参数:taskId(对应act_ru_task中的id_),variables(下一次任务所需要的参数)
作用:完成这一次任务,并且下一步任务需要流程变量的
上图所示则为variables所要填充的参数
3.complete(String taskId, Map<String,Object> variables, boolean localScope)
参数:taskId(对应act_ru_task中的id_),variables(下一次任务所需要的参数),localScope(存储范围:本任务)
作用:同第二个,加上存储范围的设置
localScope官方解释:If true, the provided variables will be stored task-local, instead of process instance wide (which is the default for complete(String, Map)).(如果为true,通过的变量将会随着本任务存亡(本任务结束,变量删除,称之为任务变量(局部)),默认为false,即为complete(String,Map) 那么这时候的变量为流程变量(全局))