Flowable工作流中会签节点处理回退并清除审批意见

news2025/2/25 10:32:01

文章目录

    • 1,操作方法及步骤
    • 2,实现细节
    • 3,总结

1,操作方法及步骤

在Flowable工作流会签流程中,如果最后一个人选择回退流程,想要清除前面用户A和B填写的审批意见,需要通过Flowable提供的API来操作流程实例和任务,具体操作方法可以遵循以下步骤:

  1. 设计流程时设置回退规则:在设计工作流时,应该考虑到回退的情况,并为每个节点设置相应的规则。例如,当流程被回退时,可以设定是否清除之前节点的数据。使用Flowable的RuntimeService或HistoryService来回退流程实例到指定的活动或历史节点。

  2. 触发回退机制:在最后一个人点击回退时,系统应该能够识别这一操作,并触发相应的回退机制。这可能涉及到修改数据库记录的状态,或者调用特定的API来处理数据。

  3. 清除审批意见:一旦回退机制被触发,系统应该自动清除或标记前面节点的所有审批意见为无效或已删除状态。这可以通过更新数据库中的字段来实现,例如将“审批意见”字段置为空,或将一个“有效状态”字段设置为“无效”。在回退后,找到相关的任务实例,更新其属性,例如清除审批意见或设置一个标志表示意见无效。

  4. 恢复到前一状态:清除审批意见后,流程应该回到上一个状态,使得下一次审批可以从头开始,而不受之前审批意见的影响。

  5. 通知相关人员:最后,系统还应该自动通知所有受影响的参与者(如用户A和B),告知他们流程已被回退,以及他们可能需要重新进行审批。

2,实现细节

  1. 回退流程实例
    使用RuntimeService的createChangeActivityStateBuilder方法来回退流程实例。下面是一个示例代码片段:
// 假设你已经有了流程实例ID和你想回退到的活动ID
String processInstanceId = "your-process-instance-id";
String activityIdToRollbackTo = "activity-id";

// 获取RuntimeService
RuntimeService runtimeService = processEngine.getRuntimeService();

// 创建回退流程实例的builder
ChangeActivityStateBuilder changeStateBuilder = runtimeService.createChangeActivityStateBuilder()
    .processInstanceId(processInstanceId)
    .moveToActivity(activityIdToRollbackTo);

// 执行回退
changeStateBuilder.execute();
  1. 清除审批意见
    对于清除审批意见,遍历或查询所有相关任务,然后使用TaskService来更新任务的属性。例如:
// 获取TaskService
TaskService taskService = processEngine.getTaskService();

// 查询所有与流程实例相关联的任务
List<Task> tasks = taskService.createTaskQuery().processInstanceId(processInstanceId).list();

// 遍历任务并清除审批意见
for (Task task : tasks) {
    // 获取任务变量或属性,假设审批意见保存在一个名为"approvalComment"的变量中
    Object approvalComment = taskService.getVariable(task.getId(), "approvalComment");
    
    // 如果审批意见存在,则清除它
    if (approvalComment != null) {
        taskService.removeVariableLocal(task.getId(), "approvalComment");
    }
}

上述代码仅作为示例,遇到问题可能需要根据你的具体需求和环境进行调整。

3,总结

最后,进行这类操作时,务必小心,因为它们可能会影响流程的历史数据和一致性。建议在测试环境中尝试并验证逻辑,然后再在生产环境中实施。

在这里插入图片描述


人生从来没有真正的绝境。只要一个人的心中还怀着一粒信念的种子,那么总有一天,他就能走出困境,让生命重新开花结果。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1824019.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LVS_Director + KeepAlived + 邮件报警

目录 一. 环境准备 二. 对master和backup操作 三. 配置master主机 四. 配置backup主机 六. 验证虚拟IP 七. 配置后端两个web服务器 对web1和web2主机都进行如下操作&#xff1a; 单独修改web1主机 单独修改web2主机 验证 八. 设置邮件报警 一. 环境准备 KeepAlive…

【CT】LeetCode手撕—102. 二叉树的层序遍历

目录 题目1-思路2- 实现⭐102. 二叉树的层序遍历——题解思路 3- ACM实现3-1 二叉树构造3-2 整体实现 题目 原题连接&#xff1a;102. 二叉树的层序遍历 1-思路 1.借助队列 Queue &#xff0c;每次利用 ①while 循环遍历当前层结点&#xff0c;②将当前层结点的下层结点放入 …

[大模型]Qwen2-7B-Instruct 接入 LangChain 搭建知识库助手

环境准备 在 autodl 平台中租赁一个 3090 等 24G 显存的显卡机器&#xff0c;如下图所示镜像选择 PyTorch–>2.1.0–>3.10(ubuntu20.04)–>12.1 接下来打开刚刚租用服务器的 JupyterLab&#xff0c;并且打开其中的终端开始环境配置、模型下载和运行 demo。 pip 换源…

图文RAG组件:360LayoutAnalysis中文论文及研报图像分析

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享&#xff0c;包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…

ripro主题如何使用memcached来加速

ripro主题是个很不错的资源付费下载主题。主题自带了缓存加速开关&#xff0c;只要开启了缓存加速功能&#xff0c;正常情况下能让网站访问的速度提升很大。 但好多人这么做了却发现没啥加速效果&#xff0c;原因就在于wordpress里缺少了memcache文件。只需要把object-cache.ph…

电脑怎么录制游戏视频?轻松捕捉每一帧精彩

