activiti流程变量如何修改

activiti流程变量如何修改,第1张

流程变量的设置方式有两种,一是通过基本类型设置,第二种是通过JavaBean类型设置。

1.基本类型

[java] view plain copy

/**设置流程变量*/

@Test

public void setProcessVariables(){

String processInstanceId = "1301"//流程实例ID

String assignee = "张三"//任务办理人

TaskService taskService = processEngine.getTaskService()//获取任务的Service,设置和获取流程变量

//查询当前办理人的任务ID

Task task = taskService.createTaskQuery()

.processInstanceId(processInstanceId)//使用流程实例ID

.taskAssignee(assignee)//任务办理人

.singleResult()

//设置流程变量【基本类型】

taskService.setVariable(task.getId(), "请假人", assignee)

taskService.setVariableLocal(task.getId(), "请假天数",3)

taskService.setVariable(task.getId(), "请假日期", new Date())

}

添加流程变量

1、在启动流程实例时,可以添加流程变量。

1) 在启动流程实例时,通过重载startProcessInstanceByKey的方法可以加载流程变量。

2) 第二个参数要求是Map<String ,Object>类型,可以添加多个流程变量。

3) 这段代码执行完,会在数据库表act_ru_variable中添加两行记录。

2、在办理任务时,任务办理完成后,要传递一些信息到系统中。这个时候可以利用TaskService这个类来添加流程实例。public void setVar() throws Exception {String processInstanceId = "1901" Task task =taskService.createTaskQuery().taskAssignee("manager").processInstanceId(processInstanceId ).singleResult()//String taskId /** * 在办理过程中设

说明:

1) 利用setVariables方法在任务办理过程中添加一批流程变量。

2) 利用setVariable方法在任务办理过程中添加一个流程变量。

3) TaskService有一个重载 complete方法

3、执行流程实例时直接在Execution上设置流程变量

获取流程变量可以通过runTimeService的方法来获取流程变量。

说明:流程变量是从act_ru_variable这个表中读出来的。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11014650.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存