【问题篇】activiti通过修改表手动退回流程

简介: 【问题篇】activiti通过修改表手动退回流程


背景:在利用activi完成开发项目开发后,假设某一个正常走的流程功能用户想要回退到某一个环节去,重新审核或者编辑表单,我们在处理运维工作时经常会遇到这种情况,下面针对这种情况,记录一下自己的处理方式,便于下次回忆起。

       效果:可以回退到指定环节,并查看流程记录时该环节后的也删除掉。

       举例我的流程如下:拟稿->评分人审核->自评->评分人评分->员工确认->完成

       假设当前环节已经到了员工确认,但是我想退回到评分人评分环节。

1、找到流程实例表中的PROC_INST_ID_

       一般都是通过业务表主键作为唯一的实例id代表整个流程实例的key即BUSINESS_KEY_,举例我要修改某一个绩效的单子的任务,先通过业务主键id找到PROC_INST_ID_。

3、修改历史记录表中的历史记录

       找到要退回的一条流程记录,删除它后续的记录,并修改需要回退的记录的结束时间为空,并修改审核人,再将当前流程所在环节(也就是最新的一条的id复制给要退回的流程那条记录,为了complete时,修改到结束时间)。此处的操作就是将评分人评价的END_TIME_设置为空,并设置这个环节的ASSIGNEE_(我这个例子是特殊情况,这个环节不设置审批人,是通过代码处理),再将员工确认的主键复制给评分人评价着一条,再将员工确认这条删除掉。

4、修改执行实例表数据

       通过PROC_INST_ID_筛选执行实例表相关数据,将ACT_ID_不为空的数据(表示当前环节的名字,流程图画的时候节点的名字)修改为需要回到的环节名字。此处修改four为three。

5、修改流程实例表

       通过PROC_INST_ID_筛选流程实例表相关数据,当前数据表示该流程实例正所处的环节信息,修改数据为需要回到的环节数据。此处的操作是将员工确认改为评分人评价,four改为three,ASSIGNEE改为该环节的处理人。

6、修改业务表本身

       最后再修改自己的业务表数据,将流程状态改为自己退回后该流程应该属于的环节状态即可。此处7改为5。

欢迎交流,若有更好的方法欢迎评论区指教。

目录
相关文章
工作流(Activiti 6.0)之自由驳回任务实现
工作流版本使用6.0,参数为任务id(task中主键),目标节点ID(比如userTask1),以及业务主键信息(businessKey)。
|
5月前
|
移动开发 前端开发 JavaScript
征信报告修改器,征信报告生成器,制作软件无痕修改软件【js+html+css】
本项目为信用评分模拟器教学工具,采用HTML5实现,仅供学习参考。核心功能通过JavaScript构建,包含虚拟数据生成、权重分配及信用因素分析(如还款记录、信用使用率等)。
|
XML Java 应用服务中间件
【小白误闯】Activiti 框架你不得不知道的一些事
Activiti 是一个轻量级的、以Java为中心的开源工作流和业务流程管理(BPM)平台。它允许用户在业务应用程序中定义、执行和监控业务流程。以下是Activiti的核心组件【5月更文挑战第8天】
1382 1
|
10月前
|
SQL JavaScript Java
Spring Boot 3 整合 Mybatis-Plus 实现数据权限控制
本文介绍了如何在Spring Boot 3中整合MyBatis-Plus实现数据权限控制,通过使用MyBatis-Plus提供的`DataPermissionInterceptor`插件,在不破坏原有代码结构的基础上实现了细粒度的数据访问控制。文中详细描述了自定义注解`DataScope`的使用方法、`DataPermissionHandler`的具体实现逻辑,以及根据用户的不同角色和部门动态添加SQL片段来限制查询结果。此外,还展示了基于Spring Boot 3和Vue 3构建的前后端分离快速开发框架的实际应用案例,包括项目的核心功能模块如用户管理、角色管理等,并提供Gitee上的开源仓库
2025 11
|
XML Java 数据库
【二十三】springboot整合activiti7(1)实战演示篇
【二十三】springboot整合activiti7(1)实战演示篇
1070 0
|
移动开发 前端开发
基于jeecg-boot的flowable流程收回功能实现(全网首创功能)
基于jeecg-boot的flowable流程收回功能实现(全网首创功能)
274 0
|
移动开发 前端开发
基于jeecg-boot的flowable流程自定义业务退回撤回或驳回到发起人后的再次流程提交
基于jeecg-boot的flowable流程自定义业务退回撤回或驳回到发起人后的再次流程提交
832 0
springboot 集成 swagger 2.x 和 3.0 以及 Failed to start bean ‘documentationPluginsBootstrapper‘问题的解决
本文介绍了如何在Spring Boot项目中集成Swagger 2.x和3.0版本,并提供了解决Swagger在Spring Boot中启动失败问题“Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerEx”的方法,包括配置yml文件和Spring Boot版本的降级。
springboot 集成 swagger 2.x 和 3.0 以及 Failed to start bean ‘documentationPluginsBootstrapper‘问题的解决
|
前端开发 数据库 JavaScript
基于Flowable的流程挂接自定义业务表单的设计与实践
文章讨论了如何在Flowable流程引擎中挂接自定义业务表单,以及相关设计和实践的步骤。文章中包含了一些前后端代码示例,如Vue组件的模板和脚本部分,这些代码用于实现与Flowable流程引擎交互的界面。例如,有一个按钮组件用于提交申请,点击后会触发applySubmit方法,该方法会与后端API进行交互,处理流程启动、查询关联流程等逻辑。
53443 11
|
Oracle Java 关系型数据库
Java SpringBoot集成Activiti7工作流
Java SpringBoot集成Activiti7工作流