亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

flowable怎么實現流程回退功能

小億
543
2024-01-11 18:56:11
欄目: 編程語言

Flowable是一個流程引擎,它提供了一些內置的功能來實現流程回退。

要實現流程回退功能,可以使用以下步驟:

  1. 查找當前任務的歷史任務列表:使用HistoryServicecreateHistoricTaskInstanceQuery方法,通過當前任務的ID查詢與之相關的歷史任務。
List<HistoricTaskInstance> historicTasks = historyService.createHistoricTaskInstanceQuery()
    .processInstanceId(processInstanceId)
    .orderByTaskCreateTime()
    .desc()
    .list();
  1. 確定要回退到的目標任務:根據需要回退的任務的索引,在歷史任務列表中找到目標任務。
HistoricTaskInstance targetTask = historicTasks.get(targetTaskIndex);
  1. 創建一個新的流程實例:使用RuntimeServicecreateProcessInstanceQuery方法,查詢當前任務所屬的流程實例,并基于該實例創建一個新的流程實例。
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
    .processInstanceId(processInstanceId)
    .singleResult();

ProcessInstance targetProcessInstance = runtimeService.createProcessInstanceBuilder()
    .processDefinitionKey(processInstance.getProcessDefinitionKey())
    .variables(processInstance.getProcessVariables())
    .start();
  1. 完成目標任務:使用TaskServicecomplete方法,完成目標任務,并將其指定給新創建的流程實例。
Task targetTask = taskService.createTaskQuery()
    .processInstanceId(targetProcessInstance.getId())
    .taskDefinitionKey(targetTaskKey)
    .singleResult();

taskService.complete(targetTask.getId());
  1. 結束當前任務:使用TaskServicecomplete方法,完成當前任務。
taskService.complete(currentTaskId);

這樣就實現了流程回退功能。請根據實際需求進行適當修改和調整。

0
石泉县| 怀宁县| 西乌| 台安县| 辽阳县| 宁强县| 红原县| 绍兴市| 河曲县| 三亚市| 万年县| 眉山市| 白水县| 临西县| 大田县| 莱州市| 安庆市| 永春县| 淮南市| 法库县| 五常市| 马边| 峨山| 澄迈县| 凤凰县| 舒城县| 新化县| 东城区| 平昌县| 青冈县| 天全县| 涿州市| 海丰县| 满洲里市| 大埔县| 朝阳市| 邵东县| 吴桥县| 孙吴县| 保康县| 韶关市|