update - 测试一种新的处理加签和转交的方式

This commit is contained in:
wangli 2023-12-25 18:09:33 +08:00
parent 79adf1e25e
commit faaf6250db
4 changed files with 13 additions and 2 deletions

View File

@ -55,8 +55,6 @@ public class CustomBizSpecifyAssigneeToTaskCmd implements Command<Boolean>, Seri
addAssignee(commandContext, taskService, task); addAssignee(commandContext, taskService, task);
RuntimeService runtimeService = processEngineConfiguration.getRuntimeService();
runtimeService.deleteMultiInstanceExecution(task.getExecutionId(), false);
return true; return true;
} }
@ -94,6 +92,7 @@ public class CustomBizSpecifyAssigneeToTaskCmd implements Command<Boolean>, Seri
// } // }
}); });
CustomTaskHelper.deleteMultiTask(commandContext, (TaskEntity) task);
} }
private void validTask(Task task) { private void validTask(Task task) {

View File

@ -84,6 +84,7 @@ public class CustomCountSignUserTaskCmd implements Command<Void>, Serializable {
} }
CustomTaskHelper.addAttachment(commandContext, task.getProcessInstanceId(), task.getId(), attachmentList); CustomTaskHelper.addAttachment(commandContext, task.getProcessInstanceId(), task.getId(), attachmentList);
CustomTaskHelper.deleteMultiTask(commandContext, (TaskEntity) task);
return null; return null;
} }

View File

@ -69,6 +69,7 @@ public class CustomTransferUserTaskCmd implements Command<Void>, Serializable {
CustomTaskHelper.addAttachment(commandContext, task.getProcessInstanceId(), task.getId(), attachmentList); CustomTaskHelper.addAttachment(commandContext, task.getProcessInstanceId(), task.getId(), attachmentList);
CustomTaskHelper.addMultiTask(commandContext, (TaskEntity) task, targetTaskAssignee); CustomTaskHelper.addMultiTask(commandContext, (TaskEntity) task, targetTaskAssignee);
CustomTaskHelper.deleteMultiTask(commandContext, (TaskEntity) task);
return null; return null;
} }

View File

@ -53,6 +53,16 @@ public class CustomTaskHelper {
setParentTaskId(originTask, subExecution); setParentTaskId(originTask, subExecution);
} }
public static void deleteMultiTask(CommandContext commandContext, TaskEntity originTask) {
if (Objects.isNull(originTask)) {
return;
}
ProcessEngineConfigurationImpl processEngineConfiguration =
CommandContextUtil.getProcessEngineConfiguration(commandContext);
RuntimeService runtimeService = processEngineConfiguration.getRuntimeService();
runtimeService.deleteMultiInstanceExecution(originTask.getExecutionId(), false);
}
private static void setParentTaskId(TaskEntity originTask, Execution subExecution) { private static void setParentTaskId(TaskEntity originTask, Execution subExecution) {
CommandContextUtil.getEntityCache().findInCache(TaskEntity.class).stream() CommandContextUtil.getEntityCache().findInCache(TaskEntity.class).stream()
.filter(i -> Objects.equals(i.getExecutionId(), subExecution.getId())).findAny() .filter(i -> Objects.equals(i.getExecutionId(), subExecution.getId())).findAny()