Activiti驳回至并行网关,增加虚拟节点,后台自动完成

原始需求
在这里插入图片描述
如图示例:节点1后面是并行网关,有两个节点,节点4需要驳回至并行网关,这样直接画线是不行的,节点走完后任务就没有了,不会走到节点2和节点3。看到别的文章说是并行网关只能有一个一条线进入。
改变思路,可以在并行网关前边增加一个“”虚拟“”节点,后台判断下一个节点是虚拟节点,就自动完成任务,这样就可以到达并行节点了。
在这里插入图片描述


	//完成当前任务
actTaskService.complete(qmsZq8dProblem.getAct().getTaskId(), qmsZq8dProblem.getAct().getProcInsId(), comment, map);
	//任务完成后,根据流程实例id查询最新任务
		TaskEntity currentTask = actTaskService.getCurrentTask(qmsZq8dProblem.getAct().getProcInsId());
		if(null!=currentTask)
		{
		//如果最新任务节点id是虚拟节点idi,则自动完成任务
		    if(currentTask.getTaskDefinitionKey().equals("虚拟节点id"))
		    {
				actTaskService.complete(currentTask.getId(), qmsZq8dProblem.getAct().getProcInsId(), comment, map);
			}
		}
		//根据流程实例获取最新task
    public TaskEntity getCurrentTask(String procInsId) 
    {
        return (TaskEntity)taskService.createTaskQuery().processInstanceId(procInsId).active().singleResult();
    }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值