Activiti 更新节点名称

activiti根据当前节点获取下一个UseTask节点 以前写过一篇文章activiti根据当前节点获取下一个节点信息,当时的需求只是需要获取下一个节点而已,并没有要求获得什么类型的节点,所以下一个节点可能是任何节点,在最近的项目中的需求是根据当前的节点获取下一个UseTask节点,为当前审批人选择下一个审批人提示,所以前面的文章所给出的信心就不能够实现当前功能。 所以本文所述为获取下一个任务节点。根据上一篇文章,可以获取到下一个节点的信息,如果我们获 阅读详情

Activiti 6.0 版本下,版本 5.x 和 7.x 应该也是可以用的。

由于有个需求,更新节点名称后,审批记录中的流程图的节点名称也要同步更新,重新部署自然是可以实现。但现在需求就是不能重新部署。实际只要更新资源文件的就能实现,流程图文件是存储在act_re_bytearray 表中,只需更新 BYTES_ 字段就可以了。

核心代码如下:
注:origActId(待修改的节点ID) 和 paramActName (待修改的节点名称参数),灵活套用即可。

BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId);
for (FlowElement flowElement : bpmnModel.getMainProcess().getFlowElements()) {
    if (flowElement.getId().equals(origActId)) {
        // 修改节点名称
        flowElement.setName(paramActName);
        break;
    }
}

processEngine.getManagementService().executeCommand(commandContext -> {
    ResourceEntityManager resourceEntityManager = commandContext.getResourceEntityManager();
    ByteArrayEntityManager byteArrayEntityManager = commandContext.getByteArrayEntityManager();

    ProcessDefinition processDefinition = ProcessDefinitionUtil.getProcessDefinition(processDefinitionId);

    ResourceEntity resourceEntity = resourceEntityManager.findResourceByDeploymentIdAndResourceName(
            processDefinition.getDeploymentId(), processDefinition.getResourceName());

    BpmnXMLConverter bpmnXMLConverter = new BpmnXMLConverter();
    byte[] bpmnBytes = bpmnXMLConverter.convertToXML(bpmnModel);

    ByteArrayEntity byteArrayEntity = byteArrayEntityManager.findById(resourceEntity.getId());
    byteArrayEntity.setBytes(bpmnBytes);
    byteArrayEntityManager.update(byteArrayEntity, false);

    return null;
});

修改后获取到的bpmn对象就是最新的了。之前试了DynamicBpmnService.changeUserTaskName和 ResourceEntityManager.update(ResourceEntity entity, boolean fireUpdateEvent)都不行。最后总算是摸索出完美的解决方法了。

Activiti实现流程定义的控制与修改 Activiti提供的流程定义是基于XML的,一旦发布完成后,若想对流程定义实现更改,只有一种办法,就是重新发布新的版本,但有时,我们需要的是不让他发行新版本,只是希望修改其原来的Xml,如我们对分支节点进行条件设置。 此文章借鉴了http://redxun.iteye.com/blog/2253074这篇博主的文章,但是他的方法并不能完全实现对流程的修改。在此,我经过改造现将实现过程写下: 阅读详情

相关推荐

Activiti支持达梦数据库

Activiti支持达梦数据库 1.目的 ​ Activiti现在支持的数据库包括: Activiti数据库类型 JDBC URL实例 备注 h2 jdbc:h2:tcp://localhost/activiti 默认配置的数据库 mysql jdbc:mysql://localhost:3306/activiti?autoReconnect=true 使用mysql-connector-java驱动测试 oracle jdbc:oracle:thin:@localhost:152

CHINESEZZZ的博客 6232

activiti工作流使用,附自定义节点跳转代码

