diff --git a/src/main/java/neatlogic/module/autoexec/api/job/AutoexecJobPhaseNodeSearchApi.java b/src/main/java/neatlogic/module/autoexec/api/job/AutoexecJobPhaseNodeSearchApi.java index 83937f70b24a274fb3ad2df2c66ea4afa2af2b70..b5fcbdb775c3d0a5997622c216862b2735e56703 100644 --- a/src/main/java/neatlogic/module/autoexec/api/job/AutoexecJobPhaseNodeSearchApi.java +++ b/src/main/java/neatlogic/module/autoexec/api/job/AutoexecJobPhaseNodeSearchApi.java @@ -20,11 +20,14 @@ import neatlogic.framework.auth.core.AuthAction; import neatlogic.framework.autoexec.auth.AUTOEXEC_BASE; import neatlogic.framework.autoexec.constvalue.JobStatus; import neatlogic.framework.autoexec.dao.mapper.AutoexecJobMapper; +import neatlogic.framework.autoexec.dto.job.AutoexecJobInvokeVo; import neatlogic.framework.autoexec.dto.job.AutoexecJobPhaseNodeVo; import neatlogic.framework.autoexec.dto.job.AutoexecJobPhaseVo; import neatlogic.framework.autoexec.dto.job.AutoexecJobVo; import neatlogic.framework.autoexec.exception.AutoexecJobNotFoundException; import neatlogic.framework.autoexec.exception.AutoexecJobPhaseNotFoundException; +import neatlogic.framework.autoexec.job.source.type.AutoexecJobSourceTypeHandlerFactory; +import neatlogic.framework.autoexec.job.source.type.IAutoexecJobSourceTypeHandler; import neatlogic.framework.common.constvalue.ApiParamType; import neatlogic.framework.common.dto.BasePageVo; import neatlogic.framework.restful.annotation.*; @@ -92,7 +95,21 @@ public class AutoexecJobPhaseNodeSearchApi extends PrivateApiComponentBase { if (rowNum > 0) { jobPhaseNodeVoList = autoexecJobMapper.searchJobPhaseNodeWithResource(jobPhaseNodeVo); } - JSONObject result = TableResultUtil.getResult(jobPhaseNodeVoList, jobPhaseNodeVo); + JSONObject result = null; + // 补充剧本节点额外信息 + AutoexecJobInvokeVo invokeVo = autoexecJobMapper.getJobInvokeByJobId(phaseVo.getJobId()); + if (invokeVo != null) { + IAutoexecJobSourceTypeHandler autoexecJobSourceActionHandler = AutoexecJobSourceTypeHandlerFactory.getAction(invokeVo.getType()); + if (autoexecJobSourceActionHandler != null) { + List jobPhaseNodeObjectList = autoexecJobSourceActionHandler.getExtraJobPhaseNoneInfo(phaseVo.getJobId(), jobPhaseNodeVoList); + if (jobPhaseNodeObjectList != null && !jobPhaseNodeObjectList.isEmpty()) { + result = TableResultUtil.getResult(jobPhaseNodeObjectList, jobPhaseNodeVo); + } + } + } + if (result == null) { + result = TableResultUtil.getResult(jobPhaseNodeVoList, jobPhaseNodeVo); + } result.put("status", jobVo.getStatus()); result.put("statusName", JobStatus.getText(jobVo.getStatus())); return result;