`
Algernoon
  • 浏览: 23645 次
  • 性别: 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 学习笔记五:流程变量

    Activiti 是一个开源的工作流引擎,它用于自动化业务流程。在 Activiti 中,流程变量是流程实例中的...在 "Activiti Study" 文件中,你可能能找到更多关于如何操作和使用流程变量的实例和代码示例,进一步加深理解。

    activiti流程图查看demo

    这个"activiti流程图查看demo"是一个示例项目,旨在帮助用户理解如何在Activiti中查看和操作流程图。在本篇文章中,我们将深入探讨Activiti的核心概念、流程图的查看方法以及如何利用diagram-viewer工具来实现这一...

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

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

    Activiti 学习笔记六:流程执行历史记录

    Activiti 提供了 API 和 SQL 查询来获取和分析历史数据。开发者可以基于特定条件,如流程实例ID、任务ID、变量值等进行查询,从而获取定制化的报表和分析结果。例如,可以统计某段时间内某个任务的平均处理时长,...

    activiti原型和代码

    5. **流程变量的管理**:设置、获取和更新流程中的变量,这些变量可以用来传递信息和控制流程行为。 6. **监听器和事件**:注册监听器来跟踪流程实例或任务的生命周期事件,如创建、完成、删除等。 7. **流程查询*...

    Activiti_安装和demo

    3. 配置环境变量:设置ACTIVITI_HOME指向解压后的目录,并在PATH中添加%ACTIVITI_HOME%\bin。 4. 启动:运行bin目录下的start activiti.bat(Windows)或start activiti.sh(Unix/Linux)启动命令。 【运行示例】:...

    Activiti7(流程引擎)简单笔记,附带作者执行的Demo代码文件

    - **流程变量**:用于在流程实例中存储数据的临时存储,可以在不同任务之间传递信息。 - **任务(Task)管理**:如何获取当前用户的待办任务,如何完成任务,以及任务委托和分配。 - **监听器(Listener)**:可以...

    Activiti学习笔记三:管理流程定义

    此外,Activiti提供了丰富的API来查询和控制流程实例,例如获取当前活动任务、完成任务、跳过任务、退回任务等。同时,流程定义还可以通过表达式、决策表(Drools)等方式实现动态决策,使得流程更加灵活。 在流程...

    activiti-5.22.0&Activiti-activiti-5.22.0.zip

    BPMN 2.0还提供了对流程变量、事件驱动、并发处理和流程实例的生命周期管理等功能。 3. **流程定义插件**: 描述中提到的“流程定义插件”可能是指用于图形化设计和编辑流程的工具,如Activiti Modeler。这种工具...

    activiti 会签投票统计

    Activiti 是一个开源的工作流和业务自动化引擎,广泛应用于企业级流程管理。在这个主题中,"activiti 会签投票统计" 涉及到 Activiti 的特定功能,特别是会签(Parallel Multi-instance)和自定义事件监听器,用于...

    activiti流程说明

    6. **变量管理**:在流程执行过程中,可以设置和获取流程变量,这些变量可以用来传递信息和控制流程的走向。 7. **监听器与事件**:Activiti支持监听器机制,可以监听流程的各种事件,如任务创建、任务完成、流程...

    Activiti6.0 用户手册说明文档1

    Activiti 是一个开源的工作流和业务自动化引擎,广泛应用于企业级应用中,处理流程的建模、部署和执行。在Activiti6.0用户手册中,我们主要关注以下几个核心概念和知识点: 1. **流程定义 (Process Definitions)**...

    Activiti流程用户使用手册

    ### Activiti流程用户使用手册知识点概述 #### 一、Activiti 概览 - **版本信息**:Activiti 5.13版本。 - **环境要求**:支持JDK 6及以上版本,适用于Eclipse Indigo及后续版本(如Juno)。 - **功能概述**:...

    activiti.rar

    3. **RuntimeService**: 用于启动流程实例和处理流程变量。 4. **TaskService**: 处理任务相关操作,如领取任务、完成任务、查询任务等。 5. **FormService**: 提供表单相关的操作,如获取表单字段、提交表单数据。 ...

    出差流程后台系统-基于activiti

    - **DAO层**: 与数据库交互,获取和更新流程相关数据。 - **配置类**: 配置Activiti与Spring Boot的整合,包括数据源、事务管理等。 5. **安全性与权限控制** - 使用Spring Security或者自定义的权限管理,确保...

    Activiti5.15中文版操作手册

    2. 运行时服务:负责流程实例的启动、暂停、恢复、完成等操作,以及流程变量的管理和查询。 3. 历史服务:记录流程实例的运行历史,便于审计和分析。 4. 表单服务:与用户界面交互,处理表单数据的提交和显示。 5. ...

    Activiti工作流面试相关知识

    Activiti工作流引擎是一款开源的企业级业务流程管理(BPM)和工作流系统,它为组织提供了一种灵活、可扩展的方式来设计、执行和管理业务流程。在面试中,了解Activiti的核心服务对于理解其工作原理和实际应用至关...

    整合Activiti 5.22 工具包

    - 变量操作:允许在流程实例中设置、获取和删除变量的类,如VariableService。 - 任务操作:处理与用户任务相关的操作,如创建、完成和查询任务。 - 事件监听:通过实现接口或使用监听器类,可以监听流程运行过程...

    activiti-demo

    "activiti-demo" 可能展示了如何设置和获取这些变量,以及它们在流程执行中的作用。 8. **事件监听器**:Activiti 提供了事件监听器机制,允许自定义代码在特定事件(如流程启动、任务完成等)发生时执行。这在日志...

    基于activiti的采购审批流程

    例如,可能会有专门用来获取当前任务的工具类,或者用于启动和结束流程实例的工具类。这些工具类可以使代码更加模块化,提高可读性和复用性。 在注释方面,清晰的注释是保证其他开发者能够快速理解和维护代码的关键...

Global site tag (gtag.js) - Google Analytics