update 调整任务办理异步时流程状态错误问题

This commit is contained in:
gssong 2024-01-24 21:40:27 +08:00
parent c5742cff79
commit b4110ab2e2

View File

@ -171,14 +171,16 @@ public class ActTaskServiceImpl implements IActTaskService {
} else { } else {
taskService.complete(completeTaskBo.getTaskId()); taskService.complete(completeTaskBo.getTaskId());
} }
List<Task> list = taskService.createTaskQuery().taskTenantId(TenantHelper.getTenantId()).processInstanceId(task.getProcessInstanceId()).list(); ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId())
if (CollUtil.isEmpty(list)) { .processInstanceTenantId(TenantHelper.getTenantId()).singleResult();
if (pi == null) {
UpdateBusinessStatusCmd updateBusinessStatusCmd = new UpdateBusinessStatusCmd(task.getProcessInstanceId(), BusinessStatusEnum.FINISH.getStatus()); UpdateBusinessStatusCmd updateBusinessStatusCmd = new UpdateBusinessStatusCmd(task.getProcessInstanceId(), BusinessStatusEnum.FINISH.getStatus());
managementService.executeCommand(updateBusinessStatusCmd); managementService.executeCommand(updateBusinessStatusCmd);
if (processHandler != null) { if (processHandler != null) {
processHandler.handleProcess(processInstance.getBusinessKey(), BusinessStatusEnum.FINISH.getStatus(), false); processHandler.handleProcess(processInstance.getBusinessKey(), BusinessStatusEnum.FINISH.getStatus(), false);
} }
} else { } else {
List<Task> list = taskService.createTaskQuery().taskTenantId(TenantHelper.getTenantId()).processInstanceId(task.getProcessInstanceId()).list();
sendMessage(list, processInstance.getName(), completeTaskBo.getMessageType(), null); sendMessage(list, processInstance.getName(), completeTaskBo.getMessageType(), null);
} }
return true; return true;