From 3487d4c6d3b718561e27d0100298cc1b9b5b95e5 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Thu, 26 Oct 2023 10:47:03 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20ehcarts=E6=A0=87=E8=AE=B0=E5=9C=B0?= =?UTF-8?q?=E5=9B=BEnpe#6356?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/chart/util/ChartDataBuild.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/core/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java b/core/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java index 4df9247e53..6145d62321 100644 --- a/core/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java +++ b/core/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java @@ -974,15 +974,19 @@ public class ChartDataBuild { tableRow.forEach(row -> { String key = xAxis.stream().map(x -> String.format(format, row.get(x.getDataeaseName()).toString())).collect(Collectors.joining("-de-")); List detailFieldValueList = groupDataList.get(key); - List> detailValueMapList = detailFieldValueList.stream().map((detailArr -> { - Map temp = new HashMap<>(); - for (int i = 0; i < realDetailFields.size(); i++) { - ChartViewFieldDTO realDetailField = realDetailFields.get(i); - temp.put(realDetailField.getDataeaseName(), detailArr[detailIndex + i]); - } - return temp; - })).collect(Collectors.toList()); - row.put("details", detailValueMapList); + if (CollectionUtils.isNotEmpty(detailFieldValueList)) { + List> detailValueMapList = detailFieldValueList.stream().map((detailArr -> { + Map temp = new HashMap<>(); + for (int i = 0; i < realDetailFields.size(); i++) { + ChartViewFieldDTO realDetailField = realDetailFields.get(i); + temp.put(realDetailField.getDataeaseName(), detailArr[detailIndex + i]); + } + return temp; + })).collect(Collectors.toList()); + row.put("details", detailValueMapList); + } else { + row.put("details", new ArrayList<>()); + } }); ChartViewFieldDTO detailFieldDTO = new ChartViewFieldDTO(); @@ -1253,7 +1257,7 @@ public class ChartDataBuild { quotaList.add(chartQuotaDTO); axisChartDataDTO.setQuotaList(quotaList); } - if (yAxis.size() == 2){ + if (yAxis.size() == 2) { try { axisChartDataDTO.setValue(StringUtils.isEmpty(row[xAxis.size()]) ? null : new BigDecimal(row[xAxis.size()])); } catch (Exception e) {