From a4e55ec97630646b3edc5d75cedf8b649dd153a8 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 29 Apr 2024 17:28:41 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E8=BF=87=E6=BB=A4=E7=BB=84=E4=BB=B6):=20?= =?UTF-8?q?=E6=A0=91=E5=BD=A2=E8=BF=87=E6=BB=A4=E5=99=A8=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E6=8E=89=E6=89=80=E6=9C=89=E8=8A=82=E7=82=B9=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E7=9A=84=E5=AD=90=E6=A0=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataset/impl/direct/DirectFieldService.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/core/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java b/core/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java index ec4551238e..bdb0ee9102 100644 --- a/core/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java +++ b/core/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java @@ -226,10 +226,19 @@ public class DirectFieldService implements DataSetFieldService { if (CollectionUtils.isNotEmpty(rows) && existExtSortField && originSize > 0) { rows = rows.stream().map(row -> ArrayUtils.subarray(row, 0, originSize)).collect(Collectors.toList()); } + rows = rows.stream().filter(row -> { + int length = row.length; + boolean allEmpty = true; + for (String s : row) { + if (StringUtils.isNotBlank(s)) { + allEmpty = false; + } + } + return !allEmpty; + }).collect(Collectors.toList()); List treeNodes = rows.stream().map(row -> buildTreeNode(row, pkSet)).flatMap(Collection::stream).collect(Collectors.toList()); List tree = TreeUtils.mergeDuplicateTree(treeNodes, TreeUtils.DEFAULT_ROOT); return tree; - } private List buildTreeNode(String[] row, Set pkSet) { @@ -239,12 +248,12 @@ public class DirectFieldService implements DataSetFieldService { String text = row[i]; parentPkList.add(text); - String val = parentPkList.stream().collect(Collectors.joining(TreeUtils.SEPARATOR)); + String val = String.join(TreeUtils.SEPARATOR, parentPkList); String parentVal = i == 0 ? TreeUtils.DEFAULT_ROOT : row[i - 1]; - String pk = parentPkList.stream().collect(Collectors.joining(TreeUtils.SEPARATOR)); + String pk = String.join(TreeUtils.SEPARATOR, parentPkList); if (pkSet.contains(pk)) continue; pkSet.add(pk); - BaseTreeNode node = new BaseTreeNode(val, parentVal, text, pk + TreeUtils.SEPARATOR + i); + BaseTreeNode node = new BaseTreeNode(val, parentVal, StringUtils.isNotBlank(text) ? text.trim() : text, pk + TreeUtils.SEPARATOR + i); nodes.add(node); } return nodes;