工作流学习——Activiti流程变量设置与获取

参考链接:[url]http://blog.csdn.net/zwk626542417/article/details/46648139[/url]
1、设置Java Bean 的流程变量
    /** 
* 当一个javaBean(实现序列号)放置到流程变量中,要求javabean的属性不能在发生变化 如果发生变化,再获取时,抛出异常
*
* 解决方案:在person对象中添加: private static final long
* serialVersionUID="6757393795687480331L"; 同时实现序列号接口
*
*/
Person p = new Person();
p.setName("翠花");
p.setId(20);
p.setDate();;
p.setNote("回去探亲,一起吃个饭123");
taskService.setVariable(taskId, "人员信息(添加固定版本)", p);


2、获取流程变量

    Person p = (Person)taskService.getVariable(taskId, "人员信息(添加固定版本)");  
System.out.println(" 请假人: "+p.getName()+" 请假天数: "+p.getId()+" 请假时间:"+ p.getDate()+ " 请假原因: "+p.getNote());


3、查询历史流程变量

可以根据变量名称查询该变量的所有历史信息
/**
* 查询流程变量的历史表
*/
@Test
public void findHistoryProcessVariables(){
List list = processEngine.getHistoryService()
.createHistoricVariableInstanceQuery()//创建一个历史的流程变量查询对象
.variableName("请假原因")
.list();
if (list!=null &&list.size()>0) {
for (HistoricVariableInstance hvi : list) {
System.out.println(hvi.getId()+" "+hvi.getProcessInstanceId()+" "+hvi.getVariableName()
+" "+hvi.getVariableTypeName()+" "+hvi.getValue());
System.out.println("########################################");
}
}

}

你可能感兴趣的:(工作流学习——Activiti流程变量设置与获取)