From ebef25efb54a29ebe2b254cf713a3d31ec6f543d Mon Sep 17 00:00:00 2001 From: wisonic-s Date: Tue, 2 Jul 2024 18:24:37 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=9B=BE=E8=A1=A8):=20=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E4=B8=8B=E9=92=BB=E6=98=BE=E7=A4=BA=E8=B7=AF=E5=BE=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/chart/charts/impl/DefaultChartHandler.java | 6 ++++++ .../main/java/io/dataease/chart/manage/ChartDataManage.java | 1 + 2 files changed, 7 insertions(+) diff --git a/core/core-backend/src/main/java/io/dataease/chart/charts/impl/DefaultChartHandler.java b/core/core-backend/src/main/java/io/dataease/chart/charts/impl/DefaultChartHandler.java index 3cbfb42dd9..e5afb313c3 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/charts/impl/DefaultChartHandler.java +++ b/core/core-backend/src/main/java/io/dataease/chart/charts/impl/DefaultChartHandler.java @@ -137,6 +137,12 @@ public class DefaultChartHandler extends AbstractChartPlugin { Map mapTableNormal = ChartDataBuild.transTableNormal(xAxis, yAxis, view, calcResult.getOriginData(), extStack, desensitizationList); var drillFilters = filterResult.getFilterList().stream().filter(f -> f.getFilterType() == 1).collect(Collectors.toList()); + // 日期下钻替换回去 + drillFilters.forEach(f -> { + if (CollectionUtils.isNotEmpty(f.getOriginValue())) { + f.setValue(f.getOriginValue()); + } + }); var isDrill = CollectionUtils.isNotEmpty(drillFilters); // 构建结果 Map dataMap = new HashMap<>(); 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 9be93b0874..31394eaa8a 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 @@ -281,6 +281,7 @@ public class ChartDataManage { drillFilter.setFilterType(1); if (datasetTableField.getDeType() == 1) { drillFilter.setOperator("between"); + drillFilter.setOriginValue(Collections.singletonList(dim.getValue())); // 把value类似过滤组件处理,获得start time和end time Map stringLongMap = Utils.parseDateTimeValue(dim.getValue()); drillFilter.setValue(Arrays.asList(String.valueOf(stringLongMap.get("startTime")), String.valueOf(stringLongMap.get("endTime"))));