feat(REQ-4418) - 调整协助转换逻辑

This commit is contained in:
wangli 2025-08-25 11:17:18 +08:00
parent 3d8338d42d
commit 86add675c2
10 changed files with 15 additions and 15 deletions

View File

@ -22,7 +22,7 @@ public enum OtherRespCode implements IModuleRespCode {
ASYNC_JOB_EXECUTION_ERROR("007", "获取指定实例 ID【{}】的锁失败"),
ILLEGAL_PARAM_ERROR("008", "非法的参数:【{}】"),
MESSAGE_IM_EVENT_BUILD_ERROR("009", "不能使用 createEvent 函数创建`IM 消息`的事件, 请调用 createIMEvent 函数"),
ASSIGNEE_NODE_ID_NOT_EXISTS("010", "审批人 nodeId 不存在, 请检查参数是否正确")
ASSIGNEE_NODE_ID_NOT_EXISTS("010", "【{}】 nodeId 不存在, 请检查参数是否正确")
;
private final String code;

View File

@ -87,7 +87,7 @@ public class CustomBizSpecifyAssigneeToTaskCmd extends AbstractCommand<Boolean>
BpmnModel bpmnModel = ProcessDefinitionUtil.getBpmnModel(task.getProcessDefinitionId());
boolean present = assigners.stream().anyMatch(assigner -> !StringUtils.hasText(assigner.getNodeId()));
if (present && getCategoryVersion(bpmnModel.getMainProcess()).orElse(0) > 0) {
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS);
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS, "审批人");
}
validTask(task, executionId);
//校验审批人数量是否超过限制

View File

@ -87,7 +87,7 @@ public class CustomCountersignUserTaskAsyncCmd extends AbstractCommand<Void> imp
boolean present = dto.getTargetAssignerList().stream().anyMatch(assigner -> !org.springframework.util.StringUtils.hasText(assigner.getNodeId()));
Integer categoryVersion = getCategoryVersion(bpmnModel.getMainProcess()).orElse(0);
if (categoryVersion > 0 && present) {
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS);
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS, "审批人");
}
}
}

View File

@ -192,7 +192,7 @@ public class CustomCountersignUserTaskCmd extends AbstractCommand<Void> implemen
boolean present = targetTaskAssigneeList.stream().anyMatch(assigner -> !org.springframework.util.StringUtils.hasText(assigner.getNodeId()));
Integer categoryVersion = getCategoryVersion(bpmnModel.getMainProcess()).orElse(0);
if (categoryVersion > 0 && present) {
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS);
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS, "审批人");
}
}
}

View File

@ -1,9 +1,9 @@
package cn.axzo.workflow.core.engine.cmd;
import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum;
import cn.axzo.workflow.common.exception.WorkflowEngineException;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnRobotTaskCreateDTO;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
import cn.axzo.workflow.common.exception.WorkflowEngineException;
import cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper;
import cn.axzo.workflow.core.service.ExtAxHiTaskInstService;
import com.alibaba.fastjson.JSON;
@ -30,16 +30,16 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import static cn.axzo.workflow.common.code.BpmnTaskRespCode.DUMMY_TASK_CANT_CREATED;
import static cn.axzo.workflow.common.code.BpmnTaskRespCode.DUMMY_TASK_CANT_REPEAT_CREATE;
import static cn.axzo.workflow.common.code.BpmnTaskRespCode.DUMMY_TASK_CREATED_ERROR;
import static cn.axzo.workflow.common.code.BpmnTaskRespCode.DUMMY_TASK_CREATED_NOT_SUPPORT;
import static cn.axzo.workflow.common.code.OtherRespCode.ASSIGNEE_NODE_ID_NOT_EXISTS;
import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_OPERATION_DESC;
import static cn.axzo.workflow.common.constant.BpmnConstants.HIDDEN_ASSIGNEE_ID;
import static cn.axzo.workflow.common.constant.BpmnConstants.NO_ASSIGNEE;
import static cn.axzo.workflow.common.constant.BpmnConstants.TASK_ASSIGNEE_SKIP_FLAT;
import static cn.axzo.workflow.common.enums.BpmnFlowNodeType.NODE_ROBOT;
import static cn.axzo.workflow.common.code.BpmnTaskRespCode.DUMMY_TASK_CANT_CREATED;
import static cn.axzo.workflow.common.code.BpmnTaskRespCode.DUMMY_TASK_CANT_REPEAT_CREATE;
import static cn.axzo.workflow.common.code.BpmnTaskRespCode.DUMMY_TASK_CREATED_ERROR;
import static cn.axzo.workflow.common.code.BpmnTaskRespCode.DUMMY_TASK_CREATED_NOT_SUPPORT;
import static cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper.getCategoryVersion;
import static org.flowable.task.api.Task.DEFAULT_PRIORITY;
@ -164,7 +164,7 @@ public class CustomCreateDummyTaskCmd extends AbstractCommand<String> implements
BpmnModel bpmnModel = ProcessDefinitionUtil.getBpmnModel(processDefinitionId);
Integer categoryVersion = getCategoryVersion(bpmnModel.getMainProcess()).orElse(0);
if (categoryVersion > 0 && !StringUtils.hasText(operator.getNodeId())) {
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS);
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS, "审批人");
}
}
}

View File

@ -90,7 +90,7 @@ public class CustomResetTaskApproversAsyncCmd extends AbstractCommand<Void> impl
boolean present = dto.getTargetAssignerList().stream().anyMatch(assigner -> !org.springframework.util.StringUtils.hasText(assigner.getNodeId()));
Integer categoryVersion = getCategoryVersion(bpmnModel.getMainProcess()).orElse(0);
if (categoryVersion > 0 && present) {
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS);
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS, "审批人");
}
}
}

View File

@ -161,7 +161,7 @@ public class CustomResetTaskApproversCmd extends AbstractCommand<Void> implement
boolean present = targetTaskAssigneeList.stream().anyMatch(assigner -> !org.springframework.util.StringUtils.hasText(assigner.getNodeId()));
Integer categoryVersion = getCategoryVersion(bpmnModel.getMainProcess()).orElse(0);
if (categoryVersion > 0 && present) {
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS);
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS, "审批人");
}
}
}

View File

@ -88,7 +88,7 @@ public class CustomTransferUserTaskAsyncCmd extends AbstractCommand<Void> implem
BpmnModel bpmnModel = ProcessDefinitionUtil.getBpmnModel(processDefinitionId);
Integer categoryVersion = getCategoryVersion(bpmnModel.getMainProcess()).orElse(0);
if (categoryVersion > 0 && StringUtils.isNotBlank(dto.getTargetAssigner().getNodeId())) {
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS);
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS, "审批人");
}
}

View File

@ -133,7 +133,7 @@ public class CustomTransferUserTaskCmd extends AbstractCommand<Void> implements
BpmnModel bpmnModel = ProcessDefinitionUtil.getBpmnModel(processDefinitionId);
Integer categoryVersion = getCategoryVersion(bpmnModel.getMainProcess()).orElse(0);
if (categoryVersion > 0 && StringUtils.isNotBlank(targetTaskAssignee.getNodeId())) {
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS);
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS, "审批人");
}
}

View File

@ -481,7 +481,7 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
throw new WorkflowEngineException(PROCESS_INSTANCE_CREATE_PARAM_ERROR);
}
if (!StringUtils.hasText(dto.getInitiator().getNodeId())) {
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS);
throw new WorkflowEngineException(ASSIGNEE_NODE_ID_NOT_EXISTS, "发起人");
}
}
categoryItemVO.ifPresent(itemVO -> {