最近正在使用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
分享到:
相关推荐
NULL 博文链接:https://mydownload.iteye.com/blog/1329488
标签:activiti-engine-5.4-sources.jar.zip,activiti,engine,5.4,sources,jar.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-engine-5.4.jar.zip,activiti,engine,5.4,jar.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-...
赠送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-...
activiti6的流程设计汉化,解压后将里面的activiti-app放入tomcat中运行就可以了。默认使用的H2,如果要使用mysql等其它数据库需要修改activiti-app\WEB-INF\classes\META-INF\activiti-app包下的activiti-app....
activiti-6.0.0.zip 工作流官网包 (如果没有积分可以直接Q我:499384808,免费分享) 1. database里放着各种数据库的建表、删表、升级语句数据库包括db2、h2、hsql、mssql、mysql、oracle、postgres 2. libs 相关...
赠送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-...
赠送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-app6.0汉化版,对界面进行汉化,流程设计器里的英文无法汉化,没有对应的国际化文件
赠送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-explorer-eclipse项目
activiti-5.22.0zip下载
赠送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-...
赠送jar包:activiti-process-validation-5.21.0.jar; 赠送原API文档:activiti-process-validation-5.21.0-javadoc.jar; 赠送源代码:activiti-process-validation-5.21.0-sources.jar; 赠送Maven依赖信息文件:...
赠送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-bpmn-converter-5.18.0-sources.jar
activiti-designer-5.18.0.zip 官方 activiti-designer-5.18.0.zip 官方 activiti-designer-5.18.0.zip 官方