From 74f445ffb3f9b1c951551968426bb43eee030760 Mon Sep 17 00:00:00 2001 From: wisonic-s Date: Wed, 22 Oct 2025 16:18:09 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=9B=BE=E8=A1=A8):=20=E7=BB=84=E5=90=88?= =?UTF-8?q?=E5=9B=BE=E5=89=AF=E5=80=BC=E8=BD=B4=E6=94=AF=E6=8C=81=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E5=90=8C=E7=8E=AF=E6=AF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/charts/impl/mix/MixHandler.java | 27 +++++++++---------- .../chart/manage/ChartDataManage.java | 14 +++++----- .../components/editor/drag-item/QuotaItem.vue | 1 - 3 files changed, 19 insertions(+), 23 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/chart/charts/impl/mix/MixHandler.java b/core/core-backend/src/main/java/io/dataease/chart/charts/impl/mix/MixHandler.java index ee7c7c73f6..2d26c6ce64 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/charts/impl/mix/MixHandler.java +++ b/core/core-backend/src/main/java/io/dataease/chart/charts/impl/mix/MixHandler.java @@ -81,7 +81,6 @@ public class MixHandler extends YoyChartHandler { for (Map.Entry next : dsMap.entrySet()) { dsList.add(next.getValue().getType()); } - boolean needOrder = Utils.isNeedOrder(dsList); boolean crossDs = ((DatasetGroupInfoDTO) formatResult.getContext().get("dataset")).getIsCross(); var leftResult = (T) super.calcChartResult(view, formatResult, filterResult, sqlMap, sqlMeta, provider); var dynamicAssistFields = getDynamicAssistFields(view); @@ -120,43 +119,43 @@ public class MixHandler extends YoyChartHandler { e.printStackTrace(); } - AxisFormatResult formatResult2 = new AxisFormatResult(); + AxisFormatResult rightFormatResult = new AxisFormatResult(); var axisMap = new HashMap>(); axisMap.put(ChartAxis.extLabel, new ArrayList<>(formatResult.getAxisMap().get(ChartAxis.extLabel))); axisMap.put(ChartAxis.extTooltip, new ArrayList<>(formatResult.getAxisMap().get(ChartAxis.extTooltip))); axisMap.put(ChartAxis.drill, new ArrayList<>(formatResult.getAxisMap().get(ChartAxis.drill))); - formatResult2.setAxisMap(axisMap); - formatResult2.setContext(formatResult.getContext()); + rightFormatResult.setAxisMap(axisMap); + rightFormatResult.setContext(formatResult.getContext()); // 计算右轴,包含 xAxis,xAxisExt,yAxisExt,需要去掉 group 和 stack var xAxis = new ArrayList<>(view.getXAxis()); var extBubble = new ArrayList<>(formatResult.getAxisMap().get(ChartAxis.extBubble)); xAxis.addAll(extBubble); - var dillAxis = (ArrayList) formatResult.getContext().get("dillAxis"); + var drillAxis = (ArrayList) formatResult.getContext().get("drillAxis"); var fields = xAxis.stream().map(ChartViewFieldDTO::getId).collect(Collectors.toSet()); - for (ChartViewFieldDTO dillAxi : dillAxis) { + for (ChartViewFieldDTO dillAxi : drillAxis) { if (!fields.contains(dillAxi.getId())) { xAxis.add(dillAxi); } } - formatResult2.getAxisMap().put(ChartAxis.xAxis, xAxis); - formatResult2.getAxisMap().put(ChartAxis.xAxisExt, extBubble); + rightFormatResult.getAxisMap().put(ChartAxis.xAxis, xAxis); + rightFormatResult.getAxisMap().put(ChartAxis.xAxisExt, extBubble); var yAxisExt = new ArrayList<>(formatResult.getAxisMap().get(ChartAxis.yAxisExt)); - formatResult2.getAxisMap().put(ChartAxis.yAxis, yAxisExt); - formatResult2.getContext().remove("yoyFiltered"); - formatResult2.getContext().put("isRight", "isRight"); + rightFormatResult.getAxisMap().put(ChartAxis.yAxis, yAxisExt); + rightFormatResult.getContext().remove("yoyFiltered"); + rightFormatResult.getContext().put("isRight", "isRight"); formatResult.getContext().put("subAxisMap", axisMap); // 右轴重新检测同环比过滤 - customFilter(view, filterResult.getFilterList(), formatResult2); - var rightResult = (T) super.calcChartResult(view, formatResult2, filterResult, sqlMap, sqlMeta, provider); + customFilter(view, filterResult.getFilterList(), rightFormatResult); + var rightResult = (T) super.calcChartResult(view, rightFormatResult, filterResult, sqlMap, sqlMeta, provider); try { //如果有同环比过滤,应该用原始sql var originSql = rightResult.getQuerySql(); var rightAssistFields = dynamicAssistFields.stream().filter(x -> StringUtils.equalsAnyIgnoreCase(x.getYAxisType(), "right")).toList(); - var yAxis = formatResult2.getAxisMap().get(ChartAxis.yAxis); + var yAxis = rightFormatResult.getAxisMap().get(ChartAxis.yAxis); var assistFields = getAssistFields(rightAssistFields, yAxis); if (CollectionUtils.isNotEmpty(assistFields)) { var req = new DatasourceRequest(); diff --git a/core/core-backend/src/main/java/io/dataease/chart/manage/ChartDataManage.java b/core/core-backend/src/main/java/io/dataease/chart/manage/ChartDataManage.java index a0f4bb569c..d096f26bc9 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/manage/ChartDataManage.java +++ b/core/core-backend/src/main/java/io/dataease/chart/manage/ChartDataManage.java @@ -110,7 +110,7 @@ public class ChartDataManage { DEException.throwException(ResultCode.DATA_IS_WRONG.code(), Translator.get("i18n_chart_not_handler") + ": " + view.getRender() + "," + view.getType()); } - var dillAxis = new ArrayList(); + var drillAxis = new ArrayList(); DatasetGroupInfoDTO table = datasetGroupManage.getDatasetGroupInfoDTO(view.getTableId(), null); if (table == null) { DEException.throwException(ResultCode.DATA_IS_WRONG.code(), Translator.get("i18n_no_ds")); @@ -141,9 +141,7 @@ public class ChartDataManage { var yAxis = formatResult.getAxisMap().get(ChartAxis.yAxis); formatResult.getContext().put("allFields", allFields); var axisMap = formatResult.getAxisMap(); - axisMap.forEach((axis, fields) -> { - fields.removeIf(fieldDTO -> !dataeaseNames.contains(fieldDTO.getDataeaseName())); - }); + axisMap.forEach((axis, fields) -> fields.removeIf(fieldDTO -> !dataeaseNames.contains(fieldDTO.getDataeaseName()))); // 过滤来自仪表板的条件 List extFilterList = new ArrayList<>(); @@ -319,7 +317,7 @@ public class ChartDataManage { if (!fields.contains(dim.getId())) { viewField.setSource(FieldSource.DRILL); xAxis.add(viewField); - dillAxis.add(viewField); + drillAxis.add(viewField); fields.add(dim.getId()); } if (i == drillRequestList.size() - 1) { @@ -327,7 +325,7 @@ public class ChartDataManage { if (!fields.contains(nextDrillField.getId())) { nextDrillField.setSource(FieldSource.DRILL); xAxis.add(nextDrillField); - dillAxis.add(nextDrillField); + drillAxis.add(nextDrillField); fields.add(nextDrillField.getId()); } else { Optional axis = xAxis.stream().filter(x -> Objects.equals(x.getId(), nextDrillField.getId())).findFirst(); @@ -335,7 +333,7 @@ public class ChartDataManage { field.setSort(nextDrillField.getSort()); field.setCustomSort(nextDrillField.getCustomSort()); }); - dillAxis.add(nextDrillField); + drillAxis.add(nextDrillField); } } } @@ -343,7 +341,7 @@ public class ChartDataManage { } } - formatResult.getContext().put("dillAxis", dillAxis); + formatResult.getContext().put("drillAxis", drillAxis); //转义特殊字符 extFilterList = extFilterList.stream().peek(ele -> { diff --git a/core/core-frontend/src/views/chart/components/editor/drag-item/QuotaItem.vue b/core/core-frontend/src/views/chart/components/editor/drag-item/QuotaItem.vue index bd9a592a08..8808cef989 100644 --- a/core/core-frontend/src/views/chart/components/editor/drag-item/QuotaItem.vue +++ b/core/core-frontend/src/views/chart/components/editor/drag-item/QuotaItem.vue @@ -672,7 +672,6 @@ onMounted(() => { class="menu-item-padding" :disabled="state.disableEditCompare" :command="beforeQuickCalc('setting')" - v-if="!(chart.type.includes('chart-mix') && type === 'quotaExt')" >