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

参考链接: http://blog.csdn.net/zwk626542417/article/details/46648139
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<HistoricVariableInstance> 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("########################################");  
        }  
    }  
  
}  

猜你喜欢

转载自liuzidong.iteye.com/blog/2378955