flowable 回退,驳回

/**
    *@Author cf
    *@Description  驳回
     * proInstanceId  需要驳回的流程实例id(当前发起节点的流程实例id)
     * currTaskKeys   驳回发起的当前节点key 为  act_ru_task 中TASK_DEF_KEY_ 字段的值
     * targetKey  目标节点的key  为act_hi_taskinst 中 TASK_DEF_KEY_
    **/
   public void rollback(String proInstanceId, List<String> currTaskKeys, String targetKey) {
        runtimeService.createChangeActivityStateBuilder()
                .processInstanceId(proInstanceId)
                .moveActivityIdsToSingleActivityId(currTaskKeys, targetKey)
                .changeState();
    }

使用方式:

/**
    *@Author cf
    *@Description  跳转指定节点
    *@Date 9:48 2019/4/17
     * currentTask 当前节点
     * targetTaskDefKey 目标节点key
    **/
    public  boolean rollbaskTask(Task currentTask,String targetTaskDefKey){
        //跳转到需要回退的节点
        List<String> key = new ArrayList<>();
        key.add(currentTask.getTaskDefinitionKey());
        
        actService.rollbask(currentTask.getProcessInstanceId(), key, targetTaskDefKey);
    }

注意:

1.这个api  并行网关是支持的,也可以从主线跳到支线,但是跳到支线的串行线运行完了之后,网关之后的任务不会走
慎用并行跳转

2.每跳转一次,都会生成新的执行实例id(executionId)

3.flowable还提供了很多种节点跳转的方式,按需求使用哦,其他使用方式请参考上面例子

https://flowable.org/docs/javadocs/org/flowable/engine/runtime/ChangeActivityStateBuilder.html

 

4.以上仅供参考

 

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值