From f8a632bb36faa3315336c36df19ba1ddb13cb777 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Tue, 21 May 2024 17:19:10 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E8=A7=84=E6=A0=BC=E8=A1=A8=E5=8D=95=E5=9C=BA?= =?UTF-8?q?=E6=99=AF=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1161610188521472]后端-自动化组合工具输出上游节点输出值支持IF-BLOCK中满足条件中选择的工具 http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1161610188521472 --- .../dto/job/AutoexecJobPhaseOperationVo.java | 39 +++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/src/main/java/neatlogic/framework/autoexec/dto/job/AutoexecJobPhaseOperationVo.java b/src/main/java/neatlogic/framework/autoexec/dto/job/AutoexecJobPhaseOperationVo.java index 89f89e61..f6ec0131 100644 --- a/src/main/java/neatlogic/framework/autoexec/dto/job/AutoexecJobPhaseOperationVo.java +++ b/src/main/java/neatlogic/framework/autoexec/dto/job/AutoexecJobPhaseOperationVo.java @@ -35,6 +35,7 @@ import neatlogic.framework.exception.type.ParamIrregularException; import neatlogic.framework.restful.annotation.EntityField; import neatlogic.framework.util.SnowflakeUtil; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.util.DigestUtils; @@ -203,13 +204,45 @@ public class AutoexecJobPhaseOperationVo implements Serializable { value = values.getString(2); Optional phaseVoOptional = jobPhaseVoList.parallelStream().filter(o -> Objects.equals(o.getUuid(), phaseUuid)).findFirst(); if (phaseVoOptional.isPresent()) { - Optional operationVoOptional = phaseVoOptional.get().getOperationList().parallelStream().filter(o -> Objects.equals(o.getUuid(), opUuid)).findFirst(); - if (operationVoOptional.isPresent()) { + AutoexecJobPhaseOperationVo jobPhaseOperation = null; + List operationList = phaseVoOptional.get().getOperationList(); + for (AutoexecJobPhaseOperationVo autoexecJobPhaseOperationVo : operationList) { + if (Objects.equals(autoexecJobPhaseOperationVo.getUuid(), opUuid)) { + jobPhaseOperation = autoexecJobPhaseOperationVo; + break; + } + if (Objects.equals(autoexecJobPhaseOperationVo.getName(), "native/IF-Block")) { + JSONObject paramConfig = autoexecJobPhaseOperationVo.getParam(); + if (MapUtils.isNotEmpty(paramConfig)) { + JSONArray ifList = paramConfig.getJSONArray("ifList"); + if (CollectionUtils.isNotEmpty(ifList)) { + List list = ifList.toJavaList(AutoexecJobPhaseOperationVo.class); + for (AutoexecJobPhaseOperationVo autoexecJobPhaseOperation : list) { + if (Objects.equals(autoexecJobPhaseOperation.getUuid(), opUuid)) { + jobPhaseOperation = autoexecJobPhaseOperation; + break; + } + } + } + JSONArray elseList = paramConfig.getJSONArray("elseList"); + if (CollectionUtils.isNotEmpty(elseList)) { + List list = elseList.toJavaList(AutoexecJobPhaseOperationVo.class); + for (AutoexecJobPhaseOperationVo autoexecJobPhaseOperation : list) { + if (Objects.equals(autoexecJobPhaseOperation.getUuid(), opUuid)) { + jobPhaseOperation = autoexecJobPhaseOperation; + break; + } + } + } + } + } + } + if (jobPhaseOperation != null) { String valueFormat = "${%s.%s_%d.%s}"; if (Objects.equals(paramMappingVo.getMappingMode(), ParamMappingMode.PRE_NODE_OUTPUT_PARAM_KEY.getValue())) { valueFormat = "#{%s.%s_%d.%s}"; } - paramMappingVo.setValue(String.format(valueFormat, phaseVoOptional.get().getName(), preOperationNameMap.get(opUuid), operationVoOptional.get().getId(), value)); + paramMappingVo.setValue(String.format(valueFormat, phaseVoOptional.get().getName(), preOperationNameMap.get(opUuid), jobPhaseOperation.getId(), value)); } else { throw new ParamIrregularException(phaseVo.getName() + ":" + operationVo.getName() + ":" + param.getName() + " operation"); } -- Gitee