activiti工作流会签功能的实现
需求:统计会签部门的审核情况然后决定下一步流程的走向;
逻辑实现:
1、设置一个变量signCount 如果同意,signCount+1
// 如果是会签流程List< Task > tasks = taskService.createTaskQuery().taskName( "会签部门" ).processInstanceId( processInstanceId ).list();// 如果是会签流程if ( tasks != null && tasks.size() > 0 ){List< Task > taskResultList = taskService.createTaskQuery().taskId( taskId ).list();// 当前executionIdString currentExecutionId = taskResultList.get( 0 ).getExecutionId();// 当前签署总数String currentSignCount = StringUtils.defaultString( runtimeService.getVariable( currentExecutionId , "signCount" ).toString() , "0" );if ( outcome.equals( "同意" ) ){// 签署数+1runtimeService.setVariable( currentExecutionId , "signCount" ,Integer.parseInt( currentSignCount ) + 1 );}}
当所有部门会签完成后,在排它网关上设置一个监听器来判断流程走向
代码实现`public class CurrentFlowIsEnd implements ExecutionListener
{
/** * @Description:验证是否走下一个流程 * @param execution* @throws Exception * @author liuwu* @create_date 2015年10月26日 下午5:47:39*/
public void notify( DelegateExecution execution ) throws Exception
{System.out.println( "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" );String executionId = execution.getId();// 总共同意的人int signCount = Integer.parseInt( execution.getEngineServices().getRuntimeService().getVariable( executionId , "signCount" ).toString() );// 总共会签的人数List list = ( List ) execution.getEngineServices().getRuntimeService().getVariable( executionId , "assigneeList" );int signSize = list.size();if(signCount == signSize){execution.setVariable( "outcome" , "全部同意" );}else {execution.setVariable( "outcome" , "有人不同意" );execution.setVariable( "signCount" , 0 );}}
}
`
这是我个人的想法实现,如果朋友们有更好的实现方法欢迎指出
activiti工作流会签功能的实现相关推荐
- Activiti工作流会签与获取下一节点任务信息
2018-03-29 问题描述:会签节点选择2个审核人只能看到一条代办任务. 解决办法: Sequential设置为false即可.(true 串行 false 并行) activiti 工作流 ...
- Activiti实现会签功能程序Demo
Activiti会签功能 1.会签是什么? 会签功能指多个人员针对同一个事务进行协商处理,共同签署决定一件事情. 在工作流中会签,是指多个人员在同一个环节进行处理,同一环节的有多个处理人并行处理,按照 ...
- activiti 工作流会签 / 多人审批时若一人通过即可
equenceFlow 流程定义文件leave-formkey.bpmn20.xml: [html] <?xml version="1.0" encoding=" ...
- Activiti 工作流会签开发设计思路
在流程业务管理中,任务是通常都是由一个人去处理的,而多个人同时处理一个任 务,这种任务我们称之为会签任务.这种业务需求也很常见,如一个请款单,领导审批环节中,就需要多个部门领导签字.在流程业务中,我们 ...
- activiti工作流在线表单设计功能(activiti + ueditor + Ueditor Web Form De
分享一下我老师大神的人工智能教程吧.零基础,通俗易懂!风趣幽默!http://www.captainbed.net/ 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 之前实现了 ...
- Activiti工作流引擎进阶【收藏可做笔记系列】
Activiti工作流引擎进阶 Activiti进阶 一.流程实例 什么是流程实例 启动流程实例 并添加Businesskey(业务标识) 操作数据库表 查询流程实例 关联BusinessKey 挂起 ...
- Activiti工作流内建数据库表分析
2019独角兽企业重金招聘Python工程师标准>>> 如上图所示:activiti 5.22.0 版内建25张表,下面我将简要分析下这些表的作用. 1.表分类浅析 activiti ...
- activiti工作流引擎入门教程
activiti简介 Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准. Activiti是一种轻量级,可嵌入的BPM引擎,而且 ...
- Activiti工作流引擎使用
Activiti工作流引擎使用 1.简单介工作流引擎与Activiti 对于工作流引擎的解释请参考百度百科:工作流引擎 1.1 我与工作流引擎 在第一家公司工作的时候主要任务就是开发OA系统,当然基本 ...
最新文章
- 把握春招,收下这份GitHub万星的ML算法面试大全!
- 匹配月份_5月份轿车销量榜单出炉 雅阁热销18634辆
- 前端CSS基础7.8
- python金融工程的工具包_金融工程及其Python应用
- 表设计避免使用保留字
- 【在线记事本】一个程序员的随笔(与技术无关)
- 【机器视觉学习笔记】伽马变换(C++)
- ES9新特性_ES9扩展运算符与rest参数---JavaScript_ECMAScript_ES6-ES11新特性工作笔记053
- python中英文切换_vue根据按钮进行中英文切换
- mysql成绩统计数据库设计_MySQL数据库设计——以学生成绩数据库为例
- win10安装visio2010出错_win7安装Office Visio 2010时出现错误怎么办
- 5套精美的石器时代游戏官方网页源码
- Linux更新清华源
- 后盾网-CI框架实例教程-马振宇 - 学习笔记(9)
- VMware新建虚拟机步骤图解
- gcc用-O0优化无问题,-O3优化时程序崩溃的问题
- 【icem】非结构体网格的质量+混合网格的合并问题
- 2014 BUPT 新生排位赛07
- 门诊挂号c语言程序代码,C语言版医院管理系统
- python的转义字符,以及字符串输出转义字符