From 97612f19684aa78319d135da6a3e1ed46ba45d1e Mon Sep 17 00:00:00 2001 From: junjie Date: Fri, 30 Jul 2021 17:44:44 +0800 Subject: [PATCH 1/5] =?UTF-8?q?refactor:=20=E6=95=B0=E6=8D=AE=E9=A2=84?= =?UTF-8?q?=E8=A7=88=E6=8E=A5=E5=8F=A3=E5=BB=B6=E9=95=BF=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/api/dataset/dataset.js | 3 ++- frontend/src/views/dataset/common/DatasetTableData.vue | 2 +- frontend/src/views/dataset/data/ViewTable.vue | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/frontend/src/api/dataset/dataset.js b/frontend/src/api/dataset/dataset.js index ebd256eaf9..a91a6c7d06 100644 --- a/frontend/src/api/dataset/dataset.js +++ b/frontend/src/api/dataset/dataset.js @@ -111,11 +111,12 @@ export function batchEdit(data) { }) } -export function post(url, data, showLoading = true) { +export function post(url, data, showLoading = true, timeout = 10000) { return request({ url: url, method: 'post', loading: showLoading, + timeout: timeout, data }) } diff --git a/frontend/src/views/dataset/common/DatasetTableData.vue b/frontend/src/views/dataset/common/DatasetTableData.vue index cb58e377b8..d5ad466c2b 100644 --- a/frontend/src/views/dataset/common/DatasetTableData.vue +++ b/frontend/src/views/dataset/common/DatasetTableData.vue @@ -72,7 +72,7 @@ export default { if (this.table.id) { this.dataLoading = true this.table.row = 100 - post('/dataset/table/getPreviewData/1/100', this.table, false).then(response => { + post('/dataset/table/getPreviewData/1/100', this.table, false,30000).then(response => { this.fields = response.data.fields this.data = response.data.data const datas = this.data diff --git a/frontend/src/views/dataset/data/ViewTable.vue b/frontend/src/views/dataset/data/ViewTable.vue index 844dafbfa2..3e645ec7c8 100644 --- a/frontend/src/views/dataset/data/ViewTable.vue +++ b/frontend/src/views/dataset/data/ViewTable.vue @@ -134,7 +134,7 @@ export default { initPreviewData(page) { if (this.table.id) { this.table.row = this.tableViewRowForm.row - post('/dataset/table/getPreviewData/' + page.page + '/' + page.pageSize, this.table).then(response => { + post('/dataset/table/getPreviewData/' + page.page + '/' + page.pageSize, this.table, true, 30000).then(response => { this.fields = response.data.fields this.data = response.data.data this.page = response.data.page From fe4fa7cf501cf57f92686bfeb3f587e0a4d681ec Mon Sep 17 00:00:00 2001 From: junjie Date: Fri, 30 Jul 2021 18:24:46 +0800 Subject: [PATCH 2/5] =?UTF-8?q?refactor:=20=E6=96=87=E6=A1=88=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=9B=E8=A7=86=E5=9B=BE=E5=88=9B=E5=BB=BA=E5=88=86?= =?UTF-8?q?=E7=BB=84=E9=BB=98=E8=AE=A4=E5=B1=95=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/shape-attr/TooltipSelector.vue | 16 ++++++++-------- frontend/src/views/chart/group/Group.vue | 3 ++- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/frontend/src/views/chart/components/shape-attr/TooltipSelector.vue b/frontend/src/views/chart/components/shape-attr/TooltipSelector.vue index f4a76dedbe..2e0fc50367 100644 --- a/frontend/src/views/chart/components/shape-attr/TooltipSelector.vue +++ b/frontend/src/views/chart/components/shape-attr/TooltipSelector.vue @@ -26,19 +26,19 @@ {{ $t('chart.content_formatter') }}
- 模板变量有 {a}, {b},{c},{d},{e},分别表示系列名,数据名,数据值等。 + 模板变量有 {a}, {b},{c},{d},分别表示系列名,数据名,数据值等。
- 在 trigger 为 'axis' 的时候,会有多个系列的数据,此时可以通过 {a0}, {a1}, {a2} 这种后面加索引的方式表示系列的索引。 + 在 触发位置 为 '坐标轴' 的时候,会有多个系列的数据,此时可以通过 {a0}, {a1}, {a2} 这种后面加索引的方式表示系列的索引。
不同图表类型下的 {a},{b},{c},{d} 含义不一样。 其中变量{a}, {b}, {c}, {d}在不同图表类型下代表数据含义为:

- 折线(区域)图、柱状(条形)图、K线图 : {a}(系列名称),{b}(类目值),{c}(数值), {d}(无) + 折线(区域)图、柱状(条形)图、仪表盘 : {a}(系列名称),{b}(类目值),{c}(数值)
- 散点图(气泡)图 : {a}(系列名称),{b}(数据名称),{c}(数值数组), {d}(无) -
- 地图 : {a}(系列名称),{b}(区域名称),{c}(合并数值), {d}(无) -
- 饼图、仪表板、漏斗图: {a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比) + + + + + 饼图、漏斗图: {a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比)
diff --git a/frontend/src/views/chart/group/Group.vue b/frontend/src/views/chart/group/Group.vue index 8783ceddce..2cd2cc1c3d 100644 --- a/frontend/src/views/chart/group/Group.vue +++ b/frontend/src/views/chart/group/Group.vue @@ -535,7 +535,8 @@ export default { type: 'success', showClose: true }) - this.treeNode(this.groupForm) + // this.treeNode(this.groupForm) + this.refreshNodeBy(group.pid) }) } else { // this.$message({ From cc5a92e3d4dd30024959eb86e7fa3aea104298ad Mon Sep 17 00:00:00 2001 From: junjie Date: Fri, 30 Jul 2021 18:45:08 +0800 Subject: [PATCH 3/5] =?UTF-8?q?refactor:=20=E8=A7=86=E5=9B=BE=E5=88=86?= =?UTF-8?q?=E7=BB=84tree=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/group/Group.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/views/chart/group/Group.vue b/frontend/src/views/chart/group/Group.vue index 2cd2cc1c3d..e533378f31 100644 --- a/frontend/src/views/chart/group/Group.vue +++ b/frontend/src/views/chart/group/Group.vue @@ -589,7 +589,8 @@ export default { message: this.$t('chart.delete_success'), showClose: true }) - this.treeNode(this.groupForm) + // this.treeNode(this.groupForm) + this.refreshNodeBy(data.pid) }) }).catch(() => { }) From 4c5290d87ba9508af86a046f5c3a8384ed9ed912 Mon Sep 17 00:00:00 2001 From: junjie Date: Sat, 31 Jul 2021 16:13:20 +0800 Subject: [PATCH 4/5] =?UTF-8?q?fix:=20tree=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/mapper/ext/ExtChartGroupMapper.xml | 6 +++ .../base/mapper/ext/ExtChartViewMapper.xml | 3 ++ .../base/mapper/ext/ExtDataSetGroupMapper.xml | 6 +++ .../base/mapper/ext/ExtDataSetTableMapper.xml | 3 ++ .../controller/chart/ChartViewController.java | 14 +++++-- .../dataset/DataSetTableController.java | 5 +++ .../request/chart/ChartGroupRequest.java | 3 ++ .../request/dataset/DataSetGroupRequest.java | 5 +++ .../service/chart/ChartViewService.java | 39 +++++++++++++++++++ .../service/dataset/DataSetTableService.java | 36 +++++++++++++++++ frontend/src/views/chart/group/Group.vue | 18 +++++---- frontend/src/views/dataset/group/Group.vue | 18 +++++---- 12 files changed, 139 insertions(+), 17 deletions(-) diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartGroupMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartGroupMapper.xml index 111ae9cab0..dfe3e343ed 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartGroupMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartGroupMapper.xml @@ -37,6 +37,12 @@ and chart_group.create_time = #{createTime,jdbcType=BIGINT} + + and id in + + #{item} + + order by ${sort} diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml index 1728fd92d4..66f0e6cb9b 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml @@ -39,6 +39,9 @@ and scene_id = #{sceneId,jdbcType=VARCHAR} + + and name like CONCAT('%', #{name},'%') + order by ${sort} diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtDataSetGroupMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtDataSetGroupMapper.xml index 5a881f4bf2..88ef56c5d3 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtDataSetGroupMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtDataSetGroupMapper.xml @@ -37,6 +37,12 @@ and dataset_group.create_time = #{createTime,jdbcType=BIGINT} + + and id in + + #{item} + + order by ${sort} diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtDataSetTableMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtDataSetTableMapper.xml index 77f6be94d5..be315eb38d 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtDataSetTableMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtDataSetTableMapper.xml @@ -45,6 +45,9 @@ and scene_id = #{sceneId,jdbcType=VARCHAR} + + and name like CONCAT('%', #{name},'%') + and mode = #{mode,jdbcType=INTEGER} diff --git a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java index d84402a9a6..ad43882cc3 100644 --- a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java +++ b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java @@ -4,7 +4,9 @@ import io.dataease.base.domain.ChartViewWithBLOBs; import io.dataease.commons.utils.AuthUtils; import io.dataease.controller.request.chart.ChartExtRequest; import io.dataease.controller.request.chart.ChartViewRequest; +import io.dataease.controller.request.dataset.DataSetTableRequest; import io.dataease.dto.chart.ChartViewDTO; +import io.dataease.dto.dataset.DataSetTableDTO; import io.dataease.service.chart.ChartViewService; import org.springframework.web.bind.annotation.*; @@ -63,7 +65,7 @@ public class ChartViewController { } @GetMapping("searchAdviceSceneId/{panelId}") - public String searchAdviceSceneId(@PathVariable String panelId){ + public String searchAdviceSceneId(@PathVariable String panelId) { return chartViewService.searchAdviceSceneId(panelId); } @@ -71,10 +73,16 @@ public class ChartViewController { public ChartViewDTO getOneWithPermission(@PathVariable String id, @RequestBody ChartExtRequest requestList) throws Exception { //如果能获取用户 则添加对应的权限 ChartViewDTO dto = chartViewService.getData(id, requestList); - if(dto!=null && AuthUtils.getUser()!=null){ - ChartViewDTO permissionDto = chartViewService.getOneWithPermission(dto.getId()); + if (dto != null && AuthUtils.getUser() != null) { + ChartViewDTO permissionDto = chartViewService.getOneWithPermission(dto.getId()); dto.setPrivileges(permissionDto.getPrivileges()); } return dto; } + + + @PostMapping("search") + public List search(@RequestBody ChartViewRequest chartViewRequest) { + return chartViewService.search(chartViewRequest); + } } diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java index 37d921e8d4..2ab3bd8075 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java @@ -108,4 +108,9 @@ public class DataSetTableController { public Boolean checkDorisTableIsExists(@PathVariable String id) throws Exception { return dataSetTableService.checkDorisTableIsExists(id); } + + @PostMapping("search") + public List search(@RequestBody DataSetTableRequest dataSetTableRequest) { + return dataSetTableService.search(dataSetTableRequest); + } } diff --git a/backend/src/main/java/io/dataease/controller/request/chart/ChartGroupRequest.java b/backend/src/main/java/io/dataease/controller/request/chart/ChartGroupRequest.java index 8ddcd1958c..624380ba30 100644 --- a/backend/src/main/java/io/dataease/controller/request/chart/ChartGroupRequest.java +++ b/backend/src/main/java/io/dataease/controller/request/chart/ChartGroupRequest.java @@ -3,9 +3,12 @@ package io.dataease.controller.request.chart; import io.dataease.base.domain.ChartGroup; import lombok.Data; +import java.util.Set; + @Data public class ChartGroupRequest extends ChartGroup { private String sort; private String userId; + private Set ids; } diff --git a/backend/src/main/java/io/dataease/controller/request/dataset/DataSetGroupRequest.java b/backend/src/main/java/io/dataease/controller/request/dataset/DataSetGroupRequest.java index cde03a2ffc..430fb22f1c 100644 --- a/backend/src/main/java/io/dataease/controller/request/dataset/DataSetGroupRequest.java +++ b/backend/src/main/java/io/dataease/controller/request/dataset/DataSetGroupRequest.java @@ -3,6 +3,9 @@ package io.dataease.controller.request.dataset; import io.dataease.base.domain.DatasetGroup; import lombok.Data; +import java.util.List; +import java.util.Set; + /** * @Author gin * @Date 2021/2/22 1:30 下午 @@ -12,4 +15,6 @@ public class DataSetGroupRequest extends DatasetGroup { private String sort; private String userId; + + private Set ids; } diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java index 84dbbf0fd7..85bf03df55 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -15,11 +15,15 @@ import io.dataease.controller.request.chart.ChartExtFilterRequest; import io.dataease.controller.request.chart.ChartExtRequest; import io.dataease.controller.request.chart.ChartGroupRequest; import io.dataease.controller.request.chart.ChartViewRequest; +import io.dataease.controller.request.dataset.DataSetGroupRequest; +import io.dataease.controller.request.dataset.DataSetTableRequest; import io.dataease.datasource.provider.DatasourceProvider; import io.dataease.datasource.provider.ProviderFactory; import io.dataease.datasource.request.DatasourceRequest; import io.dataease.datasource.service.DatasourceService; import io.dataease.dto.chart.*; +import io.dataease.dto.dataset.DataSetGroupDTO; +import io.dataease.dto.dataset.DataSetTableDTO; import io.dataease.dto.dataset.DataSetTableUnionDTO; import io.dataease.dto.dataset.DataTableInfoDTO; import io.dataease.i18n.Translator; @@ -110,6 +114,41 @@ public class ChartViewService { return group; } + public List search(ChartViewRequest chartViewRequest) { + String userId = String.valueOf(AuthUtils.getUser().getUserId()); + chartViewRequest.setUserId(userId); + List ds = extChartViewMapper.search(chartViewRequest); + if (CollectionUtils.isEmpty(ds)) { + return ds; + } + + TreeSet ids = new TreeSet<>(); + ds.forEach(ele -> { + ele.setIsLeaf(true); + ele.setPid(ele.getSceneId()); + ids.add(ele.getPid()); + }); + + ChartGroupRequest chartGroupRequest = new ChartGroupRequest(); + chartGroupRequest.setUserId(userId); + chartGroupRequest.setIds(ids); + List search = extChartGroupMapper.search(chartGroupRequest); + while (CollectionUtils.isNotEmpty(search)) { + ids.clear(); + search.forEach(ele -> { + ChartViewDTO dto = new ChartViewDTO(); + BeanUtils.copyBean(dto, ele); + dto.setIsLeaf(false); + dto.setType("group"); + ds.add(dto); + ids.add(ele.getPid()); + }); + chartGroupRequest.setIds(ids); + search = extChartGroupMapper.search(chartGroupRequest); + } + return ds; + } + public ChartViewWithBLOBs get(String id) { return chartViewMapper.selectByPrimaryKey(id); } diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 0991fbd679..5c61f458e0 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -12,6 +12,7 @@ import io.dataease.commons.constants.JobStatus; import io.dataease.commons.constants.ScheduleType; import io.dataease.commons.constants.TaskStatus; import io.dataease.commons.utils.*; +import io.dataease.controller.request.chart.ChartGroupRequest; import io.dataease.controller.request.dataset.DataSetGroupRequest; import io.dataease.controller.request.dataset.DataSetTableRequest; import io.dataease.controller.request.dataset.DataSetTaskRequest; @@ -232,6 +233,41 @@ public class DataSetTableService { return group; } + public List search(DataSetTableRequest dataSetTableRequest) { + String userId = String.valueOf(AuthUtils.getUser().getUserId()); + dataSetTableRequest.setUserId(userId); + List ds = extDataSetTableMapper.search(dataSetTableRequest); + if (CollectionUtils.isEmpty(ds)) { + return ds; + } + + TreeSet ids = new TreeSet<>(); + ds.forEach(ele -> { + ele.setIsLeaf(true); + ele.setPid(ele.getSceneId()); + ids.add(ele.getPid()); + }); + + DataSetGroupRequest dataSetGroupRequest = new DataSetGroupRequest(); + dataSetGroupRequest.setUserId(userId); + dataSetGroupRequest.setIds(ids); + List search = extDataSetGroupMapper.search(dataSetGroupRequest); + while (CollectionUtils.isNotEmpty(search)) { + ids.clear(); + search.forEach(ele -> { + DataSetTableDTO dto = new DataSetTableDTO(); + BeanUtils.copyBean(dto, ele); + dto.setIsLeaf(false); + dto.setType("group"); + ds.add(dto); + ids.add(ele.getPid()); + }); + dataSetGroupRequest.setIds(ids); + search = extDataSetGroupMapper.search(dataSetGroupRequest); + } + return ds; + } + public DatasetTable get(String id) { return datasetTableMapper.selectByPrimaryKey(id); } diff --git a/frontend/src/views/chart/group/Group.vue b/frontend/src/views/chart/group/Group.vue index e533378f31..6fae053c64 100644 --- a/frontend/src/views/chart/group/Group.vue +++ b/frontend/src/views/chart/group/Group.vue @@ -891,14 +891,18 @@ export default { searchTree(val) { const queryCondition = { - withExtend: 'parent', - modelType: 'chart', + // withExtend: 'parent', + // modelType: 'chart', name: val } - authModel(queryCondition).then(res => { - // this.highlights(res.data) + // authModel(queryCondition).then(res => { + // // this.highlights(res.data) + // this.tData = this.buildTree(res.data) + // // console.log(this.tData) + // }) + + post('/chart/view/search', queryCondition).then(res => { this.tData = this.buildTree(res.data) - // console.log(this.tData) }) }, @@ -910,8 +914,8 @@ export default { const roots = [] arrs.forEach(el => { // 判断根节点 ### - el.type = el.modelInnerType - el.isLeaf = el.leaf + // el.type = el.modelInnerType + // el.isLeaf = el.leaf if (el[this.treeProps.parentId] === null || el[this.treeProps.parentId] === 0 || el[this.treeProps.parentId] === '0') { roots.push(el) return diff --git a/frontend/src/views/dataset/group/Group.vue b/frontend/src/views/dataset/group/Group.vue index dd8292be32..19f8db239a 100644 --- a/frontend/src/views/dataset/group/Group.vue +++ b/frontend/src/views/dataset/group/Group.vue @@ -856,14 +856,18 @@ export default { searchTree(val) { const queryCondition = { - withExtend: 'parent', - modelType: 'dataset', + // withExtend: 'parent', + // modelType: 'dataset', name: val } - authModel(queryCondition).then(res => { - // this.highlights(res.data) + // authModel(queryCondition).then(res => { + // // this.highlights(res.data) + // this.tData = this.buildTree(res.data) + // // console.log(this.tData) + // }) + + post('/dataset/table/search', queryCondition).then(res => { this.tData = this.buildTree(res.data) - // console.log(this.tData) }) }, @@ -875,8 +879,8 @@ export default { const roots = [] arrs.forEach(el => { // 判断根节点 ### - el.type = el.modelInnerType - el.isLeaf = el.leaf + // el.type = el.modelInnerType + // el.isLeaf = el.leaf if (el[this.treeProps.parentId] === null || el[this.treeProps.parentId] === 0 || el[this.treeProps.parentId] === '0') { roots.push(el) return From 57f131d86d127ce4a7c9855eb865d24e59e3718e Mon Sep 17 00:00:00 2001 From: junjie Date: Sat, 31 Jul 2021 16:55:34 +0800 Subject: [PATCH 5/5] =?UTF-8?q?fix:=20tree=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/service/chart/ChartViewService.java | 16 ++++++++++++++-- .../service/dataset/DataSetTableService.java | 16 ++++++++++++++-- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java index 85bf03df55..5edfc6160d 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -117,6 +117,7 @@ public class ChartViewService { public List search(ChartViewRequest chartViewRequest) { String userId = String.valueOf(AuthUtils.getUser().getUserId()); chartViewRequest.setUserId(userId); + chartViewRequest.setSort("name asc"); List ds = extChartViewMapper.search(chartViewRequest); if (CollectionUtils.isEmpty(ds)) { return ds; @@ -129,6 +130,7 @@ public class ChartViewService { ids.add(ele.getPid()); }); + List group = new ArrayList<>(); ChartGroupRequest chartGroupRequest = new ChartGroupRequest(); chartGroupRequest.setUserId(userId); chartGroupRequest.setIds(ids); @@ -140,13 +142,23 @@ public class ChartViewService { BeanUtils.copyBean(dto, ele); dto.setIsLeaf(false); dto.setType("group"); - ds.add(dto); + group.add(dto); ids.add(ele.getPid()); }); chartGroupRequest.setIds(ids); search = extChartGroupMapper.search(chartGroupRequest); } - return ds; + + List res = new ArrayList<>(); + Map map = new TreeMap<>(); + group.forEach(ele -> map.put(ele.getId(), ele)); + Iterator> iterator = map.entrySet().iterator(); + while (iterator.hasNext()) { + res.add(iterator.next().getValue()); + } + res.sort(Comparator.comparing(ChartViewDTO::getName)); + res.addAll(ds); + return res; } public ChartViewWithBLOBs get(String id) { diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 5c61f458e0..cb1f05a3f2 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -236,6 +236,7 @@ public class DataSetTableService { public List search(DataSetTableRequest dataSetTableRequest) { String userId = String.valueOf(AuthUtils.getUser().getUserId()); dataSetTableRequest.setUserId(userId); + dataSetTableRequest.setSort("name asc"); List ds = extDataSetTableMapper.search(dataSetTableRequest); if (CollectionUtils.isEmpty(ds)) { return ds; @@ -248,6 +249,7 @@ public class DataSetTableService { ids.add(ele.getPid()); }); + List group = new ArrayList<>(); DataSetGroupRequest dataSetGroupRequest = new DataSetGroupRequest(); dataSetGroupRequest.setUserId(userId); dataSetGroupRequest.setIds(ids); @@ -259,13 +261,23 @@ public class DataSetTableService { BeanUtils.copyBean(dto, ele); dto.setIsLeaf(false); dto.setType("group"); - ds.add(dto); + group.add(dto); ids.add(ele.getPid()); }); dataSetGroupRequest.setIds(ids); search = extDataSetGroupMapper.search(dataSetGroupRequest); } - return ds; + + List res = new ArrayList<>(); + Map map = new TreeMap<>(); + group.forEach(ele -> map.put(ele.getId(), ele)); + Iterator> iterator = map.entrySet().iterator(); + while (iterator.hasNext()) { + res.add(iterator.next().getValue()); + } + res.sort(Comparator.comparing(DatasetTable::getName)); + res.addAll(ds); + return res; } public DatasetTable get(String id) {