From 14ea3accd3d9180a4acdc1360f2e9d8ff1c5c9a7 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 28 Feb 2024 08:36:37 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=98=8E=E7=BB=86=E8=A1=A8=E5=A4=A7=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=87=8F=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/service/chart/ChartViewService.java | 7 +++++++ .../dataease/service/panel/PanelGroupService.java | 13 ++----------- 2 files changed, 9 insertions(+), 11 deletions(-) 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 0b598755cf..e4cb0255b9 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 @@ -1327,6 +1327,13 @@ public class ChartViewService { } else { data = resultCustomSort(xAxis, data); } + // 如果是表格导出查询 则在此处直接就可以返回 + if(chartExtRequest.getExcelExportFlag()){ + Map sourceInfo = new HashMap<>(); + sourceInfo.put("sourceData",data); + chartViewDTO.setData(sourceInfo); + return chartViewDTO; + } // 同比/环比计算,通过对比类型和数据设置,计算出对应指标的结果,然后替换结果data数组中的对应元素 // 如果因维度变化(如时间字段缺失,时间字段的展示格式变化)导致无法计算结果的,则结果data数组中的对应元素全置为null // 根据不同图表类型,获得需要替换的指标index array diff --git a/core/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java b/core/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java index 7a1b933dd0..55d49cf610 100644 --- a/core/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/core/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -1210,7 +1210,6 @@ public class PanelGroupService { request.setDownloadType(viewInfo.getType()); if ("table-info".equals(viewInfo.getType())) { try { - List excelHeaderKeys = request.getExcelHeaderKeys(); ChartExtRequest componentFilterInfo = request.getComponentFilterInfo(); componentFilterInfo.setGoPage(1L); componentFilterInfo.setPageSize(limit); @@ -1218,16 +1217,8 @@ public class PanelGroupService { componentFilterInfo.setProxy(request.getProxy()); componentFilterInfo.setUser(request.getUserId()); ChartViewDTO chartViewInfo = chartViewService.getData(request.getViewId(), componentFilterInfo); - List tableRow = (List) chartViewInfo.getData().get("tableRow"); - List result = new ArrayList<>(); - for (Map detailMap : tableRow) { - List detailObj = new ArrayList<>(); - for (String key : excelHeaderKeys) { - detailObj.add(detailMap.get(key)); - } - result.add(detailObj.toArray()); - } - request.setDetails(result); + List tableRow = (List) chartViewInfo.getData().get("sourceData"); + request.setDetails(tableRow); } catch (Exception e) { throw new RuntimeException(e); }