前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【问题篇】activiti通过修改表手动退回流程

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

作者头像
小z666
发布2024-06-21 17:37:37
940
发布2024-06-21 17:37:37
举报
文章被收录于专栏:javajava

互相学习交流

背景:在利用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。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、找到流程实例表中的PROC_INST_ID_
  • 3、修改历史记录表中的历史记录
  • 4、修改执行实例表数据
  • 5、修改流程实例表
  • 6、修改业务表本身
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档