中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
天全县| 新蔡县| 塘沽区| 岱山县| 南乐县| 山东省| 沁阳市| 林甸县| 永修县| 长泰县| 舒兰市| 莎车县| 府谷县| 浙江省| 敦煌市| 江北区| 井陉县| 廉江市| 祥云县| 铁力市| 焦作市| 桂平市| 满洲里市| 新野县| 靖边县| 江都市| 安溪县| 洪湖市| 海口市| 库尔勒市| 兴宁市| 白朗县| 视频| 武强县| 上蔡县| 宽甸| 来凤县| 东港市| 太原市| 惠来县| 翁源县|