`
shihukui
  • 浏览: 6487 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论

在Activiti-5.4中实现会签

 
阅读更多



 

 最近正在使用Activiti5.4实现系统中的流程,在发文流程中有会签,研究了两天终于搞定了,现分享出来,以免其他兄弟们走弯路了,其中有不对的欢迎拍砖。

 

1、会签节点策略配置

 

2、流程定义文件中会签节点的配置

<userTask id="usertask2" name="会签" activiti:assignee="${hqr}">
      <extensionElements>
        	<activiti:taskListener event="create" delegateExpression="${counterSignTaskListener}"></activiti:taskListener>
	<activiti:taskListener event="complete" delegateExpression="${counterSignTaskListener}"></activiti:taskListener>
      </extensionElements>
      <multiInstanceLoopCharacteristics isSequential="false" activiti:collection="assigneeList" activiti:elementVariable="hqr">
	<completionCondition>${signVoteResult != 2 }</completionCondition>
      </multiInstanceLoopCharacteristics>
</userTask>

 

 3、counterSignTaskListener代码

package com.flowcenter.listener.task;

import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;

import com.flowcenter.common.service.ISignTaskRuleService;

/**
 * 会签人工任务TaskListener
 * @author ShiHukui
 *
 */
public class CounterSignTaskListener implements TaskListener {
	
	/**
	 * 注入会签规则业务层
	 */
	private ISignTaskRuleService signTaskRuleService;
	public void setSignTaskRuleService(ISignTaskRuleService signTaskRuleService) {
		this.signTaskRuleService = signTaskRuleService;
	}


	public void notify(DelegateTask delegateTask) {
		
		// 事件名称
		String eventName = delegateTask.getEventName();
		
		// 任务相关信息
		String taskId = delegateTask.getId();
		String taskKey = delegateTask.getTaskDefinitionKey();
		String procDefId = delegateTask.getProcessDefinitionId();
		String procInstId = delegateTask.getProcessInstanceId();
		
		// 获取当前UUID
		String signTaskUUID = (String)delegateTask.getVariable("signTaskUUID");
		
		// create 事件
		if("create".equals(eventName)) {
			
			// 获取审核人列表
			String assigneeList = delegateTask.getVariable("assigneeList").toString();
			
			System.out.println("会签人为:"+assigneeList);
			
			// 保存会签人员信息
			signTaskRuleService.saveSignTaskAssignees(taskId , 
													  taskKey , 
													  delegateTask.getName() ,
													  procInstId ,
													  procDefId, 
													  delegateTask.getAssignee(), 
													  signTaskUUID , 
													  assigneeList);
		}
		// complete 事件
		else if("complete".equals(eventName)) {
			
			// 获取投票结果和意见
			String voteResult = (String) delegateTask.getVariable("voteResult");
			String voteOpinion = (String) delegateTask.getVariable("voteOpinion");
			
			// 填充审核人投票信息
			int result = signTaskRuleService.saveSignTaskAssigneeVote(taskId, taskKey, procDefId, procInstId, voteResult, voteOpinion , signTaskUUID);
			
			System.out.println("会签结果为(0:打回,1:通过,2:会签进行中):"+result);
			delegateTask.setVariable("signVoteResult", result);
		}
	}
	
}

 

 

 4、流程图

 

 

 

  • 大小: 6.8 KB
  • 大小: 23.8 KB
1
2
分享到:
评论
8 楼 gzhc_825 2013-02-26  
能不能将你signTaskRuleService中的相关代码页贴出来看看,谢谢!
7 楼 tomsun2283 2012-10-24  
用户任务分配:
List assigneeList = Arrays.asList("zhangsan","lishi","wangwu"); 
variables.put("assigneeList", assigneeList);
6 楼 man1900 2012-07-26  
http://man1900.iteye.com/blog/1607753
5 楼 chxkyy 2012-06-18  
assigneeList 从哪里获取?
4 楼 chxkyy 2012-06-18  
cooperay 写道
貌似有点复杂了 
看看 这个
http://cooperay.iteye.com/admin/blogs/1461385

人家讲的会签,你讲的自动运行,不要误导好不好。
3 楼 cooperay 2012-03-22  
貌似有点复杂了 
看看 这个
http://cooperay.iteye.com/admin/blogs/1461385
2 楼 BigBird2012 2011-11-07  
您好,看到你的会签策略,请加我Q1755610380,有问题请教您!
1 楼 nicholas234 2011-09-19  
能不能将你signTaskRuleService中的相关代码页贴出来看看

相关推荐

    Activiti-5.4中实现会签

    下面我们将详细探讨如何在Activiti-5.4中实现会签以及相关的技术细节。 首先,理解会签的概念。在工作流中,会签是指一个任务可以被分配给多个用户或组,每个参与者都可以独立完成任务,而无需等待其他人的操作。在...

    activiti-engine-5.4.jar.zip

    本文将详细探讨Activiti Engine 5.4版本,特别是其核心组件`activiti-engine-5.4.jar`,以及如何在项目中进行依赖和应用。 一、Activiti Engine概述 Activiti Engine是Alfresco公司推出的一款轻量级工作流引擎,它...

    activiti-engine-5.4-sources.jar.zip

    在 `activiti-engine-5.4-sources.jar` 中,流程定义被存储在数据库中,由 RepositoryService 管理。这些定义包含了流程图、泳道、任务节点、事件、网关等元素,定义了流程的执行逻辑。 4. **流程实例(Process ...

    activiti-engine-5.21.0-API文档-中文版.zip

    赠送jar包:activiti-engine-5.21.0.jar; 赠送原API文档:activiti-engine-5.21.0-javadoc.jar; 赠送源代码:activiti-engine-5.21.0-sources.jar; 赠送Maven依赖信息文件:activiti-engine-5.21.0.pom; 包含...

    activiti-6.0.0.zip

    activiti-6.0.0.zip 工作流官网包 (如果没有积分可以直接Q我:499384808,免费分享) 1. database里放着各种数据库的建表、删表、升级语句数据库包括db2、h2、hsql、mssql、mysql、oracle、postgres 2. libs 相关...

    activiti-json-converter-5.21.0-API文档-中英对照版.zip

    赠送jar包:activiti-json-converter-5.21.0.jar; 赠送原API文档:activiti-json-converter-5.21.0-javadoc.jar; 赠送源代码:activiti-json-converter-5.21.0-sources.jar; 赠送Maven依赖信息文件:activiti-...

    activiti-5.22.0官方版本 用于activiti-explorer.zip

    6. **版本控制**:在 activiti-5.22.0 中,你可以管理不同版本的流程定义,方便在流程改进或迭代时回滚到早期版本。 7. **安全性**:Activiti Explorer 支持基于角色的访问控制,确保只有授权的用户可以访问和操作...

    activiti-explorer-eclipse项目

    总结来说,activiti-explorer-eclipse项目为Eclipse开发人员提供了一站式的解决方案,以便他们在IDE内实现和管理基于Activiti的工作流程。通过这个项目,开发者不仅可以更高效地设计流程,还可以在本地环境中便捷地...

    activiti-image-generator-5.21.0-API文档-中文版.zip

    赠送jar包:activiti-image-generator-5.21.0.jar; 赠送原API文档:activiti-image-generator-5.21.0-javadoc.jar; 赠送源代码:activiti-image-generator-5.21.0-sources.jar; 赠送Maven依赖信息文件:activiti-...

    Activiti-APP最全汉化包

    这个“Activiti-APP最全汉化包”是专门为Activiti的应用程序界面提供了完整的中文本地化支持,使得国内用户在使用过程中能够更加方便地理解和操作。 在 Activiti 的应用中,汉化包的重要性不言而喻。对于非英语背景...

    activiti-json-converter-5.21.0-API文档-中文版.zip

    赠送jar包:activiti-json-converter-5.21.0.jar; 赠送原API文档:activiti-json-converter-5.21.0-javadoc.jar; 赠送源代码:activiti-json-converter-5.21.0-sources.jar; 赠送Maven依赖信息文件:activiti-...

    activiti-app6.0汉化版

    activiti-app6.0汉化版,对界面进行汉化,流程设计器里的英文无法汉化,没有对应的国际化文件

    activiti-app6-汉化.zip

    activiti6的流程设计汉化,解压后将里面的activiti-app放入tomcat中运行就可以了。默认使用的H2,如果要使用mysql等其它数据库需要修改activiti-app\WEB-INF\classes\META-INF\activiti-app包下的activiti-app....

    activiti-app6.0中文版.zip

    在部署和运行Activiti App之前,用户需要配置数据库连接信息,通常是在` activiti-app.properties` 或其他配置文件中。 7. **权限与角色管理**:Activiti App 提供了角色和权限的管理功能,允许管理员设置不同的...

    activiti-common-rest-5.21.0-API文档-中英对照版.zip

    赠送jar包:activiti-common-rest-5.21.0.jar; 赠送原API文档:activiti-common-rest-5.21.0-javadoc.jar; 赠送源代码:activiti-common-rest-5.21.0-sources.jar; 赠送Maven依赖信息文件:activiti-common-rest-...

    activiti-bpmn-model-5.21.0-API文档-中文版.zip

    赠送jar包:activiti-bpmn-model-5.21.0.jar; 赠送原API文档:activiti-bpmn-model-5.21.0-javadoc.jar; 赠送源代码:activiti-bpmn-model-5.21.0-sources.jar; 赠送Maven依赖信息文件:activiti-bpmn-model-...

    activiti-image-generator-5.21.0-API文档-中英对照版.zip

    赠送jar包:activiti-image-generator-5.21.0.jar; 赠送原API文档:activiti-image-generator-5.21.0-javadoc.jar; 赠送源代码:activiti-image-generator-5.21.0-sources.jar; 赠送Maven依赖信息文件:activiti-...

    activiti-5.22.0zip下载

    标题中的 "activiti-5.22.0zip下载" 指的是Activiti的一个特定版本——5.22.0的压缩包文件,通常包含了该版本的所有源码、库文件、文档和示例。 在Activiti 5.22.0中,主要包含以下几个关键知识点: 1. **Activiti...

    activiti-crystalball-5.21.0-API文档-中文版.zip

    赠送jar包:activiti-crystalball-5.21.0.jar; 赠送原API文档:activiti-crystalball-5.21.0-javadoc.jar; 赠送源代码:activiti-crystalball-5.21.0-sources.jar; 赠送Maven依赖信息文件:activiti-crystalball-...

Global site tag (gtag.js) - Google Analytics