Activiti6.0 实现节点间的自由跳转问题及后台代码

本文通过实例详细介绍了如何在Activiti6.0中实现流程节点间的自由跳转,特别是撤销功能。通过删除当前任务并设置流程执行到目标节点(如'受理部门收件'),利用`DeleteTaskCmd`和`SetFLowNodeAndGoCmd`工具类,实现在过程1和过程2节点上支持用户撤回操作,直接跳转到指定节点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相关流程如下:

       主要思路是:干掉当前节点运行时的任务,直接让流程走到目标节点。但activity6.0版本扔掉了原来的pvm,直接针对bpmn进行处理,所以不能使用原来的ActivityImpl类对活动进行操作,而是用FlowNode类直接操作bpmn文件

下面以业务内的【撤回】功能为例:

流程图:

   在该流程图中,业务要求任务进行到过程1、过程2时,均支持【用户撤回】操作,然后受理件袋直接被受理部门收件,即要求处理后的任务直接跳转到“受理部门收件”节点。

 

测试类:

代码前景:选择了一个正在执行的任务,传来了taskId.

   @Test
public void cancel(){

    String taskId ="390005";

    //获取仓库服务
    RepositoryService repositoryService = processEngine.getRepositoryService();
    //获取任务服务
    TaskService taskService = processEngine.getTaskService();
    //获取历史服务
    HistoryService historyService = processEngine.getHistoryService();

    ManagementService managementService = processEngine.getManagementService();

    //获取当前任务对象
 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值