From aa5d4cf0e29bac9d8739876adfa66da052686c0e Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Tue, 31 May 2022 23:15:16 +0800 Subject: [PATCH 01/11] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E9=80=89?= =?UTF-8?q?=E9=A1=B9=E5=8D=A1=E9=80=89=E6=8B=A9=E7=BB=84=E4=BB=B6=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/widget/DeWidget/DeTabs.vue | 8 ++++++-- frontend/src/lang/en.js | 3 ++- frontend/src/lang/tw.js | 3 ++- frontend/src/lang/zh.js | 3 ++- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/widget/DeWidget/DeTabs.vue b/frontend/src/components/widget/DeWidget/DeTabs.vue index 3aef14dd72..4fff2799ea 100644 --- a/frontend/src/components/widget/DeWidget/DeTabs.vue +++ b/frontend/src/components/widget/DeWidget/DeTabs.vue @@ -333,13 +333,17 @@ export default { this.styleChange() } }) + this.otherComponentDialogVisible = false + return } - this.otherComponentDialogVisible = false + this.$warning(this.$t('detabs.please') + this.$t('detabs.selectOthers')) + }, sureViewSelector() { const nodes = this.$refs.viewSelect.getCurrentSelected() if (!nodes || nodes.length === 0) { - this.viewDialogVisible = false + this.$warning(this.$t('detabs.please') + this.$t('detabs.selectview')) + return } const node = nodes[0] diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 8e627521c0..9398ba7623 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -416,7 +416,8 @@ export default { eidttitle: 'Edit Title', selectview: 'Select View', selectOthers: 'Select Others', - availableComponents: 'Available Components' + availableComponents: 'Available Components', + please: 'Please' }, example: { warning: 'Creating and editing pages cannot be cached by keep-alive because keep-alive include does not currently support caching based on routes, so it is currently cached based on component name. If you want to achieve a similar caching effect, you can use a browser caching scheme such as localStorage. Or do not use keep-alive include to cache all pages directly. See details' diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index fd8c401e24..98289a8e2e 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -416,7 +416,8 @@ export default { eidttitle: '編輯標題', selectview: '選擇視圖', selectOthers: '選擇組件', - availableComponents: '可選組件' + availableComponents: '可選組件', + please: '未' }, example: { warning: '創建和編輯頁面是不能被 keep-alive 緩存的,因爲keep-alive 的 include 目前不支持根據路由來緩存,所以目前都是基於 component name 來進行緩存的。如果妳想類似的實現緩存效果,可以使用 localStorage 等瀏覽器緩存方案。或者不要使用 keep-alive 的 include,直接緩存所有頁面。詳情見' diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index cef09bc9d5..2d9678c76b 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -417,7 +417,8 @@ export default { eidttitle: '编辑标题', selectview: '选择视图', selectOthers: '选择组件', - availableComponents: '可选组件' + availableComponents: '可选组件', + please: '未' }, example: { warning: '创建和编辑页面是不能被 keep-alive 缓存的,因为keep-alive 的 include 目前不支持根据路由来缓存,所以目前都是基于 component name 来进行缓存的。如果你想类似的实现缓存效果,可以使用 localStorage 等浏览器缓存方案。或者不要使用 keep-alive 的 include,直接缓存所有页面。详情见' From 05963e8943a66af93078fb979a5619398b64c6e9 Mon Sep 17 00:00:00 2001 From: junjun Date: Wed, 1 Jun 2022 11:04:50 +0800 Subject: [PATCH 02/11] =?UTF-8?q?fix:=20=E6=81=A2=E5=A4=8D=E7=BB=84?= =?UTF-8?q?=E5=90=88=E5=9B=BE=E5=89=AF=E8=BD=B4=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/chart/util.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/views/chart/chart/util.js b/frontend/src/views/chart/chart/util.js index 820119b829..c100ca2f23 100644 --- a/frontend/src/views/chart/chart/util.js +++ b/frontend/src/views/chart/chart/util.js @@ -1564,7 +1564,9 @@ export const TYPE_CONFIGS = [ 'position', 'name', 'nameTextStyle', - 'splitLine' + 'axisValue', + 'splitLine', + 'axisLabel' ], 'title-selector': [ 'show', From 4a62db8224fb751e1364922ac8cd9ab851c61817 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Wed, 1 Jun 2022 11:15:49 +0800 Subject: [PATCH 03/11] =?UTF-8?q?fix:=20=E7=AC=A6=E5=8F=B7=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E5=AF=BC=E5=87=BAexcel=E7=BC=BA=E5=B0=91=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/service/chart/ChartViewService.java | 2 +- .../service/chart/util/ChartDataBuild.java | 16 +++++++++++++--- 2 files changed, 14 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 25190fb6c8..d5d2bb2e6b 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -787,7 +787,7 @@ public class ChartViewService { data = datasourceProvider.getData(datasourceRequest); Map mapChart = pluginViewResult(pluginViewParam, view, data, isDrill); - Map mapTableNormal = ChartDataBuild.transTableNormal(xAxis, yAxis, view, data, extStack, desensitizationList); + Map mapTableNormal = ChartDataBuild.transTableNormal(fieldMap, view, data, desensitizationList); return uniteViewResult(datasourceRequest.getQuery(), mapChart, mapTableNormal, view, isDrill, drillFilters); // 如果是插件到此结束 diff --git a/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java b/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java index 6fa1d9a3f0..4daf0ce137 100644 --- a/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java +++ b/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java @@ -859,9 +859,7 @@ public class ChartDataBuild { // 表格 public static Map transTableNormal(List xAxis, List yAxis, ChartViewWithBLOBs view, List data, List extStack, List desensitizationList) { - Map map = new TreeMap<>(); List fields = new ArrayList<>(); - List> tableRow = new ArrayList<>(); if (ObjectUtils.isNotEmpty(xAxis)) { fields.addAll(xAxis); } @@ -871,6 +869,18 @@ public class ChartDataBuild { } } fields.addAll(yAxis); + return transTableNormal(fields, view, data, desensitizationList); + } + + // 表格 + public static Map transTableNormal(Map> fieldMap, ChartViewWithBLOBs view, List data, List desensitizationList) { + List fields = fieldMap.entrySet().stream().map(Map.Entry::getValue).flatMap(List::stream).collect(Collectors.toList()); + return transTableNormal(fields, view, data, desensitizationList); + } + + private static Map transTableNormal(List fields, ChartViewWithBLOBs view, List data, List desensitizationList) { + Map map = new TreeMap<>(); + List> tableRow = new ArrayList<>(); data.forEach(ele -> { Map d = new HashMap<>(); for (int i = 0; i < fields.size(); i++) { @@ -880,7 +890,7 @@ public class ChartDataBuild { } ChartViewFieldDTO chartViewFieldDTO = fields.get(i); - if (chartViewFieldDTO.getDeType() == 0 || chartViewFieldDTO.getDeType() == 1) { + if (chartViewFieldDTO.getDeType() == 0 || chartViewFieldDTO.getDeType() == 1 || chartViewFieldDTO.getDeType() == 5) { d.put(fields.get(i).getDataeaseName(), StringUtils.isEmpty(ele[i]) ? "" : ele[i]); } else if (chartViewFieldDTO.getDeType() == 2 || chartViewFieldDTO.getDeType() == 3) { d.put(fields.get(i).getDataeaseName(), StringUtils.isEmpty(ele[i]) ? null : new BigDecimal(ele[i]).setScale(2, RoundingMode.HALF_UP)); From 9518dd72408ae8de13c1169f07e917414c624269 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Wed, 1 Jun 2022 16:08:06 +0800 Subject: [PATCH 04/11] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E9=80=82=E9=85=8Dgroup=5Fconcat=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/query/ck/CKQueryProvider.java | 3 +++ .../provider/query/db2/Db2QueryProvider.java | 3 +++ .../provider/query/es/EsQueryProvider.java | 3 +++ .../provider/query/hive/HiveQueryProvider.java | 3 +++ .../provider/query/impala/ImpalaQueryProvider.java | 3 +++ .../provider/query/mongodb/MongoQueryProvider.java | 2 ++ .../provider/query/mysql/MysqlQueryProvider.java | 6 +++++- .../provider/query/oracle/OracleQueryProvider.java | 6 +++++- .../provider/query/pg/PgQueryProvider.java | 10 +++++----- .../query/redshift/RedshiftQueryProvider.java | 2 ++ .../query/sqlserver/SqlserverQueryProvider.java | 3 +++ .../service/chart/ViewPluginBaseServiceImpl.java | 14 ++++++++++++++ 12 files changed, 51 insertions(+), 7 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java index b545be38ea..ded1e721e2 100644 --- a/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java @@ -6,6 +6,7 @@ import io.dataease.plugins.common.base.domain.DatasetTableFieldExample; import io.dataease.plugins.common.base.domain.Datasource; import io.dataease.plugins.common.base.mapper.DatasetTableFieldMapper; import io.dataease.plugins.common.constants.CKConstants; +import io.dataease.plugins.common.constants.Db2Constants; import io.dataease.plugins.common.constants.DeTypeConstants; import io.dataease.plugins.common.constants.SQLConstants; import io.dataease.plugins.common.dto.chart.ChartCustomFilterItemDTO; @@ -1059,6 +1060,8 @@ public class CKQueryProvider extends QueryProvider { } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { if (StringUtils.equalsIgnoreCase(y.getSummary(), "count_distinct")) { fieldName = String.format(CKConstants.AGG_FIELD, "COUNT", "DISTINCT " + originField); + } else if (StringUtils.equalsIgnoreCase(y.getSummary(), "group_concat")) { + fieldName = String.format(CKConstants.GROUP_CONCAT, originField); } else { fieldName = String.format(CKConstants.AGG_FIELD, y.getSummary(), originField); } diff --git a/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java b/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java index 9a03447184..ea6217e585 100644 --- a/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java @@ -9,6 +9,7 @@ import io.dataease.plugins.common.base.mapper.DatasetTableFieldMapper; import io.dataease.dto.datasource.Db2Configuration; import io.dataease.plugins.common.constants.Db2Constants; import io.dataease.plugins.common.constants.DeTypeConstants; +import io.dataease.plugins.common.constants.EsSqlLConstants; import io.dataease.plugins.common.constants.SQLConstants; import io.dataease.plugins.common.dto.chart.ChartCustomFilterItemDTO; import io.dataease.plugins.common.dto.chart.ChartFieldCustomFilterDTO; @@ -1029,6 +1030,8 @@ public class Db2QueryProvider extends QueryProvider { } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { if (StringUtils.equalsIgnoreCase(y.getSummary(), "count_distinct")) { fieldName = String.format(Db2Constants.AGG_FIELD, "COUNT", "DISTINCT " + originField); + } else if (StringUtils.equalsIgnoreCase(y.getSummary(), "group_concat")) { + fieldName = String.format(Db2Constants.GROUP_CONCAT, originField); } else { fieldName = String.format(Db2Constants.AGG_FIELD, y.getSummary(), originField); } diff --git a/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java index d73281b1b9..a2ec6771ad 100644 --- a/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java @@ -7,6 +7,7 @@ import io.dataease.plugins.common.base.domain.Datasource; import io.dataease.plugins.common.base.mapper.DatasetTableFieldMapper; import io.dataease.plugins.common.constants.DeTypeConstants; import io.dataease.plugins.common.constants.EsSqlLConstants; +import io.dataease.plugins.common.constants.HiveConstants; import io.dataease.plugins.common.constants.SQLConstants; import io.dataease.plugins.common.dto.chart.ChartCustomFilterItemDTO; import io.dataease.plugins.common.dto.chart.ChartFieldCustomFilterDTO; @@ -1052,6 +1053,8 @@ public class EsQueryProvider extends QueryProvider { } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { if (StringUtils.equalsIgnoreCase(y.getSummary(), "count_distinct")) { fieldName = String.format(EsSqlLConstants.AGG_FIELD, "COUNT", "DISTINCT " + originField); + } else if (StringUtils.equalsIgnoreCase(y.getSummary(), "group_concat")) { + fieldName = String.format(EsSqlLConstants.GROUP_CONCAT, originField); } else { fieldName = String.format(EsSqlLConstants.AGG_FIELD, y.getSummary(), originField); } diff --git a/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java index ef866ac70e..0e655fa419 100644 --- a/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java @@ -7,6 +7,7 @@ import io.dataease.plugins.common.base.domain.Datasource; import io.dataease.plugins.common.base.mapper.DatasetTableFieldMapper; import io.dataease.plugins.common.constants.DeTypeConstants; import io.dataease.plugins.common.constants.HiveConstants; +import io.dataease.plugins.common.constants.ImpalaConstants; import io.dataease.plugins.common.constants.SQLConstants; import io.dataease.plugins.common.dto.chart.ChartCustomFilterItemDTO; import io.dataease.plugins.common.dto.chart.ChartFieldCustomFilterDTO; @@ -1027,6 +1028,8 @@ public class HiveQueryProvider extends QueryProvider { } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { if (StringUtils.equalsIgnoreCase(y.getSummary(), "count_distinct")) { fieldName = String.format(HiveConstants.AGG_FIELD, "COUNT", "DISTINCT " + originField); + } else if (StringUtils.equalsIgnoreCase(y.getSummary(), "group_concat")) { + fieldName = String.format(HiveConstants.GROUP_CONCAT, originField); } else { fieldName = String.format(HiveConstants.AGG_FIELD, y.getSummary(), originField); } diff --git a/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java index 79c8b5a45b..c970b1aade 100644 --- a/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java @@ -7,6 +7,7 @@ import io.dataease.plugins.common.base.domain.Datasource; import io.dataease.plugins.common.base.mapper.DatasetTableFieldMapper; import io.dataease.plugins.common.constants.DeTypeConstants; import io.dataease.plugins.common.constants.ImpalaConstants; +import io.dataease.plugins.common.constants.MongoConstants; import io.dataease.plugins.common.constants.SQLConstants; import io.dataease.plugins.common.dto.chart.ChartCustomFilterItemDTO; import io.dataease.plugins.common.dto.chart.ChartFieldCustomFilterDTO; @@ -995,6 +996,8 @@ public class ImpalaQueryProvider extends QueryProvider { } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { if (StringUtils.equalsIgnoreCase(y.getSummary(), "count_distinct")) { fieldName = String.format(ImpalaConstants.AGG_FIELD, "COUNT", "DISTINCT " + originField); + } else if (StringUtils.equalsIgnoreCase(y.getSummary(), "group_concat")) { + fieldName = String.format(ImpalaConstants.GROUP_CONCAT, originField); } else { fieldName = String.format(ImpalaConstants.AGG_FIELD, y.getSummary(), originField); } diff --git a/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java index fe3d57abe1..26b7a40a40 100644 --- a/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java @@ -936,6 +936,8 @@ public class MongoQueryProvider extends QueryProvider { } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { if (StringUtils.equalsIgnoreCase(y.getSummary(), "count_distinct")) { fieldName = String.format(MongoConstants.AGG_FIELD, "COUNT", "DISTINCT " + originField); + } else if (StringUtils.equalsIgnoreCase(y.getSummary(), "group_concat")) { + fieldName = String.format(MongoConstants.GROUP_CONCAT, originField); } else { fieldName = String.format(MongoConstants.AGG_FIELD, y.getSummary(), originField); } diff --git a/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java index 112892e331..3c146fb8d9 100644 --- a/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java @@ -1031,7 +1031,11 @@ public class MysqlQueryProvider extends QueryProvider { } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { if (StringUtils.equalsIgnoreCase(y.getSummary(), "count_distinct")) { fieldName = String.format(MySQLConstants.AGG_FIELD, "COUNT", "DISTINCT " + originField); - } else { + } + else if (StringUtils.equalsIgnoreCase(y.getSummary(), "group_concat")) { + fieldName = String.format(MySQLConstants.GROUP_CONCAT, originField); + } + else { fieldName = String.format(MySQLConstants.AGG_FIELD, y.getSummary(), originField); } } else { diff --git a/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java index 5ea4c263ef..db13639ff6 100644 --- a/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java @@ -7,6 +7,7 @@ import io.dataease.plugins.common.base.domain.DatasetTableFieldExample; import io.dataease.plugins.common.base.domain.Datasource; import io.dataease.plugins.common.base.mapper.DatasetTableFieldMapper; import io.dataease.dto.datasource.OracleConfiguration; +import io.dataease.plugins.common.constants.MySQLConstants; import io.dataease.plugins.common.constants.OracleConstants; import io.dataease.plugins.common.constants.SQLConstants; import io.dataease.plugins.common.dto.chart.ChartCustomFilterItemDTO; @@ -1104,7 +1105,10 @@ public class OracleQueryProvider extends QueryProvider { } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { if (StringUtils.equalsIgnoreCase(y.getSummary(), "count_distinct")) { fieldName = String.format(OracleConstants.AGG_FIELD, "COUNT", "DISTINCT " + originField); - } else { + } else if (StringUtils.equalsIgnoreCase(y.getSummary(), "group_concat")) { + fieldName = String.format(OracleConstants.GROUP_CONCAT, originField, originField); + } + else { fieldName = String.format(OracleConstants.AGG_FIELD, y.getSummary(), originField); } } else { diff --git a/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java index 7f2bd2f7e1..d85dffa89e 100644 --- a/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java @@ -6,10 +6,7 @@ import io.dataease.plugins.common.base.domain.DatasetTableField; import io.dataease.plugins.common.base.domain.DatasetTableFieldExample; import io.dataease.plugins.common.base.domain.Datasource; import io.dataease.plugins.common.base.mapper.DatasetTableFieldMapper; -import io.dataease.plugins.common.constants.DeTypeConstants; -import io.dataease.plugins.common.constants.PgConstants; -import io.dataease.plugins.common.constants.SQLConstants; -import io.dataease.plugins.common.constants.SqlServerSQLConstants; +import io.dataease.plugins.common.constants.*; import io.dataease.plugins.common.dto.chart.ChartCustomFilterItemDTO; import io.dataease.plugins.common.dto.chart.ChartFieldCustomFilterDTO; import io.dataease.plugins.common.dto.chart.ChartViewFieldDTO; @@ -1021,7 +1018,10 @@ public class PgQueryProvider extends QueryProvider { } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { if (StringUtils.equalsIgnoreCase(y.getSummary(), "count_distinct")) { fieldName = String.format(PgConstants.AGG_FIELD, "COUNT", "DISTINCT " + originField); - } else { + } else if (StringUtils.equalsIgnoreCase(y.getSummary(), "group_concat")) { + fieldName = String.format(PgConstants.GROUP_CONCAT, originField); + } + else { fieldName = String.format(PgConstants.AGG_FIELD, y.getSummary(), originField); } } else { diff --git a/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java index 6f2e1fc8f6..42c340eea4 100644 --- a/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java @@ -944,6 +944,8 @@ public class RedshiftQueryProvider extends QueryProvider { } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { if (StringUtils.equalsIgnoreCase(y.getSummary(), "count_distinct")) { fieldName = String.format(PgConstants.AGG_FIELD, "COUNT", "DISTINCT " + originField); + } else if (StringUtils.equalsIgnoreCase(y.getSummary(), "group_concat")) { + fieldName = String.format(RedshiftConstants.GROUP_CONCAT, originField); } else { fieldName = String.format(PgConstants.AGG_FIELD, y.getSummary(), originField); } diff --git a/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java index 8c54d8d267..05bed2ccd3 100644 --- a/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java @@ -7,6 +7,7 @@ import io.dataease.plugins.common.base.domain.DatasetTableFieldExample; import io.dataease.plugins.common.base.domain.Datasource; import io.dataease.plugins.common.base.mapper.DatasetTableFieldMapper; import io.dataease.plugins.common.constants.DeTypeConstants; +import io.dataease.plugins.common.constants.ImpalaConstants; import io.dataease.plugins.common.constants.SQLConstants; import io.dataease.plugins.common.constants.SqlServerSQLConstants; import io.dataease.plugins.common.dto.chart.ChartCustomFilterItemDTO; @@ -1070,6 +1071,8 @@ public class SqlserverQueryProvider extends QueryProvider { } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { if (StringUtils.equalsIgnoreCase(y.getSummary(), "count_distinct")) { fieldName = String.format(SqlServerSQLConstants.AGG_FIELD, "COUNT", "DISTINCT " + originField); + } else if (StringUtils.equalsIgnoreCase(y.getSummary(), "group_concat")) { + fieldName = String.format(SqlServerSQLConstants.GROUP_CONCAT, originField); } else { fieldName = String.format(SqlServerSQLConstants.AGG_FIELD, y.getSummary(), originField); } diff --git a/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java b/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java index 3a43927454..eac7c169c0 100644 --- a/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java +++ b/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.ReflectUtil; import com.google.gson.Gson; import io.dataease.dto.dataset.DataSetTableUnionDTO; import io.dataease.dto.dataset.DataTableInfoDTO; +import io.dataease.plugins.common.base.domain.ChartViewWithBLOBs; import io.dataease.plugins.common.base.domain.DatasetTableField; import io.dataease.plugins.common.base.domain.Datasource; import io.dataease.plugins.common.constants.SQLConstants; @@ -225,4 +226,17 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService { return null; } + @Override + public String sqlLimit(String dsType, String sql, PluginViewLimit pluginViewLimit) { + QueryProvider queryProvider = ProviderFactory.getQueryProvider(dsType); + String methodName = "sqlLimit"; + ChartViewWithBLOBs chartView = new ChartViewWithBLOBs(); + chartView.setResultMode(pluginViewLimit.getResultMode()); + chartView.setResultCount(pluginViewLimit.getResultCount()); + Object result; + if ((result = execProviderMethod(queryProvider, methodName, sql, chartView)) != null) { + return result.toString(); + } + return sql; + } } From a7179e1820945c1757b961b6dea8a7040d221059 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Wed, 1 Jun 2022 16:34:44 +0800 Subject: [PATCH 05/11] =?UTF-8?q?fix:=20=E7=AC=A6=E5=8F=B7=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E6=98=8E=E7=BB=86=E6=95=B0=E6=8D=AE=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/service/chart/util/ChartDataBuild.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java b/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java index 4daf0ce137..0a41641748 100644 --- a/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java +++ b/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java @@ -874,7 +874,13 @@ public class ChartDataBuild { // 表格 public static Map transTableNormal(Map> fieldMap, ChartViewWithBLOBs view, List data, List desensitizationList) { - List fields = fieldMap.entrySet().stream().map(Map.Entry::getValue).flatMap(List::stream).collect(Collectors.toList()); + // List fields = fieldMap.entrySet().stream().map(Map.Entry::getValue).flatMap(List::stream).collect(Collectors.toList()); + // 上面乱序了 + List fields = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(fieldMap.get("xAxis")))fields.addAll(fieldMap.get("xAxis")); + if (CollectionUtils.isNotEmpty(fieldMap.get("yAxis")))fields.addAll(fieldMap.get("yAxis")); + if (CollectionUtils.isNotEmpty(fieldMap.get("labelAxis")))fields.addAll(fieldMap.get("labelAxis")); + if (CollectionUtils.isNotEmpty(fieldMap.get("tooltipAxis")))fields.addAll(fieldMap.get("tooltipAxis")); return transTableNormal(fields, view, data, desensitizationList); } @@ -888,7 +894,7 @@ public class ChartDataBuild { d.put(fields.get(i).getDataeaseName(), ColumnPermissionConstants.Desensitization_desc); continue; } - + if (i == ele.length) break; ChartViewFieldDTO chartViewFieldDTO = fields.get(i); if (chartViewFieldDTO.getDeType() == 0 || chartViewFieldDTO.getDeType() == 1 || chartViewFieldDTO.getDeType() == 5) { d.put(fields.get(i).getDataeaseName(), StringUtils.isEmpty(ele[i]) ? "" : ele[i]); From 4ee6d8625126830b955cea27cce0473e22a55e6d Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Wed, 1 Jun 2022 18:56:02 +0800 Subject: [PATCH 06/11] =?UTF-8?q?fix:=20=E6=8F=92=E4=BB=B6=E8=A7=86?= =?UTF-8?q?=E5=9B=BE=E4=BD=BF=E7=94=A8=E5=B8=A6scheme=E7=9A=84=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=BA=90=E6=B2=A1=E6=9C=89=E8=AE=BE=E7=BD=AEscheme?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E6=9F=A5=E8=AF=A2=E4=B8=8D=E5=88=B0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/commons/model/PluginViewSetImpl.java | 11 +++++++++++ .../dataease/service/chart/ChartViewService.java | 4 +++- .../service/chart/ViewPluginBaseServiceImpl.java | 14 ++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 backend/src/main/java/io/dataease/commons/model/PluginViewSetImpl.java diff --git a/backend/src/main/java/io/dataease/commons/model/PluginViewSetImpl.java b/backend/src/main/java/io/dataease/commons/model/PluginViewSetImpl.java new file mode 100644 index 0000000000..125c772261 --- /dev/null +++ b/backend/src/main/java/io/dataease/commons/model/PluginViewSetImpl.java @@ -0,0 +1,11 @@ +package io.dataease.commons.model; + +import io.dataease.plugins.common.base.domain.Datasource; +import io.dataease.plugins.view.entity.PluginViewSet; +import lombok.Data; + +@Data +public class PluginViewSetImpl extends PluginViewSet { + + private Datasource ds; +} 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 d5d2bb2e6b..16f2bcfb12 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -5,6 +5,7 @@ import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import io.dataease.auth.entity.SysUserEntity; import io.dataease.auth.service.AuthUserService; +import io.dataease.commons.model.PluginViewSetImpl; import io.dataease.ext.*; import io.dataease.commons.constants.CommonConstants; import io.dataease.commons.constants.JdbcConstants; @@ -1094,9 +1095,10 @@ public class ChartViewService { private PluginViewParam buildPluginParam(Map> fieldMap, List customFilters, List extFilters, Datasource ds, DatasetTable table, ChartViewDTO view) { PluginViewParam pluginViewParam = new PluginViewParam(); - PluginViewSet pluginViewSet = BeanUtils.copyBean(new PluginViewSet(), table); + PluginViewSetImpl pluginViewSet = BeanUtils.copyBean(new PluginViewSetImpl(), table); pluginViewSet.setDsType(ds.getType()); pluginViewSet.setTabelId(table.getId()); + pluginViewSet.setDs(ds); PluginViewLimit pluginViewLimit = BeanUtils.copyBean(new PluginViewLimit(), view); diff --git a/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java b/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java index eac7c169c0..7b331b7ca6 100644 --- a/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java +++ b/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java @@ -2,6 +2,7 @@ package io.dataease.service.chart; import cn.hutool.core.util.ReflectUtil; import com.google.gson.Gson; +import io.dataease.commons.model.PluginViewSetImpl; import io.dataease.dto.dataset.DataSetTableUnionDTO; import io.dataease.dto.dataset.DataTableInfoDTO; import io.dataease.plugins.common.base.domain.ChartViewWithBLOBs; @@ -128,6 +129,19 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService { String tabelName = (tableName.startsWith("(") && tableName.endsWith(")")) ? tableName : String.format(keyword, tableName); String tabelAlias = String.format(TABLE_ALIAS_PREFIX, 0); PluginViewSQL tableObj = PluginViewSQL.builder().tableName(tabelName).tableAlias(tabelAlias).build(); + + + QueryProvider queryProvider = ProviderFactory.getQueryProvider(pluginViewSet.getDsType()); + + SQLObj sqlObj = SQLObj.builder().tableName(tabelName).tableAlias(tabelAlias).build(); + PluginViewSetImpl child = (PluginViewSetImpl)pluginViewSet; + queryProvider.setSchema(sqlObj, child.getDs()); + // String methodName = "setSchema"; + // execProviderMethod(queryProvider, methodName, sqlObj, child.getDs()); + tableObj.setTableName(sqlObj.getTableName()); + tableObj.setTableAlias(sqlObj.getTableAlias()); + + return tableObj; } From e04dea30a4e1290d5b7e819afaa5565ad19b1ecb Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Tue, 31 May 2022 23:15:16 +0800 Subject: [PATCH 07/11] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E9=80=89?= =?UTF-8?q?=E9=A1=B9=E5=8D=A1=E9=80=89=E6=8B=A9=E7=BB=84=E4=BB=B6=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/widget/DeWidget/DeTabs.vue | 8 ++++++-- frontend/src/lang/en.js | 3 ++- frontend/src/lang/tw.js | 3 ++- frontend/src/lang/zh.js | 3 ++- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/widget/DeWidget/DeTabs.vue b/frontend/src/components/widget/DeWidget/DeTabs.vue index 3aef14dd72..4fff2799ea 100644 --- a/frontend/src/components/widget/DeWidget/DeTabs.vue +++ b/frontend/src/components/widget/DeWidget/DeTabs.vue @@ -333,13 +333,17 @@ export default { this.styleChange() } }) + this.otherComponentDialogVisible = false + return } - this.otherComponentDialogVisible = false + this.$warning(this.$t('detabs.please') + this.$t('detabs.selectOthers')) + }, sureViewSelector() { const nodes = this.$refs.viewSelect.getCurrentSelected() if (!nodes || nodes.length === 0) { - this.viewDialogVisible = false + this.$warning(this.$t('detabs.please') + this.$t('detabs.selectview')) + return } const node = nodes[0] diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 8e627521c0..9398ba7623 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -416,7 +416,8 @@ export default { eidttitle: 'Edit Title', selectview: 'Select View', selectOthers: 'Select Others', - availableComponents: 'Available Components' + availableComponents: 'Available Components', + please: 'Please' }, example: { warning: 'Creating and editing pages cannot be cached by keep-alive because keep-alive include does not currently support caching based on routes, so it is currently cached based on component name. If you want to achieve a similar caching effect, you can use a browser caching scheme such as localStorage. Or do not use keep-alive include to cache all pages directly. See details' diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index fd8c401e24..98289a8e2e 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -416,7 +416,8 @@ export default { eidttitle: '編輯標題', selectview: '選擇視圖', selectOthers: '選擇組件', - availableComponents: '可選組件' + availableComponents: '可選組件', + please: '未' }, example: { warning: '創建和編輯頁面是不能被 keep-alive 緩存的,因爲keep-alive 的 include 目前不支持根據路由來緩存,所以目前都是基於 component name 來進行緩存的。如果妳想類似的實現緩存效果,可以使用 localStorage 等瀏覽器緩存方案。或者不要使用 keep-alive 的 include,直接緩存所有頁面。詳情見' diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index cef09bc9d5..2d9678c76b 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -417,7 +417,8 @@ export default { eidttitle: '编辑标题', selectview: '选择视图', selectOthers: '选择组件', - availableComponents: '可选组件' + availableComponents: '可选组件', + please: '未' }, example: { warning: '创建和编辑页面是不能被 keep-alive 缓存的,因为keep-alive 的 include 目前不支持根据路由来缓存,所以目前都是基于 component name 来进行缓存的。如果你想类似的实现缓存效果,可以使用 localStorage 等浏览器缓存方案。或者不要使用 keep-alive 的 include,直接缓存所有页面。详情见' From abb50739714885bc7859c08c08366f3812cc75dd Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Thu, 2 Jun 2022 13:30:30 +0800 Subject: [PATCH 08/11] =?UTF-8?q?fix:=20=E5=8D=87=E7=BA=A7=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B71.11.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/pom.xml | 8 ++++---- frontend/package.json | 2 +- frontend/pom.xml | 2 +- mobile/package.json | 2 +- mobile/pom.xml | 2 +- pom.xml | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/backend/pom.xml b/backend/pom.xml index d3c3b8c156..2049f49faf 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -5,7 +5,7 @@ dataease-server io.dataease - 1.11.0 + 1.11.1 4.0.0 @@ -241,17 +241,17 @@ io.dataease dataease-plugin-interface - 1.11.0 + 1.11.1 io.dataease dataease-plugin-view - 1.11.0 + 1.11.1 io.dataease dataease-plugin-datasource - 1.11.0 + 1.11.1 diff --git a/frontend/package.json b/frontend/package.json index 5d4f072e69..3d86709b2b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "dataease", - "version": "1.11.0", + "version": "1.11.1", "description": "dataease front", "private": true, "scripts": { diff --git a/frontend/pom.xml b/frontend/pom.xml index 137b5b4943..2f0f4294a0 100644 --- a/frontend/pom.xml +++ b/frontend/pom.xml @@ -6,7 +6,7 @@ dataease-server io.dataease - 1.11.0 + 1.11.1 4.0.0 diff --git a/mobile/package.json b/mobile/package.json index d22d55817a..339ec78af2 100644 --- a/mobile/package.json +++ b/mobile/package.json @@ -1,6 +1,6 @@ { "name": "dataease-mobile", - "version": "0.1.0", + "version": "1.11.1", "private": true, "scripts": { "serve": "npm run dev:h5", diff --git a/mobile/pom.xml b/mobile/pom.xml index 08d09d4aa7..a1753f6557 100644 --- a/mobile/pom.xml +++ b/mobile/pom.xml @@ -6,7 +6,7 @@ dataease-server io.dataease - 1.11.0 + 1.11.1 4.0.0 diff --git a/pom.xml b/pom.xml index f95a0d87c0..495dd8cf5d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 io.dataease dataease-server - 1.11.0 + 1.11.1 pom From 3d8aee71dfbf1f38df62eaeb1666d1a2978e677f Mon Sep 17 00:00:00 2001 From: junjun Date: Thu, 2 Jun 2022 15:36:49 +0800 Subject: [PATCH 09/11] =?UTF-8?q?fix:=20=E6=81=A2=E5=A4=8D=E6=A0=87?= =?UTF-8?q?=E9=A2=98=E4=BD=8D=E7=BD=AE=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/chart/util.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/frontend/src/views/chart/chart/util.js b/frontend/src/views/chart/chart/util.js index c100ca2f23..a18542587e 100644 --- a/frontend/src/views/chart/chart/util.js +++ b/frontend/src/views/chart/chart/util.js @@ -61,6 +61,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -101,6 +102,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -144,6 +146,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -176,6 +179,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -208,6 +212,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -246,6 +251,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -352,6 +358,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -426,6 +433,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -500,6 +508,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -573,6 +582,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -639,6 +649,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -705,6 +716,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -778,6 +790,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -830,6 +843,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -882,6 +896,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -935,6 +950,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -985,6 +1001,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -1022,6 +1039,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -1088,6 +1106,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -1135,6 +1154,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], From 3a1e4db6e0158e7aa1eaa6c1b9ba223ac2179b46 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Thu, 2 Jun 2022 17:30:50 +0800 Subject: [PATCH 10/11] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BB=AA?= =?UTF-8?q?=E8=A1=A8=E6=9D=BF=E4=B8=8D=E8=83=BD=E5=88=9B=E5=BB=BA=E6=9C=80?= =?UTF-8?q?=E9=A1=B6=E5=B1=82=E7=9B=AE=E5=BD=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/panel/list/EditPanel/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/panel/list/EditPanel/index.vue b/frontend/src/views/panel/list/EditPanel/index.vue index a78ef75ff1..0645aaafd1 100644 --- a/frontend/src/views/panel/list/EditPanel/index.vue +++ b/frontend/src/views/panel/list/EditPanel/index.vue @@ -147,7 +147,7 @@ export default { } this.editPanel.panelInfo['newFrom'] = this.inputType this.loading = true - if (this.editPanel.optType === 'new') { + if (this.editPanel.optType === 'new' || this.editPanel.optType === 'newFirstFolder') { panelSave(this.editPanel.panelInfo).then(response => { this.$message({ message: this.$t('commons.save_success'), From 6bee78446fd15e39c8e99913009dc4fa75ee6b8e Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Thu, 2 Jun 2022 18:25:10 +0800 Subject: [PATCH 11/11] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E5=88=9B=E5=BB=BA=E5=85=B3=E8=81=94=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9B=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/dataset/DataSetTableService.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) 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 52972307a8..a36fa85640 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -1,6 +1,7 @@ package io.dataease.service.dataset; import com.google.gson.Gson; +import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import io.dataease.auth.annotation.DeCleaner; @@ -585,9 +586,9 @@ public class DataSetTableService { } else { // check doris table if (!checkEngineTableIsExists(dataSetTableRequest.getId())) { - if(dataSetTableRequest.isPreviewForTask()){ + if (dataSetTableRequest.isPreviewForTask()) { return map; - }else { + } else { throw new RuntimeException(Translator.get("i18n_data_not_sync")); } } @@ -1346,7 +1347,11 @@ public class DataSetTableService { String configuration = ds.getConfiguration(); JsonObject jsonObject = JsonParser.parseString(configuration).getAsJsonObject(); - String schema = jsonObject.get("schema").getAsString(); + JsonElement schemaJson = jsonObject.get("schema"); + String schema = null; + if (schemaJson != null) { + schema = schemaJson.getAsString(); + } String joinPrefix = ""; if (StringUtils.isNotEmpty(schema) && (StringUtils.equalsIgnoreCase(ds.getType(), DatasourceTypes.db2.getType()) || StringUtils.equalsIgnoreCase(ds.getType(), DatasourceTypes.sqlServer.getType()) || @@ -1907,7 +1912,7 @@ public class DataSetTableService { List oldFields = datasetTableFields.stream().map(DatasetTableField::getOriginName).collect(Collectors.toList()); - if(editType == 1){ + if (editType == 1) { for (ExcelSheetData excelSheetData : excelSheetDataList) { List tableFields = excelSheetData.getFields(); List newFields = tableFields.stream().map(TableField::getRemarks).collect(Collectors.toList()); @@ -1918,7 +1923,7 @@ public class DataSetTableService { if (retrunSheetDataList.size() == 0) { DataEaseException.throwException(Translator.get("i18n_excel_column_change")); } - }else { + } else { List extFields = fields.stream().filter(datasetTableField -> datasetTableField.getExtField() > 0).collect(Collectors.toList()); List extFieldsRefIds = new ArrayList<>(); for (DatasetTableField extField : extFields) { @@ -1928,7 +1933,7 @@ public class DataSetTableService { Matcher matcher = pattern.matcher(originField); while (matcher.find()) { String id = matcher.group(1); - if(!extFieldsRefIds.contains(id)){ + if (!extFieldsRefIds.contains(id)) { extFieldsRefIds.add(id); } } @@ -1939,12 +1944,12 @@ public class DataSetTableService { List newFields = tableFields.stream().map(TableField::getRemarks).collect(Collectors.toList()); if (oldFields.equals(newFields)) { excelSheetData.setChangeFiled(false); - }else { + } else { excelSheetData.setChangeFiled(true); } boolean effectExtField = false; for (String extFieldsRefName : extFieldsRefNames) { - if(!newFields.contains(extFieldsRefName)){ + if (!newFields.contains(extFieldsRefName)) { effectExtField = true; } } @@ -1956,7 +1961,7 @@ public class DataSetTableService { DataEaseException.throwException(Translator.get("i18n_excel_column_change")); } } - }else { + } else { retrunSheetDataList = excelSheetDataList; } retrunSheetDataList = retrunSheetDataList.stream() @@ -2374,7 +2379,7 @@ public class DataSetTableService { return datasetTable; } - public int updateByExampleSelective(DatasetTable record, DatasetTableExample example ){ + public int updateByExampleSelective(DatasetTable record, DatasetTableExample example) { return datasetTableMapper.updateByExampleSelective(record, example); } }