关于多网关回退问题

椰树牌椰子汁 发布于 2017/08/12 11:38
阅读 139
收藏 0

本人自定义的流程图,界面是使用的其他软件处理的。

现在出现的问题是  人工活动节点4,和5是并行节点

本人使用activiti提供的接口进行跳转到人工活动1的操作,核心代码如下:

// 当前节点
ActivityImpl curActi = findCurrentActivity(taskId);
// 清空当前流向
List<PvmTransition> oriPvmTransitionList = clearTransition(curActi);
// 创建新流向
TransitionImpl newTransition = curActi.createOutgoingTransition();
// 目标节点
BpmProcessDef bpd=this.getProcessDefByTaskId(taskId);
ActivityImpl destAct = this.findActivityByProcessDefIdAndActivityKey(bpd.getProcessDefId(), activityId);
// 设置新流向的目标节点
newTransition.setDestination(destAct);
// 执行转向任务
taskService.complete(taskId, variables);
// 删除目标节点新流入
destAct.getIncomingTransitions().remove(newTransition);
// 还原以前流向
restoreTransition(curActi, oriPvmTransitionList);

回退到人工活动1成功,但是出现了一个新的问题,当人工活动1再次被完成根据条件进入人工活动4和5的分支时出现了如下图的问题

绿色标识已经完成的节点,蓝色标识正在活动的节点,activiti完成了人工活动1的任务,但是任务人工活动1并未结束,并且在条件分支1出进行了停留,请大神指导这是什么情况

加载中
返回顶部
顶部