需求
目前还不清楚什么时候会用到局部变量,因为该变量的生命周期很短暂,声明周期为方法范围内,方法结束,变量失效。也许只是用它来变化全局变量吧!比如:全局变量a,局部变量b,每次执行c任务的时候,会对b变量赋值,并且a = a+b,这个时候,局部变量就起到了作用,个人理解啊。。。如果有知道的欢迎留言
涉及到表
act_hi_varinst:流程变量表
act_ru_variable:当前流程表
第一种方式:
//完成提交采购单任务的时候设置局部变量
@Test
public void completeTaskSetLocalVariable(){
//查询任务使用taskservice
TaskService taskService = processEngine.getTaskService();
//任务id
String taskId = "4802";
//任务办理人
String assignee = "zhaoliu";
//根据任务id和assignee查询该任务
Task task = taskService
.createTaskQuery()
.taskId(taskId)
.taskAssignee(assignee)
.singleResult();
if (task != null) {
//完成任务时设置流程变量,使用pojo
OrderCustom orderCustom = new OrderCustom();
orderCustom.setPrice(10000f);
Map<String, Object> varaibles = new HashMap<String,Object>();
varaibles.put("order", orderCustom);
//设置局部变量
taskService.setVariablesLocal(taskId, varaibles);
taskService.comple