工作流定义: 业务过程的部分或整体在计算机应用环境下的自动化。 它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。 Activiti是一个针对企业用户、开发人员、系统管理员的轻量级工作流业务管理平台,其核心是使用Java开发的快速、稳定的BPMN2.0流程引擎。 生命周期: 工作流生命周期分为5步: 1. 定义:流程定义, 2. 发布:打包后在系统平台中发布, 3. 执行:流程引擎按照定义的流程处理路线执行业务

dengyu_2018的博客 2053

activity动态加签任意节点

前言 设想这么一种场景,一个流程有3级审批,其中第一级审批完毕后本应该到达二级审批的,但是可能觉得这个流程模板设置的不尽合理,需要再在上面增加一级审批人,即变成4级审批,这个需求该怎么做呢? 按照我们初步的设想,解决办法大概有这么两种思路: 第一,修改流程模板 这是一种大家很容易想到的方法,即重新更新一下流程定义文件,更改审批节点的审批人,所谓直接修改模板。在模板中添加节点以及连线,并修改实例的走向。 第二,修改流程定义对应的缓存数据 即不修改模板,新增的节点与当前需要加签的实例挂钩,关于缓存数据,我们可以

congge 8万+

Activiti如何替换已部署流程图

首先交代下背景:我们有一个已经上线的activiti工作流系统,对于流程图的操作已经封装好部署,查看,删除的接口。此时客户提出要修改个别流程图里的节点名称。   我的第一个想法就是本地修改流程图bpmn文件,然后去客户端先调用删除接口删除旧流程图,然后调用部署接口添加修改后的流程图,然而事实上,因为系统已经上线,此时存在大量运行中的工作流数据,一旦执行删除操作,删除流程图的同时,会把相关的工

huantuo4908的博客 5947

Activity 工作流节点新增节点和获取节点属性修改底层文件

原创博客:https://blog.youkuaiyun.com/a704020443/article/details/107939512 里面有介绍

Calibre PEX提参实战:如何用hcell和xcell文件精准屏蔽模块(附避坑指南)

本文深入解析Calibre PEX工具中hcell与xcell文件的协同工作机制,提供模块级寄生参数提取方案。通过实战案例和避坑指南,帮助工程师精准屏蔽已验证IP模块,提升仿真效率和数据一致性,适用于65nm以下工艺节点的复杂SoC设计。

weixin_29275257的博客 626

Activti流程框架_项目实战05外置表单和签核按钮

  在上一篇中小白给大家介绍了在项目中如何进行流程设计与部署,知道在部署的时候需要将流程设计模型xxx.bpmn、外置表单xxx.form以及流程图片xxx.png一起压缩后,再部署到项目服务器上,那么接下来和大家聊聊外置表单的设计特点,作为前面表单选择篇幅的补充说明,然后在介绍有关签核按钮的动态绑定; 1. 外置表单 1.1 字段申明   表单字段申明需要区分为两类:业务字段、批注字段,业务字段是用来更新业务数据的,同时业务字段又可分为不变字段和可变字段,所谓不变字段就是readOnly=” readon

weixin_43370748的博客 527

[语义分割]SPP、空洞卷积与ASPP总结

ASPP全称:Atrous Spatial Pyramid Pooling,中文可以理解为空洞空间卷积池化金字塔或者多孔空间金字塔池化。在这其中,要理解两个概念:一个是SPP,池化金字塔结构或者叫空间金字塔池化层,都是一个东西;另一个是Atrous,空洞卷积,两个加在一起就是ASPP。 首先说一下SPP:Spatial Pyramid Pooling。这个结构出自于论文《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Re

lipengfei0427的博客 2万+

bpmn-vue-activiti二次开发指南:如何快速扩展自定义节点与自定义属性

`bpmn-vue-activiti` 是一款基于 Vue3.x + Vite + bpmn-js + Element Plus + TSX 构建的开源 Activiti 流程设计器(BPMN 流程设计器),提供可视化流程建模画布与右侧属性配置面板。本文聚焦于**设计器二次开发**:教你用最少的改动为流程设计器添加**自定义节点**与**自定义属性**,让业务表单、自定义任务类型快速落地。 ##

