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中条件分支根据日期类型进行判断的特殊处理

审批流需求要求根据条件分支从而控制流程跳转。如果在条件分支中添加的el表达式中的字段类型是日期型的数据。 在单据进行提交时,需要将单据对应的日期字段的值设置转为日期类型的。 测试发现设置日期的格式...
  • JaneApple820
  • JaneApple820
  • 2017年07月11日 19:15
  • 433

Activiti排他网关

执行到该网关,根据条件只能走一条执行线路; 根据请假天数,来具体让谁来审批, 请假天数小于3天,项目组长审批; 请假天数小于7天,大于等于3天,项目经理审批; 请假...
  • lifupingcn
  • lifupingcn
  • 2017年03月14日 16:14
  • 1886

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

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

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

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

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

流程图     12.2:部署流程定义+启动流程实例 12.3:查询我的个人任务   12.4:完成我的个人任务 说明: 1)     一个排他网关对应...
  • qq_30739519
  • qq_30739519
  • 2016年04月16日 08:39
  • 26003

activiti工作流06-任务分支

不是每一个任务完成后都可以直接进行到下一个用户任务,在这中间,我们往往需要进行的是分支的判断。 举个很简单的例子,在一个请假流程中,张三提出请假申请,若请假天数 任务分支节点在绘图工具...
  • haiminhuang
  • haiminhuang
  • 2016年08月18日 16:16
  • 3063

Activiti 学习笔记十:开始活动节点(判断流程是否结束及查询历史)

一、流程图 二、演示代码package jiankunking.start;import java.io.InputStream;import org.activiti.engine.Process...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2016年09月11日 10:47
  • 4804

Activiti排他网关

执行到该网关,根据条件只能走一条执行线路; 根据请假天数,来具体让谁来审批, 请假天数小于3天,项目组长审批; 请假天数小于7天,大于等于3天,项目经理审批; 请假...
  • lifupingcn
  • lifupingcn
  • 2017年03月14日 16:14
  • 1886

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

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

activiti 快速入门--排他网关(3)

activiti快速入门 --排他网关 例如我们有这么个需求,也就是请假大于等于3天的不仅需要经理审批还需要总经理审批,小于3天的直接由经理审批就可以了...
  • u011320740
  • u011320740
  • 2016年11月01日 16:44
  • 933
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:activiti 排他网管 :判断流程走向(十四)
举报原因:
原因补充:

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