Activiti进阶(四)——流程变量的设置和获取

本文详细介绍了在Activiti中如何设置和获取流程变量,包括基本类型和JavaBean类型的设置方法,以及如何查询历史流程变量。流程变量在工作流中至关重要,通过设置不同类型的变量并了解其在数据库中的存储方式,能更好地掌握流程实例的运行状态。
摘要由CSDN通过智能技术生成

流程变量在整个工作流中扮演很重要的作用。例如:请假流程中有请假天数、请假原因等一些参数都为流程变量的范围。流程变量的作用域范围是只对应一个流程实例。也就是说各个流程实例的流程变量是不相互影响的。这篇博文就简单的为大家介绍下流程变量的设置和获取。

 

     一、设置流程变量

 

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

 

     1.基本类型

 

 

  1. /**设置流程变量*/  
  2. @Test  
  3. public void setProcessVariables(){  
  4.     String processInstanceId = "1301";//流程实例ID  
  5.     String assignee = "张三";//任务办理人  
  6.     TaskService taskService = processEngine.getTaskService();//获取任务的Service,设置和获取流程变量  
  7.       
  8.     //查询当前办理人的任务ID  
  9.     Task task = taskService.createTaskQuery()  
  10.             .processInstanceId(processInstanceId)//使用流程实例ID  
  11.             .taskAssignee(assignee)//任务办理人  
  12.             .singleResult();  
  13.       
  14.     //设置流程变量【基本类型】  
  15.     taskService.setVariable(task.getId(), "请假人", assignee);  
  16.     taskService.setVariableLocal(task.getId(), "请假天数",3);  
  17.     taskService.setVariable(task.getId(), "请假日期"new Date());  
  18.       
  19.       
  20. }  
	/**设置流程变量*/
	@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());
		
		
	}

     

     对应数据库表:act_ru_variable

     

 

             2.JavaBean类型

 

     首先,定义JavaBean类。

 

[java]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值