gitblog_00387的博客 448

微软Media Creation Tool 创建工具 1.3 升级:支持全新下载安装Win11 22H2 Build 22621.525

微软 Media Creation Tool 创建工具 1.3 升级:支持全新下载安装 Win11 22H2 Build 22621.525 ISO 镜像,如果今天运行使用 Media Creation Tool,则会下载 Windows 11 2022 版本 Build 22621.525,它不会向操作系统添加任何新内容,但会修复安装问题,下面来看看详细的更新内容。

zym0218的博客 4231

YOLOv8缺陷检测可视化界面实战:PyQt5布局设计与代码实现

本文详细介绍了如何利用PyQt5为YOLOv8缺陷检测模型构建一个专业、易用的可视化界面。通过实战讲解PyQt5的布局管理器设计、信号槽机制与YOLOv8核心的集成,帮助开发者快速将AI模型部署为直观的桌面应用,提升工业质检等场景的落地效率。

redis7keeper的博客 756

Activiti7的api查询(实时更新)

目录1 背景2 各个api2.1 引擎对象里面的方法2.2 创建工作流引擎-------getDefaultProcessEngine()2.3 操作历史表的实体类------HistoryService2.3.1 获取HistoryService的方法getHistoryService()2.3.2 创建历史任务实例对象createHistoricTaskInstanceQuery()2.3.1.1 processDefinitionKey()2.3.1.2 taskAssignee()2.3.1.

一天不写代码难受的博客 3937

搭建一个简单的 Django + Vue 项目

在本文中,我将为您详细介绍如何搭建一个简单的 Django + Vue 项目。Django 是一个使用 Python 编写的高级 Web 框架,而 Vue 是一个流行的 JavaScript 框架,用于构建用户界面。通过结合 Django 和 Vue,我们可以创建强大的全栈 Web 应用程序。创建 Django 项目设置 Django 后端创建 Vue 前端连接 Django 和 Vue让我们开始吧!

JfpBlockchain的博客 351

Activiti 开始节点添加用户名的方法

