activiti 流程发起人控制

最近做activiti流程发起人的控制,最开始的想法是新建一张表 ,通过控制流程定义id与发起人id进行控制,如果这样每次发布新的流程就必须

重新设置流程发起人,因为通过流程定义不能获取流程模型id,虽然很不合理,但是确实获取不到流程模型id,最后问了同事,可以通过process的key、以及

defination的key 来进行控制,流程定义的key很好获取,可以通过processDef.getKey()获取,但是流程模型的key不好获取,数据库里的key并不是流程模型的key

流程模型的key存放在xml里,可通过如下方法获取,

JsonNode modelNode = new ObjectMapper().readTree(repositoryService
.getModelEditorSource(modelId));
BpmnModel bpmnModel = new BpmnJsonConverter()
.convertToBpmnModel(modelNode);
String key = bpmnModel.getProcesses().get(0).getId();

记录

时间: 2024-10-03 22:15:56

activiti 流程发起人控制的相关文章

工作流学习——Activiti流程实例、任务管理四步曲

一.前言 上一篇文章中我们将Activiti流程定义管理的知识进行了介绍,这篇文章我们继续Activiti流程实例和任务管理的学习. 二.正文 流程实例(ProcessInstance ) 流程实例(ProcessInstance)和上一篇文章中流程定义(ProcessDefinition)的关系,与类和实例对象的关系有点像,ProcessDefinition是整个流程步骤的说明而ProcessInstance就是指流程定义从开始到结束的那个最大的执行路线. 执行对象(Execution) 提到

Activiti流程实例管理

1.启动流程 /** * 1 启动流程 * 当流程到达一个节点时,会在act_ru_execution表中产生1条数据 * 如果当前节点是用户任务节点,这时会在act_ru_task表中产生1条数据(任务的办理人,任务的创建时间) */ @Test public void startProcess() throws Exception { /** * v1 myProcess:2:604 * v2 myProcess:3:704 */ // runtimeService.startProcess

ACTIVITI流程使用说明

ACTIVITI流程使用说明 1) 流程图的绘制 流程图可以使用eclipse插件完成,eclipse plug 地址:http://activiti.org/designer/update/通过插件的绘制流程功能,绘制好的流程图如下图: 最终可以保存为*.bpmn20.xml,这个xml文件就是我们的流程定义文件.生成的xml文件如下:文件名:ProjectReportProcess.bpmn20.xml <?xml version="1.0" encoding="U

Activiti流程引擎学习0——解决idea中编辑器的中文乱码问题

我使用的是idea2017+activiti6.0版本. 这个第0篇主要是为了解决安装activiti插件后创建的流程模板中文乱码的问题. 1.安装Activiti流程编辑器插件. 1.1网上资料很多,这里简要说一下:File->Settings->Plugins,然后输入actiBPM,双击搜索结果或点击Install plugin安装即可. 但是!我每次都安装失败0.x 所以和我一样运气超棒的同学可以使用下面这种方法. 1.2File->Settings->Plugins,然后

程序流程的控制、数组和方法

本周主要3个点是程序流程控制 .数组和方法 程序流程控制主要是选择语句和循环语句:其中选择语句是分为 if语句 单分支.双分支.多分支:if语句中又可以嵌套if语句这就是if语句的嵌套格式为: if(条件1) {if(条件2){语句1} else{语句2} } else{ if(条件3){语句3} else{语句4} },  还有是switch语句格式switch(算数表达式){case 常量表达是式1: 语句块1:break; case常量表达式2:语句块2:break; default :语

PHP之流程的控制

   在一个公司中,员工肯定会有高层.中层和普通员工的,这样如果在某个公司员工遇到某种问题,需要请假.或者提一些请求的时候,就会需要去申请,申请的时候有的是可以直接和上级申请的,有时比较重要的事情,是要经过层层申请,才可以得到解决的,这就会让我们想到了流程,今天写的就是一个简单的流程控制,设计的表中人员可能比较不那么精确,但是逻辑是一样的.    这里我是在数据库中设计了四张表格的,分别是 users flowpath liucheng  userflow   上面显示的就是我所用到的四张表格,

Activiti 流程启动及节点流转源码分析

作者:jiankunking 出处:http://blog.csdn.net/jiankunking 本文主要是以activiti-study中的xiaomage.xml流程图为例进行跟踪分析 具体的流程图如下: 流程图对应的XML文件如下: <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MO

Activiti流程历史中活动名支持表达式

Activiti中,任务名是支持JUEL表达式的,但是当任务执行完毕保存到流程历史表中时,这里的活动名又不支持表达式了,他会把表达式字符串保存到表中,这个说来应该是Bug. 能解决么?下一步,就是研究Activiti的代码了,看看能不能找到相应的扩展点,解决这个问题. 经过研究,找到了扩展点,开发起来还是比较方便的,下面进行详细描述,注意,本文的开发基于Activiti5.15.1版本,大体扫了下代码,更新的5.17版本也有这个问题,但未经过测试. Activiti中流程的历史信息保存在ACT_

工作流学习——Activiti流程变量五步曲

一.前言 上一篇文章我们将流程实例的启动与查询,任务的办理查询都进行了介绍,我们这篇文章来介绍activiti中的流程变量. 二.正文 流程变量与我们平常理解的变量是一样的,只不过是用在了我们activiti中,所以称为流程变量,流程变量在整个工作流扮演着很重要的角色. 例如,请假流程中有请假天数.请假原因等一些参数都是流程变量使用的范围,流程变量的作用域范围是只对应一个流程实例.也就是说各个流程实例的流程变量是不互相影响的.流程实例结束完成以后流程变量还保存在数据库中(存放在流程变量的历史表中