随着游戏产业的蓬勃发展&#xff0c;越来越多的玩家不仅满足于在游戏世界中的探索与冒险&#xff0c;更希望将自己的游戏精彩瞬间记录下来&#xff0c;分享给更多的朋友。可是电脑怎么录制游戏视频呢&#xff1f;本文旨在为广大游戏爱好者提供一份详细的电脑游戏视频录制攻略&a…

MySQL员工练习

MySQL员工练习 1.数据显示 员工信息表emp&#xff1a; 字段&#xff1a;员工id,员工名字,工作岗位,部门经理,受雇日期,薪水,奖金,部门编号 英文名&#xff1a;EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,BONUS,DEPTNO 部门信息表dept&#xff1a; 字段&#xff1a;部门编号,部门名称,部…

vscode 终端无法正常执行脚本命令如何解决

我们经常需要在vscode的中安装第三方依赖包&#xff0c;npm是前端目前最大的Node.js模块化管理系统&#xff0c;它能帮助开发者管理和发布Node.js模块。但很多时候我们在vscode的终端中执行npm install命令时经常会报以下错误&#xff1a; 但是在Windows的cmd命令提示符中执行n…

VM映像构建实践

概述 VM映像做为创建VM的必要条件&#xff0c;各类云环境映像市场均有提供最基础的映像。创建VM后&#xff0c;通常还需要根据组织或用户的需求&#xff0c;安装一些软件、修改配置后才能满足使用需求。这类需求通常可以手动部署或者借助一些配置管理工具&#xff0c;如ansibl…

KVM+GFS分布式存储系统构建高可用群集

KVMGFS 分布式存储系统构建 KVM 高可用群集 一&#xff1a;理论概述 1.1&#xff1a;Glusterfs 简介 Glusterfs 文件系统是由 Gluster 公司的创始人兼首席技术官 Anand Babu Periasamy编写。 一个可扩展的分布式文件系统&#xff0c; 用于大型的、 分布式的、 对大量数据进行访…

Java版SaaS模式云HIS系统源码Java+Spring+SpringBoot+SpringMVC 基层卫生健康云HIS源码

Java版SaaS模式云HIS系统源码JavaSpring&#xff0b;SpringBoot&#xff0b;SpringMVC 基层卫生健康云HIS源码 云HIS全称为基于云计算的医疗卫生信息系统&#xff08;Cloud-BasedHealthcareInformationSystem&#xff09;&#xff0c;是运用云计算、大数据、物联网等新兴信息技…

宝藏速成秘籍(6)归并排序法

一、前言 1.1、概念 归并排序&#xff08;Merge Sort&#xff09;是一种基于分治思想的排序算法。它将数组分成两个子数组&#xff0c;分别对这两个子数组进行排序&#xff0c;然后再将它们合并成一个有序的数组。归并排序是一种经典的分治算法&#xff0c;它的核心思想是将待…

Elasticsearch搜索引擎(高级篇)

3.1 查询语法 | 《ElasticSearch入门到实战》电子书 (chaosopen.cn) day09-Elasticsearch02 - 飞书云文档 (feishu.cn) 目录 第一章 DSL查询 1.1 基本语法 1.2 叶子查询 全文检索查询 精确查询 1.3 复合查询 算分函数查询 bool查询 1.4 排序 1.5 分页 基础分页 深度分…

Visual Studio Code连接VMware虚拟机

1.安装VS Code插件 在拓展中安装插件 Remote-SSH 2.在虚拟机中安装OpenSSH服务器 使用超级用权限(root)更新软件包列表&#xff0c;Debian系统和Ubuntu系统使用apt包管理工具&#xff1a; sudo apt update CentOS系统使用yum或dnf包管理工具&#xff1a; sudo yum update …

618全面开战,抖音电商头部品牌罗拉密码突然“不干”了?

前言&#xff1a; 随着618电商大战的硝烟渐浓&#xff0c;各大电商平台纷纷摩拳擦掌&#xff0c;准备在这场年度购物盛宴中大展拳脚。然而&#xff0c;在这热闹非凡的氛围中&#xff0c;一个熟悉的名字却显得格外低调——罗拉密码。作为抖音电商领域的头部品牌&#xff0c;罗拉…

el-table 多选回显,分页回显

实现el-table多选分页回显功能&#xff0c;左侧是分页的数据源&#xff0c;右侧是选择后的人员数据&#xff0c;切换下一页&#xff0c;选中的数据会在左侧表格回显。 实现&#xff1a; <template><el-dialog :title"title" :visible.sync"show"…

C#开发-集合使用和技巧(二)Lambda 表达式介绍和应用

C#开发-集合使用和技巧 Lambda 表达式介绍和应用 C#开发-集合使用和技巧介绍简单的示例&#xff1a;集合查询示例&#xff1a; 1. 基本语法从主体语句上区分&#xff1a;1. 主体为单一表达式2. 主体是代码块&#xff08;多个表达式语句&#xff09; 从参数上区分1. 带输入参数的…

【LeetCode:2786. 访问数组中的位置使分数最大 + 递归 + 记忆化缓存 + dp】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

MySQL之优化服务器设置(一)

优化服务器设置 配置MySQL的IO行为 有一些配置影响着MySQL怎样同步数据到磁盘以及如何做恢复操作。这些操作对性能的影响非常大&#xff0c;因为都涉及到昂贵的IO操作。它们也表现了性能和数据安全之间的权衡。通常&#xff0c;保证数据立刻并且一致地写到磁盘是很昂贵的。如…