From b2ac834a9fef939b709571d0cd680b36818254da Mon Sep 17 00:00:00 2001 From: wangli Date: Sat, 9 Dec 2023 21:14:43 +0800 Subject: [PATCH] =?UTF-8?q?update=20-=20=E5=A4=84=E7=90=86=E5=8A=A0?= =?UTF-8?q?=E7=AD=BE=E6=88=96=E8=BD=AC=E4=BA=A4=E7=9A=84=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BpmnProcessTaskServiceImpl.java | 7 ++++--- .../task/SnapshotBpmnTaskTaskEventListener.java | 14 -------------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessTaskServiceImpl.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessTaskServiceImpl.java index e962215db..27af65f27 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessTaskServiceImpl.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessTaskServiceImpl.java @@ -590,6 +590,7 @@ public class BpmnProcessTaskServiceImpl implements BpmnProcessTaskService { .filter(i -> Objects.equals(COMMENT_TYPE_OPERATION_COUNTERSIGN, i.getType())).findFirst(); operation.ifPresent(i -> { vo.setOperationDesc(i.getFullMessage()); + vo.setEndTime(i.getTime()); vo.setResult(COUNTERSIGN); }); @@ -599,6 +600,7 @@ public class BpmnProcessTaskServiceImpl implements BpmnProcessTaskService { .filter(i -> Objects.equals(COMMENT_TYPE_OPERATION_TRANSFER, i.getType())).findFirst(); transfer.ifPresent(i -> { vo.setOperationDesc(i.getFullMessage()); + vo.setEndTime(i.getTime()); vo.setResult(TRANSFER); }); @@ -718,14 +720,13 @@ public class BpmnProcessTaskServiceImpl implements BpmnProcessTaskService { ((TaskEntity) task).setScopeType("TRANSFER"); taskService.saveTask(task); + Authentication.setAuthenticatedUserId(dto.getOriginAssigner().buildAssigneeId()); taskService.addComment(task.getId(), task.getProcessInstanceId(), COMMENT_TYPE_OPERATION_TRANSFER, "转交给 " + dto.getTargetAssigner().getAssignerName()); - if (StringUtils.hasLength(dto.getAdvice())) { - Authentication.setAuthenticatedUserId(dto.getOriginAssigner().buildAssigneeId()); taskService.addComment(dto.getTaskId(), task.getProcessInstanceId(), COMMENT_TYPE_ADVICE, dto.getAdvice()); - Authentication.setAuthenticatedUserId(null); } + Authentication.setAuthenticatedUserId(null); List originAssingeeList = runtimeService.getVariable(task.getProcessInstanceId(), INTERNAL_ACTIVITY_RELATION_ASSIGNEE_LIST_INFO_SNAPSHOT + task.getTaskDefinitionKey(), List.class); diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/SnapshotBpmnTaskTaskEventListener.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/SnapshotBpmnTaskTaskEventListener.java index 23f27d5e8..54d18a4c1 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/SnapshotBpmnTaskTaskEventListener.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/SnapshotBpmnTaskTaskEventListener.java @@ -4,12 +4,9 @@ import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner; import cn.axzo.workflow.core.listener.BpmnTaskEventListener; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RuntimeService; -import org.flowable.engine.TaskService; -import org.flowable.engine.impl.util.CommandContextUtil; import org.flowable.task.service.delegate.DelegateTask; import org.springframework.core.Ordered; import org.springframework.stereotype.Component; -import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.List; @@ -40,17 +37,6 @@ public class SnapshotBpmnTaskTaskEventListener implements BpmnTaskEventListener, List assignerList = runtimeService.getVariable(delegateTask.getProcessInstanceId(), INTERNAL_ACTIVITY_RELATION_ASSIGNEE_LIST_INFO_SNAPSHOT + delegateTask.getTaskDefinitionKey(), List.class); - if (CollectionUtils.isEmpty(assignerList)) { - // 加签 - TaskService taskService = CommandContextUtil.getProcessEngineConfiguration().getTaskService(); - BpmnTaskDelegateAssigner assigner = taskService.getVariable(delegateTask.getId(), - INTERNAL_TASK_RELATION_ASSIGNEE_INFO, BpmnTaskDelegateAssigner.class); - if (Objects.isNull(assigner)) { - return; - } else { - assignerList.add(assigner); - } - } // identityId_identityType assignerList.stream().filter(i -> Objects.equals(delegateTask.getAssignee(), i.buildAssigneeId())).findFirst().ifPresent(i -> { // 保存每个 taskId 的审批人