From ab6022e29b4e0aee1ccadd4ce32b7ede06343afc Mon Sep 17 00:00:00 2001 From: junjun Date: Mon, 24 Jun 2024 15:01:10 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E8=A7=86=E5=9B=BE):=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 --- .../java/io/dataease/service/chart/ChartViewService.java | 6 +++++- .../plugins/common/request/chart/ChartExtFilterRequest.java | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java index 0223656212..83828f608c 100644 --- a/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -856,6 +856,7 @@ public class ChartViewService { ChartExtFilterRequest filterRequest = new ChartExtFilterRequest(); BeanUtils.copyBean(filterRequest, request); filterRequest.setDatasetTableFieldList(new ArrayList<>()); + filterRequest.setFilterType(0); for (String fId : fieldIds) { DatasetTableField datasetTableField = dataSetTableFieldsService.get(fId); if (datasetTableField == null) { @@ -881,6 +882,7 @@ public class ChartViewService { ChartExtFilterRequest filterRequest = new ChartExtFilterRequest(); BeanUtils.copyBean(filterRequest, request); filterRequest.setFieldId(fId); + filterRequest.setFilterType(0); DatasetTableField datasetTableField = dataSetTableFieldsService.get(fId); if (datasetTableField == null) { @@ -921,6 +923,7 @@ public class ChartViewService { DatasetTableField datasetTableField = dataSetTableFieldsService.get(request.getFieldId()); if (!desensitizationList.keySet().contains(datasetTableField.getDataeaseName()) && dataeaseNames.contains(datasetTableField.getDataeaseName())) { request.setDatasetTableField(datasetTableField); + request.setFilterType(2); if (StringUtils.equalsIgnoreCase(datasetTableField.getTableId(), view.getTableId())) { // 设置日期格式,以视图字段设置的格式为准,先不处理组件的条件,因为格式无法统一。 if (request.getDatasetTableField() != null) { @@ -1026,6 +1029,7 @@ public class ChartViewService { tmpFilter.setDatePattern(chartFieldMap.get(tmpField.getId()).getDatePattern()); tmpFilter.setFieldId(tmpField.getId()); tmpFilter.setValue(Collections.singletonList(dimValMap.get(tmpField.getId()))); + tmpFilter.setFilterType(1); extFilterList.add(tmpFilter); drillFilters.add(tmpFilter); } @@ -1105,7 +1109,7 @@ public class ChartViewService { 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/dataease-plugin-common/src/main/java/io/dataease/plugins/common/request/chart/ChartExtFilterRequest.java b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/request/chart/ChartExtFilterRequest.java index dda48476c6..fec0a39840 100644 --- a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/request/chart/ChartExtFilterRequest.java +++ b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/request/chart/ChartExtFilterRequest.java @@ -36,4 +36,6 @@ public class ChartExtFilterRequest { private String dateStyle; @ApiModelProperty("日期格式") private String datePattern; + @ApiModelProperty("过滤类型") + private int filterType;// 0-过滤组件,1-下钻,2-联动,外部参数 }