Activiti 流程开始节点,并没有保存申请用户,那么在做已办列表、审批过程是,就无法显示开始节点申请人。 因此,需要给开始节点添加用户名,官方没有封装方法实现,所有只能通过操作数据库实现。 /** * 测试流程 * @return 操作信息 */ public void testProcess(String key ,String login

football98的专栏 2175

【AMD | Docker】超级全面版本:在Docker中验证AMD GPU移动显卡可用性的方法

1. 安装ROCm Docker支持 ■AMD GPU驱动 ■ROCM ■Docker 2. 配置Docker使用ROCm 3. 使用官方ROCm Docker镜像 4. 使用Docker CLI参数访问GPU

静谧、淡雅 684

69页完整版智慧港口综合解决方案

智慧港口需求4港机远程操控等自动化改造需求自动化码头AGV无线通信及专用视频系统需求安全生产视频监控类需求港机RCMS及设备管理需求岸边智能理货码头三维全景应用智慧港口解决方案5自动化码头AGV/跨运车/无人集卡无线接入港机远控视觉及冗余无线通信视觉集卡防吊起系统集装箱码头岸边智能理货港机RCMS系统无线接入港机智能化管理(无线高清视频监控、一键报警、远程抄表系统)港口拖轮无线接入岸边溢油监测系统TD-LTE覆盖及业务终端接入港口生产管理系统港口可视化集群调度港口GiNMS综合网络设备智能管理全球作业效率最

zuoan1993的博客 2129

RuoYi-activiti流程图进度追踪实现原理:基于历史活动高亮已完成节点与流转连线

RuoYi-activiti 是一款基于 RuoYi 框架与 Activiti 6.0 的开源工作流开发平台,内置流程设计、部署、执行、任务办理与流程监控五大能力。本文聚焦其中的**流程图进度追踪**功能:它如何只凭流程实例 ID,就能自动生成一张"走过的节点变蓝、走过的连线加粗"的流程图,让审批进度一目了然。 ## 🎯 流程进度追踪能解决什么问题? 传统工作流系统里,发起人提交申请后往往"

gitblog_00961的博客 517

如何使用Google Maps API爬取地理数据:详细教程与Python实现

Google Maps API 是一组服务的集合,允许开发者访问地图、地点、路线等地理信息。:将地址转换为地理坐标,或将地理坐标转换为地址。:计算两点之间的行车路线、步行路线等。Places API:获取附近的地点、商店、餐馆等。:计算多个地点之间的距离和时间。在接下来的代码中,我们将结合这些 API,展示如何获取并处理地理数据。本文详细介绍了如何使用 Google Maps API 获取地理数据,涵盖了从地址转经纬度、获取地点详情、计算路线、计算多个地点的距离与时间等多个功能。

2201_76125261的博客 733

activiti流程跳转方法

activiti流程跳转方法 public class JumpTestCmd implements Command<Void> { private String taskId; //当前任务ID private String targetNodeName; //跳转的目标节点ID private String operationId; //指定处理人 public JumpTestCmd(String taskId, String targ

weixin_48484941的博客 804

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

springboot/springcloud 整合activiti工作流和在线画图 带源码

1、 项目框架 springboot + activiti + mysql + mybatis + thymeleaf 2、工作流可在线编辑、支持自由跳转、支持驳回、支持驳回到原点 3、工作流整合自己业务的用户权限,支持配置多用户、多角色 4、功能接口包括:我发起的记录、我操作的记录、我待办的记录 5、管理页面包含:模型列表、流程列表、节点列表 6、上一波效果图: https://b...

艾斯-李的博客 2万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

关于使用activiti如何更新流程状态至业务表中

实现将activiti的流程节点对应流程状态同步至业务表

xiaoshan_777的博客 718

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Activiti7系列课程7-activiti7设计器

摘要:本文重点讲解一下Activiti7可以使用的流程设计器。目前Activiti最新版本是7.1.0.M1。 Activiti7可以使用的设计器 要想非常方便的使用Activiti7框架,则必须要安装流程设计器插件,关于Activiti7流程设计器相关插件说明如下: activiti6 官方提供有Web设计器(Modeler设计器)。这个不需要进行安装,直接部署运行activiti-model...

分享牛 4万+

springboot整合activiti7(3) Activiti Modeler使用入门

Activiti Editor介绍 Activiti Editor是activiti官方发布的在线流程设计器,但是后期没有维护更新,只停留在5.23版本。对于activiti7的云架构支持不是很好,但是普通的使用还是可以的。 功能描述 Activiti 是基于Java语言开发的,所以各种属性都支持EL表达式。 基本组件 一个最简单的流程包含开始事件、用户任务、结束事件,复杂一些的就有各种任务、网关、事件、子流程等; 流程示例 流程定义基本信息 流程标识对应的是数据库的KEY, 名称对应的是数据库的NA

weixin_49891230的博客 4105

activiti工作流的简单使用

前言 以下操作是基于Idea 2021.3.2安装activiti BPMN visualizer插件开发使用的。 一、activiti简介 Activiti 是一个工作流引擎, activiti 可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言(BPMN2.0)进行定义,业务系统按照预先定义的流程进行执行,实现了业务系统的业务流程由 activiti 进行管理,减少业务系统由于流程变更进行系统升级改造的工作量,从而提高系统的健壮性,同时也减少了系统开发维护成本。它提供了eclipse插件,开发人

逝水流年 7186
上一篇: "Wed Jul 31 00:00:00 CST 2019"字符串转换成时间
下一篇: Mybatis代码自动生成工具,生成批量插入和批量更新方法
quest4u
博客等级 码龄9年 10粉丝 11原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值