activiti 排他网管 :判断流程走向(十四)

原创 2016年05月30日 19:45:30





package com.base.pf.m150workflow.f070task.controller;

import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;
import org.activiti.engine.impl.el.FixedValue;
import org.springframework.web.context.ContextLoader;
import org.springframework.web.context.WebApplicationContext;

import com.base.pf.m150workflow.f070task.service.TasksService;
import com.base.pf.m150workflow.f070task.service.VariableService;

/**
 * 排他网管:执行监听<br/>
 * 该类是为了根据业务ID,表名,字段,查询该业务值,来判断流程走向
 * 
 * @author ZHEN.L
 * 
 */
public class GateWayTaskListiner implements ExecutionListener {

	private static final long serialVersionUID = 102702298968012874L;

	private VariableService variableService;
	private TasksService tasksService;

	private FixedValue tableName; // 同流程图中名称
	private FixedValue tableField; // 同流程图中字段名称

	public void notify(DelegateExecution task) throws Exception {
		String table = String.valueOf(tableName.getValue(task));
		String field = String.valueOf(tableField.getValue(task));
		WebApplicationContext context = ContextLoader
				.getCurrentWebApplicationContext();
		tasksService = (TasksService) context.getBean("tasksService");
		variableService = (VariableService) context.getBean("variableService");
		String bussinessId = tasksService
				.findBussinessIdByProcessInstanceId(task.getProcessInstanceId());
		Object value = variableService.findVariable(table, field, bussinessId);
		task.setVariable(field, value);
	}

	public FixedValue getTableName() {
		return tableName;
	}

	public void setTableName(FixedValue tableName) {
		this.tableName = tableName;
	}

	public FixedValue getTableField() {
		return tableField;
	}

	public void setTableField(FixedValue tableField) {
		this.tableField = tableField;
	}

}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Activiti进阶(七)——排他网关(ExclusiveGateWay)

上一篇博文我们简单介绍了一下连线,也分析了一种情况,就是在工作流中,用户任务下面有两个连线,如何选择工作流的进程。这一篇博文和上一篇博文讨论的主题类似,解决上一篇博文中有多个连线分支的情况,我们可以使...
  • zjx86320
  • zjx86320
  • 2015年12月20日 15:52
  • 14207

activiti入门3排他网关,并行网管,包含网关,事件网关

网关用来控制流程的流向 网关可以消费也可以生成token。 网关显示成菱形图形,内部有有一个小图标。 图标表示网关的类型。 这里主要 介绍下 排他网关, 并行网关 , 和包含网关...

关于activiti的判断点的特殊问题

在activiti中有个判断点,对你的流程进行分支,但是有可能出现判断点过来的值,既不满足左边分支,又不满足右边分支。出现这个情况要如何使流程继续走下去呢? 这个是bpmn的一张截图,上面条件判断...
  • AILAN_
  • AILAN_
  • 2015年11月27日 11:36
  • 2129

activiti实战系列 排他网关(ExclusiveGateWay)

流程图     12.2:部署流程定义+启动流程实例 12.3:查询我的个人任务   12.4:完成我的个人任务 说明: 1)     一个排他网关对应...

工作流框架--activiti(四)--排他网关和并行网关

接下来介绍activiti的排他网关和并行网关: 排他网关(ExclusiveGateway):       用来在流程中实现决策。当流程执行到排他网关,所有数据就会被执行一遍,满足条件的就会...

activiti TaskListener用法(十三)

package com.base.pf.m150workflow.f010deployment.controller; import java.util.List; import org.acti...

Activiti排他网关

执行到该网关,根据条件只能走一条执行线路; 根据请假天数,来具体让谁来审批, 请假天数小于3天,项目组长审批; 请假天数小于7天,大于等于3天,项目经理审批; 请假...

Activiti学习之根据条件判断流程走向

在流程设计当中经常会遇到根据条件来判断流程走向的问题,Activiti中也给出了相应的实现方法:网关。  网关(Gateway)用于控制流程走向(在BPMN2.0规范中称为“执行令牌”)。根据功能不...
  • hiphopC
  • hiphopC
  • 2017年08月02日 14:24
  • 429

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Activiti进阶(五)——流程执行历史记录

之前的几篇文章,为大家简单的介绍了部署流程定义、启动流程实例、查看和办理个人任务以及如何设置和获取流程变量,这一系列的活动组成了一个完整的执行流程,那么一个执行完的流程我们如何查看相关的定义呢,这篇博...
  • zjx86320
  • zjx86320
  • 2015年12月20日 12:15
  • 13865
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:activiti 排他网管 :判断流程走向(十四)
举报原因:
原因补充:

(最多只允许输入30个字)