diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskCmd.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskCmd.java index b67065ad8..9bdaabe5f 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskCmd.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskCmd.java @@ -62,13 +62,21 @@ public class CustomApproveTaskCmd implements Command, Serializable { */ private List nodeTypes; + public CustomApproveTaskCmd(BpmnTaskAuditDTO dto) { + this(dto, null); + } + + public CustomApproveTaskCmd(BpmnTaskAuditDTO dto, String operationDesc) { this.taskId = dto.getTaskId(); this.advice = dto.getAdvice(); this.attachmentList = dto.getAttachmentList(); this.approver = dto.getApprover(); this.nextApprover = dto.getNextApprover(); this.nodeTypes = dto.getNodeTypes(); + if (Objects.nonNull(operationDesc)) { + this.operationDesc = operationDesc; + } } public CustomApproveTaskCmd(String taskId, String advice, String operationDesc, List attachmentList, diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/job/AsyncApproveTaskJobHandler.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/job/AsyncApproveTaskJobHandler.java index 444d078d9..72f52600f 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/job/AsyncApproveTaskJobHandler.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/job/AsyncApproveTaskJobHandler.java @@ -9,8 +9,13 @@ import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl; import org.flowable.engine.impl.util.CommandContextUtil; import org.flowable.job.service.JobHandler; import org.flowable.job.service.impl.persistence.entity.JobEntity; +import org.flowable.task.api.Task; import org.flowable.variable.api.delegate.VariableScope; +import java.util.Objects; + +import static cn.axzo.workflow.common.enums.BpmnFlowNodeType.NODE_STARTER; + /** * 异步的通过任务的处理器 * @@ -32,6 +37,11 @@ public class AsyncApproveTaskJobHandler implements JobHandler { ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration(commandContext); BpmnTaskAuditDTO dto = JSONUtil.toBean(job.getCustomValues(), BpmnTaskAuditDTO.class); - processEngineConfiguration.getCommandExecutor().execute(new CustomApproveTaskCmd(dto)); + Task task = processEngineConfiguration.getTaskService().createTaskQuery().taskId(dto.getTaskId()).singleResult(); + CustomApproveTaskCmd command = new CustomApproveTaskCmd(dto); + if (Objects.equals(task.getTaskDefinitionKey(), NODE_STARTER.getType())) { + command = new CustomApproveTaskCmd(dto, ""); + } + processEngineConfiguration.getCommandExecutor().execute(command); } } diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/AutoOperatorEvent_101_Listener.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/AutoOperatorEvent_101_Listener.java index f11e12370..1783eb0f0 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/AutoOperatorEvent_101_Listener.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/AutoOperatorEvent_101_Listener.java @@ -131,6 +131,7 @@ public class AutoOperatorEvent_101_Listener extends AbstractBpmnEventListener