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 484699306f..c13dc93703 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 @@ -57,7 +57,7 @@ public class MixHandler extends YoyChartHandler { boolean isDrill = filterResult .getFilterList() .stream() - .anyMatch(ele -> ele.getFilterType() == 1); + .anyMatch(ele -> ele.getFilterType() == 1) || filterResult.isDrill(); if (StringUtils.equals((String) formatResult.getContext().get("isRight"), "isRight")) { var xAxis = formatResult.getAxisMap().get(ChartAxis.xAxis); var xAxisExt = formatResult.getAxisMap().get(ChartAxis.xAxisExt); @@ -157,7 +157,12 @@ public class MixHandler extends YoyChartHandler { customFilter(view, originFilter.getFilterList(), formatResult2); var allFields = (List) filterResult.getContext().get("allFields"); ExtWhere2Str.extWhere2sqlOjb(sqlMeta, originFilter.getFilterList(), FieldUtil.transFields(allFields), crossDs, dsMap, Utils.getParams(FieldUtil.transFields(allFields)), view.getCalParams(), pluginManage); + originFilter.setDrill(filterResult + .getFilterList() + .stream() + .anyMatch(ele -> ele.getFilterType() == 1)); var rightResult = (T) super.calcChartResult(view, formatResult2, originFilter, sqlMap, sqlMeta, provider); + try { //如果有同环比过滤,应该用原始sql var originSql = rightResult.getQuerySql(); diff --git a/sdk/extensions/extensions-view/src/main/java/io/dataease/extensions/view/dto/CustomFilterResult.java b/sdk/extensions/extensions-view/src/main/java/io/dataease/extensions/view/dto/CustomFilterResult.java index 37692f8ddb..1ba8c532ac 100644 --- a/sdk/extensions/extensions-view/src/main/java/io/dataease/extensions/view/dto/CustomFilterResult.java +++ b/sdk/extensions/extensions-view/src/main/java/io/dataease/extensions/view/dto/CustomFilterResult.java @@ -13,4 +13,10 @@ import java.util.Map; public class CustomFilterResult { private List filterList; private Map context; + private boolean isDrill;// 组合图右轴判断是否下钻字段,其余地方没有用 + + public CustomFilterResult(List filterList, Map context) { + this.filterList = filterList; + this.context = context; + } }