Activiti 7.x 流程变量的设置并使用

2020-03-01  本文已影响0人  MaJiT

设置流程变量时受影响的表:
1.act_ru_variable (运行时变量表)
2.act_ge_bytearray (流程定义的资源文件)

1.启动流程定义时把我们的对象作为流程变量设置进去

        //1.得到ProcessEngine
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

        //2.得到RuntimeService
        RuntimeService runtimeService =  processEngine.getRuntimeService();

        //3.流程定义的key问题   myProcess_1
        String key = "myProcess_1";
        Map<String ,Object> map = new HashMap<>();
        //此对象作为流程变量(注意:POJO类型,一定要实现Serializable接口,否则在存储这个pojo时就会报异常)
        Holiday holiday = new Holiday();
        holiday.setNum(5F);
        map.put("holiday",holiday);

        //4.启动流程实例,并且设置流程变量的值
        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(key, map);

        //5.输出实例信息
        System.out.println(processInstance.getName());
        System.out.println(processInstance.getProcessDefinitionId());

2.我们流程完成部门经理审批完需要判断流程变量中的num值,num>3 总经理审核

image.png

流程变量的使用我们写在流程定义中


image.png
image.png

3.其他几种流程变量的设置方式

1.taskService.complete(task.getId(),map);//完成任务时,设置流程变量的值
2.runtimeService.setVariable("2501","holiday",holiday);
3.runtimeService.setVariable("2501",map); 一次设置多个流程变量

上一篇 下一篇

猜你喜欢

热点阅读