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);
RuntimeService runtimeService = processEngineConfiguration.getRuntimeService();
runtimeService.deleteMultiInstanceExecution(task.getExecutionId(), false);
return true;
}
@ -94,6 +92,7 @@ public class CustomBizSpecifyAssigneeToTaskCmd implements Command<Boolean>, Seri
// }
});
CustomTaskHelper.deleteMultiTask(commandContext, (TaskEntity) 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.deleteMultiTask(commandContext, (TaskEntity) task);
return null;
}

View File

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

View File

@ -53,6 +53,16 @@ public class CustomTaskHelper {
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) {
CommandContextUtil.getEntityCache().findInCache(TaskEntity.class).stream()
.filter(i -> Objects.equals(i.getExecutionId(), subExecution.getId())).findAny()