From 5a591e44fa4eb604c54537f425573c996e8f2207 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Tue, 2 Jan 2024 16:09:27 +0800 Subject: [PATCH] =?UTF-8?q?update=20-=20=E5=AE=8C=E5=96=84=E8=99=9A?= =?UTF-8?q?=E6=8B=9F=E6=9C=BA=E5=99=A8=E4=BA=BA=E8=8A=82=E7=82=B9=E7=9A=84?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=97=B6,=E9=87=8D=E6=96=B0=E5=88=86?= =?UTF-8?q?=E9=85=8D=E7=BB=99=E5=8E=9F=E5=AE=A1=E6=89=B9=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/engine/cmd/CustomCompleteDummyTaskCmd.java | 9 ++++++++- .../core/engine/cmd/CustomCreateDummyTaskCmd.java | 13 ++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCompleteDummyTaskCmd.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCompleteDummyTaskCmd.java index cdfe85d22..d285d7e86 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCompleteDummyTaskCmd.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCompleteDummyTaskCmd.java @@ -8,6 +8,7 @@ import org.flowable.engine.TaskService; import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl; import org.flowable.engine.impl.util.CommandContextUtil; import org.flowable.task.api.Task; +import org.flowable.task.service.impl.persistence.entity.HistoricTaskInstanceEntity; import org.springframework.util.CollectionUtils; import java.io.Serializable; @@ -66,11 +67,17 @@ public class CustomCompleteDummyTaskCmd implements Command, Serializable { if (CollectionUtils.isEmpty(taskList)) { return; } + List inCache = + CommandContextUtil.getEntityCache().findInCache(HistoricTaskInstanceEntity.class); taskList.stream().filter(i -> !Objects.equals(i.getTaskDefinitionKey(), DUMMY_ID)) .filter(i -> Objects.nonNull(i.getOwner())) .forEach(i -> { - i.setOwner(null); i.setAssignee(i.getOwner()); + i.setOwner(null); + inCache.stream().filter(cache -> Objects.equals(cache.getId(), i.getId())).findFirst().ifPresent(j -> { + j.setAssignee(i.getOwner()); + j.setOwner(null); + }); }); } } diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCreateDummyTaskCmd.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCreateDummyTaskCmd.java index 055e13a9d..5f55e407b 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCreateDummyTaskCmd.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCreateDummyTaskCmd.java @@ -100,18 +100,17 @@ public class CustomCreateDummyTaskCmd implements Command, Serializable { CommandContextUtil.getProcessEngineConfiguration(commandContext); TaskService taskService = processEngineConfiguration.getTaskService(); List taskList = taskService.createTaskQuery().processInstanceId(processInstanceId).active().list(); + List inCache = + CommandContextUtil.getEntityCache().findInCache(HistoricTaskInstanceEntity.class); if (!CollectionUtils.isEmpty(taskList)) { taskList.forEach(i -> { i.setOwner(i.getAssignee()); i.setAssignee(HIDDEN_ASSIGNEE_ID); + inCache.stream().filter(cache -> Objects.equals(cache.getId(), i.getId())).findFirst().ifPresent(j -> { + j.setOwner(j.getAssignee()); + j.setAssignee(HIDDEN_ASSIGNEE_ID); + }); }); - - // CustomTaskHelper.addMultiTask(commandContext, (TaskEntity) taskList.get(0), assigner); - // - // taskList.stream().filter(i -> !Objects.equals(i.getTaskDefinitionKey(), DUMMY_ID)).forEach - // (task -> { - // CustomTaskHelper.deleteMultiTask(commandContext, (TaskEntity) task); - // }); } } }