From bcbd54bc1ac3083dcbec19c08a0309f079138362 Mon Sep 17 00:00:00 2001 From: junjun Date: Mon, 13 Jan 2025 20:08:25 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E8=AE=A1=E7=AE=97=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=8F=98=E6=9B=B4=E5=90=8E=E7=9A=84=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/engine/utils/Utils.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/engine/utils/Utils.java b/core/core-backend/src/main/java/io/dataease/engine/utils/Utils.java index f1ad7af765..e8f62db037 100644 --- a/core/core-backend/src/main/java/io/dataease/engine/utils/Utils.java +++ b/core/core-backend/src/main/java/io/dataease/engine/utils/Utils.java @@ -38,7 +38,7 @@ public class Utils { Map.Entry next = dsMap.entrySet().iterator().next(); datasourceType = getDs(pluginManage, next.getValue().getType()); } - return buildCalcField(chartField, tableObj, originFields, i, isCross, datasourceType, paramMap); + return buildCalcField(chartField, tableObj, originFields, i, isCross, datasourceType, paramMap, true); } catch (Exception e) { DEException.throwException(Translator.get("i18n_field_circular_ref")); } @@ -53,20 +53,20 @@ public class Utils { Map.Entry next = dsTypeMap.entrySet().iterator().next(); datasourceType = getDs(pluginManage, next.getValue()); } - return buildCalcField(chartField, tableObj, originFields, i, isCross, datasourceType, null); + return buildCalcField(chartField, tableObj, originFields, i, isCross, datasourceType, null, true); } catch (Exception e) { DEException.throwException(Translator.get("i18n_field_circular_ref")); } return null; } - public static String buildCalcField(DatasetTableFieldDTO chartField, SQLObj tableObj, List originFields, int i, boolean isCross, DsTypeDTO datasourceType, Map paramMap) throws Exception { + public static String buildCalcField(DatasetTableFieldDTO chartField, SQLObj tableObj, List originFields, int i, boolean isCross, DsTypeDTO datasourceType, Map paramMap, boolean isFirst) throws Exception { try { i++; if (i > 100) { DEException.throwException(Translator.get("i18n_field_circular_error")); } - String originField = getCalcField(chartField, originFields); + String originField = getCalcField(chartField, originFields, isFirst); originField = originField.replaceAll("[\\t\\n\\r]]", ""); // 正则提取[xxx] String regex = "\\[(.*?)]"; @@ -100,7 +100,7 @@ public class Utils { } else { originField = originField.replaceAll("\\[" + ele.getId() + "]", "(" + ele.getOriginName() + ")"); chartField.setOriginName(originField); - originField = buildCalcField(chartField, tableObj, originFields, i, isCross, datasourceType, paramMap); + originField = buildCalcField(chartField, tableObj, originFields, i, isCross, datasourceType, paramMap, false); } } } @@ -111,13 +111,17 @@ public class Utils { return null; } - public static String getCalcField(DatasetTableFieldDTO ele, List originFields) { - for (DatasetTableFieldDTO field : originFields) { - if (Objects.equals(ele.getId(), field.getId())) { - return field.getOriginName(); + public static String getCalcField(DatasetTableFieldDTO ele, List originFields, boolean isFirst) { + if (isFirst) { + for (DatasetTableFieldDTO field : originFields) { + if (Objects.equals(ele.getId(), field.getId())) { + return field.getOriginName(); + } } + return ""; + } else { + return ele.getOriginName(); } - return ""; } public static String getLogic(String logic) {