91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
吴忠市| 漳平市| 宁城县| 广灵县| 绥中县| 斗六市| 孝昌县| 镇原县| 依安县| 合阳县| 兴化市| 无棣县| 皮山县| 南投县| 肃北| 溧水县| 仁化县| 玛纳斯县| 隆尧县| 宁波市| 绥棱县| 正镶白旗| 肇源县| 建阳市| 绥中县| 定襄县| 西乌| 宜宾市| 潢川县| 德安县| 沈阳市| 隆子县| 内乡县| 河北省| 仲巴县| 定远县| 敦煌市| 广丰县| 乡城县| 香河县| 萍乡市|