Flowable 快速入门教程:任务驳回与回退
Flowable 快速入门教程:任务驳回与回退功能封装前言思考(Q&A)驳回退回驳回解析基础数据获取获取所有目标Key获取所有的父级任务数据清洗前言不管这篇文章是不是入门难度的,反正标题要整齐本文暂时不考虑子流程情况,但是核心代码是一样的,可以自己稍微改下(后面考虑进去后更新)本文不保证功能完美,因为这玩意是真的难,我只能尽我所能有存在 Bug 可以在评论中反馈,但是不一定能改...
前言
本文的代码中没有对流程做任何特殊处理,用的都是流程本身的数据,因此可以通用,直接复制粘贴即可
方法不支持多对多跳转
回退不能够直接回退到子流程上,我这里按照只能回退到用户任务节点处理的
驳回可以直接驳回到子流程开始
可根据自己需要对代码进行调整
BUG 修复记录
- 2021.03.03:修复花的时间有点久,主要时间有限,而且太复杂了(改动比较大,改了很多地方,因此建议代码全替换)
修复:网关节点驳回时,网关的活动节点数据也需驳回问题(坑爹)
修复:基于上一点的修复,历史节点获取从原来的历史任务数据改为了历史活动数据获取,因此改动比较大
修复:已经经过的路线改为浅拷贝数据,毕竟每个路线的数据都应该是单独的
支持场景
并行网关,高级网关,包容网关,会签,子流程
功能描述
驳回
参数:当前任务ID,驳回原因
直接根据历史数据,获取上个用户任务节点,进行跳转
退回
参数:当前任务ID,驳回的节点Key
回退只能回退到串行路线上
脏数据
什么是脏数据
如图,假如我从节点6
回退到节点2
,这时红框中的数据对于我们来说是一个历史记录,但是对于流程来说,这些数据是无意义的废弃数据
串行样例
并行样例
会签样例
脏数据清洗效果图
流程图
对应数据
清洗效果截图,由于没有循环,可以看到除了会签对应 3 条实例数据,其他节点清洗后都只有一个
sid-4FE193FF-E1E2-4F87-8424-2F00BCA9AFC5 是网关,没给它命名
完整代码
为了方便查看,代码我单独上传 gitee 了,包含驳回,回退,任务流程图查看,可驳回节点列表接口
效果图
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)