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 4b6e000981..74cc0b0bb1 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 @@ -3,11 +3,14 @@ package io.dataease.chart.charts.impl.mix; import io.dataease.api.dataset.union.DatasetGroupInfoDTO; import io.dataease.chart.charts.impl.YoyChartHandler; import io.dataease.chart.utils.ChartDataBuild; +import io.dataease.engine.trans.ExtWhere2Str; +import io.dataease.engine.utils.Utils; import io.dataease.extensions.datasource.dto.DatasourceRequest; import io.dataease.extensions.datasource.dto.DatasourceSchemaDTO; import io.dataease.extensions.datasource.model.SQLMeta; import io.dataease.extensions.datasource.provider.Provider; import io.dataease.extensions.view.dto.*; +import io.dataease.extensions.view.util.FieldUtil; import lombok.Getter; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; @@ -146,9 +149,14 @@ public class MixHandler extends YoyChartHandler { formatResult.getContext().put("subAxisMap", axisMap); - + var originFilter = filterResult.getContext().get("originFilter"); + if (originFilter != null) { + filterResult.setFilterList((List) originFilter); + } // 右轴重新检测同环比过滤 customFilter(view, filterResult.getFilterList(), rightFormatResult); + var allFields = (List) filterResult.getContext().get("allFields"); + ExtWhere2Str.extWhere2sqlOjb(sqlMeta, filterResult.getFilterList(), FieldUtil.transFields(allFields), crossDs, dsMap, Utils.getParams(FieldUtil.transFields(allFields)), view.getCalParams(), pluginManage); var rightResult = (T) super.calcChartResult(view, rightFormatResult, filterResult, sqlMap, sqlMeta, provider); try { //如果有同环比过滤,应该用原始sql