fix(图表): 修复混合图副值轴和过滤组件日期字段联动时同环比计算错误

This commit is contained in:
wisonic
2025-12-16 18:38:07 +08:00
committed by wisonic-s
parent 9d972ff739
commit f2931df35d

View File

@@ -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<ChartExtFilterDTO>) originFilter);
}
// 右轴重新检测同环比过滤
customFilter(view, filterResult.getFilterList(), rightFormatResult);
var allFields = (List<ChartViewFieldDTO>) 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