`
Algernoon
  • 浏览: 22815 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

activiti流程变量的设置和获取

 
阅读更多

流程变量的设置通过map键值对设置

package com.liuzm.activiti.day2;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.task.Task;
import org.junit.Test;

/**
 * 流程变量
 *  1.启动流程
 *	2.设置流程变量
 *	3.获取流程变量
 */
public class ProcessVarTest {
	private ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
	// 1.启动流程
	@Test
	public void startProcess() throws Exception {
		//获取服务对象
		RuntimeService runtimeService = processEngine.getRuntimeService();
		//通过流程定义ID开启流程实例,同时添加流程变量
		String processDefinitionId = "myProcess:3:604";
		Map<String,Object> variables = new HashMap<String,Object>();
		variables.put("提示信息", "开启请假流程!!!");
		runtimeService.startProcessInstanceById(processDefinitionId, variables);
	}
	
	// 2.设置流程变量
	@Test
	public void setVar() throws Exception {
		//获取服务对象
		TaskService taskService = processEngine.getTaskService();
		//查询任务
		String assignee = "范爷";
		List<Task> list = taskService.createTaskQuery().taskAssignee(assignee).list();
		//获取到第一个任务
		Task task = list.get(0);
		String taskId = task.getId();
		//设置流程变量--->通过taskService可以多次设置流程变量,并且可通过Map批量设置
		//taskService.setVariable(taskId, "请假人", assignee);  //存储到Text1列
		//taskService.setVariable(taskId , "请假时间", new Date());//转化为时间戳,存储到Long列
		taskService.setVariable(taskId, "是否要扣薪资", true);//存储到Long列,存1
		taskService.setVariable(taskId, "要扣薪资", 333.33);//存储到DOUBLE列
	}
	
	// 3.获取流程变量
	@Test
	public void getVar() throws Exception {
		//获取服务对象
		TaskService taskService = processEngine.getTaskService();
		//获取任务,从而得到任务ID
		String assignee = "范爷";
		List<Task> list = taskService.createTaskQuery().taskAssignee(assignee).list();
		Task task = list.get(0);
		String taskId = task.getId();
		//获取流程变量
		Map<String, Object> variables = taskService.getVariables(taskId );
		System.out.println(variables);
	}

}

 

 

分享到:
评论

相关推荐

    最新Activiti视频教程,包含视频、源码、IDE集成Activiti插件、Activiti-5.22.0的pdm数据库表结构文件、教程菜单

    04 - Activiti流程变量 1.流程变量的概念 2.使用TaskService设置和获取流程变量 3.局部流程变量 4.使用RuntimeService设置和获取流程变量 5.启动流程的时候设置流程变量 6.完成任务的时候设置流程变量 05 - ...

    Activiti工作流笔记.chm

    9.6:模拟流程变量的设置和获取的场景 34 9.7:查询历史的流程变量 35 9.8:流程变量的支持的类型 35 9.9:总结 35 10:流程执行历史记录 36 10.1:查询历史流程实例 36 10.2:查询历史活动 37 10.3:查询历史任务 ...

    Activiti5.13用户手册.zip

    创建一个新的二进制流程变量 - URL参数 15.85. 创建一个新的二进制流程变量 - 响应码 15.86. 更新一个二进制的流程实例变量 - URL参数 15.87. 更新一个二进制的流程实例变量 - 响应码 15.88. 获取一个分支 - ...

    Activiti5实现任务撤回,任意跳转(代码+注释 spring-activiti-withdraw.zip)

    activiti没有撤回,由于业务的需求需要实现撤回,在参考别人代码后以两种方式实现了任意节点的跳转。代码真实可用,如有问题可联系我 第一种方式: 1、获取当前节点,获取跳转节点 2、获取节点的所有流出流向,把...

    Activiti6.0教程例子下载

    6. ManagementService: ManagementService提供了对Activiti流程引擎的管理和维护功能,这些功能不在工作流驱动的应用程序中使用,主要用于Activiti系统的日常维护。 7. HistoryService: HistoryService用于获取正在...

    Spring boot整合activiti工作流引擎

    11、对于表单的处理,一律使用外置表单,将业务表单数据保存在业务表中,不保存在activiti流程的变量表中。 111、前端页面与用户任务通过formkey进行关联,办理任务时,通过获取formkey值展示对应的前端页面。 1111...

    xmljava系统源码-Activiti:SpringBoot2.0&Activiti6.0

    提供了启动流程、查询流程实例、设置获取流程实例变量等功能。此外它还提供了对流程部署,流程定义和流程实例的存取服务。 TaskService: 在 Activiti 中业务流程定义中的每一个执行节点被称为一个 Task,对流程中的...

    Java EE常用框架.xmind

    运行时服务和流程任务都可以设置流程变量。 连线 通过连线我们可以在其中设置条件,根据不同的条件流程走不同的分支 排他网关 SpringData JPA 简介 API Repository接口 ...

    Activiti5用户指南(中文版)

    Activiti5用户指南(中文版) 第一章、简介 ....................................................................................................................................................................

Global site tag (gtag.js) - Google Analytics