From b04a435f4a010b64d9f2072665755f50ad9f8285 Mon Sep 17 00:00:00 2001 From: junjun Date: Mon, 24 Jun 2024 15:11:30 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E5=9B=BE=E8=A1=A8):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E5=90=8C=E7=8E=AF=E6=AF=94=E6=97=A5=E6=9C=9F=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E8=BF=87=E6=BB=A4=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/dataease/chart/manage/ChartDataManage.java | 6 +++++- .../io/dataease/extensions/view/dto/ChartExtFilterDTO.java | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) 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 e7b721bb3a..44318e010c 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 @@ -407,6 +407,7 @@ public class ChartDataManage { ChartExtFilterDTO filterRequest = new ChartExtFilterDTO(); BeanUtils.copyBean(filterRequest, request); filterRequest.setDatasetTableFieldList(new ArrayList<>()); + filterRequest.setFilterType(0); for (Long fId : fieldIds) { DatasetTableFieldDTO datasetTableField = datasetTableFieldManage.selectById(fId); if (datasetTableField == null) { @@ -430,6 +431,7 @@ public class ChartDataManage { ChartExtFilterDTO filterRequest = new ChartExtFilterDTO(); BeanUtils.copyBean(filterRequest, request); filterRequest.setFieldId(fId + ""); + filterRequest.setFilterType(0); DatasetTableFieldDTO datasetTableField = datasetTableFieldManage.selectById(fId); if (datasetTableField == null) { @@ -467,6 +469,7 @@ public class ChartDataManage { for (ChartExtFilterDTO request : filters) { DatasetTableFieldDTO datasetTableField = datasetTableFieldManage.selectById(Long.valueOf(request.getFieldId())); request.setDatasetTableField(datasetTableField); + request.setFilterType(2); // 相同数据集 if (Objects.equals(datasetTableField.getDatasetGroupId(), view.getTableId())) { if (ObjectUtils.isNotEmpty(request.getViewIds())) { @@ -554,6 +557,7 @@ public class ChartDataManage { tmpFilter.setOperator("in"); tmpFilter.setValue(Collections.singletonList(dimValMap.get(tmpField.getId()))); } + tmpFilter.setFilterType(1); extFilterList.add(tmpFilter); drillFilters.add(tmpFilter); } @@ -620,7 +624,7 @@ public class ChartDataManage { if (StringUtils.isNotEmpty(compareCalc.getType()) && !StringUtils.equalsIgnoreCase(compareCalc.getType(), "none")) { if (Arrays.asList(ChartConstants.M_Y).contains(compareCalc.getType())) { - if (StringUtils.equalsIgnoreCase(compareCalc.getField() + "", filterDTO.getFieldId())) { + if (StringUtils.equalsIgnoreCase(compareCalc.getField() + "", filterDTO.getFieldId()) && filterDTO.getFilterType() == 0) { // -1 year try { Calendar calendar = Calendar.getInstance(); diff --git a/sdk/extensions/extensions-view/src/main/java/io/dataease/extensions/view/dto/ChartExtFilterDTO.java b/sdk/extensions/extensions-view/src/main/java/io/dataease/extensions/view/dto/ChartExtFilterDTO.java index 142d1148ab..5c75dcd7fb 100644 --- a/sdk/extensions/extensions-view/src/main/java/io/dataease/extensions/view/dto/ChartExtFilterDTO.java +++ b/sdk/extensions/extensions-view/src/main/java/io/dataease/extensions/view/dto/ChartExtFilterDTO.java @@ -18,4 +18,5 @@ public class ChartExtFilterDTO { private List datasetTableFieldList; private String dateStyle; private String datePattern; + private int filterType;// 0-过滤组件,1-下钻,2-联动,外部参数 }