工作中用到了activiti 进行流程审批。节点用到了会签功能。上线后,发现会签节点驳回/撤回会出现失效,例如会签需要USER1,USER2 顺序会签,但是在USER1,用户撤回,并不能撤回到初始节点,而是到了会签下一节点。
所以为了解决这个问题,博主进行可研究。
经研究发现,会签任务是带有子任务的,上图为例:
SELECT * FROM ACT_RU_EXECUTION WHERE PROC_INST_ID_ = '2232501';
正常非会签任务,我们可以认为:PROC_INST_ID_ = EXECUTION_ID_
但是多会签会发现,当前任务下还有子任务。
为了实现这一功能,笔者,参考了这篇文章:如何优雅的实现activiti的回退和驳回 - it610.com
博主写的非常赞,十分优雅,但是没有兼容会签的功能,为此笔者在此基础上做了优化
废话不多说,直接上代码
import lombok.Data;
import org.activiti.engine.impl.interceptor.Command;
import org.activiti.engine.im