diff --git a/backend/src/main/java/io/dataease/provider/SQLConstants.java b/backend/src/main/java/io/dataease/provider/SQLConstants.java new file mode 100644 index 0000000000..a0dacbd57a --- /dev/null +++ b/backend/src/main/java/io/dataease/provider/SQLConstants.java @@ -0,0 +1,16 @@ +package io.dataease.provider; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author gin + * @Date 2021/7/8 3:12 下午 + */ +public class SQLConstants { + public static final List DIMENSION_TYPE = new ArrayList() {{ + add(0);// 文本 + add(1);// 时间 + add(5);// 地理位置 + }}; +} diff --git a/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java b/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java index 93e1f35fa6..0ab8896748 100644 --- a/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java @@ -5,6 +5,7 @@ import io.dataease.controller.request.chart.ChartExtFilterRequest; import io.dataease.dto.chart.ChartCustomFilterDTO; import io.dataease.dto.chart.ChartViewFieldDTO; import io.dataease.provider.QueryProvider; +import io.dataease.provider.SQLConstants; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -138,6 +139,8 @@ public class DorisQueryProvider extends QueryProvider { StringBuilder f = new StringBuilder(); if (StringUtils.equalsIgnoreCase(y.getDataeaseName(), "*")) { f.append(y.getSummary()).append("(").append(y.getDataeaseName()).append(")"); + } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { + f.append(y.getSummary()).append("(").append(y.getDataeaseName()).append(")"); } else { f.append("ROUND(") .append(y.getSummary()).append("(") @@ -277,6 +280,8 @@ public class DorisQueryProvider extends QueryProvider { StringBuilder f = new StringBuilder(); if (StringUtils.equalsIgnoreCase(y.getDataeaseName(), "*")) { f.append(y.getSummary()).append("(").append(y.getDataeaseName()).append(")"); + } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { + f.append(y.getSummary()).append("(").append(y.getOriginName()).append(")"); } else { if (StringUtils.equalsIgnoreCase(y.getSummary(), "avg") || StringUtils.containsIgnoreCase(y.getSummary(), "pop")) { f.append("CAST(") diff --git a/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java b/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java index ac7dd0406b..d7a6155664 100644 --- a/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java @@ -5,6 +5,7 @@ import io.dataease.controller.request.chart.ChartExtFilterRequest; import io.dataease.dto.chart.ChartCustomFilterDTO; import io.dataease.dto.chart.ChartViewFieldDTO; import io.dataease.provider.QueryProvider; +import io.dataease.provider.SQLConstants; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -137,6 +138,8 @@ public class MysqlQueryProvider extends QueryProvider { StringBuilder f = new StringBuilder(); if (StringUtils.equalsIgnoreCase(y.getOriginName(), "*")) { f.append(y.getSummary()).append("(").append(y.getOriginName()).append(")"); + } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { + f.append(y.getSummary()).append("(`").append(y.getOriginName()).append("`)"); } else { if (StringUtils.equalsIgnoreCase(y.getSummary(), "avg") || StringUtils.containsIgnoreCase(y.getSummary(), "pop")) { f.append("CAST(") @@ -283,6 +286,8 @@ public class MysqlQueryProvider extends QueryProvider { StringBuilder f = new StringBuilder(); if (StringUtils.equalsIgnoreCase(y.getOriginName(), "*")) { f.append(y.getSummary()).append("(").append(y.getOriginName()).append(")"); + } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { + f.append(y.getSummary()).append("(`").append(y.getOriginName()).append("`)"); } else { if (StringUtils.equalsIgnoreCase(y.getSummary(), "avg") || StringUtils.containsIgnoreCase(y.getSummary(), "pop")) { f.append("CAST(") diff --git a/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java b/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java index 6bb4c06bac..daad53b89d 100644 --- a/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java @@ -5,6 +5,7 @@ import io.dataease.controller.request.chart.ChartExtFilterRequest; import io.dataease.dto.chart.ChartCustomFilterDTO; import io.dataease.dto.chart.ChartViewFieldDTO; import io.dataease.provider.QueryProvider; +import io.dataease.provider.SQLConstants; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -162,6 +163,8 @@ public class OracleQueryProvider extends QueryProvider { StringBuilder f = new StringBuilder(); if (StringUtils.equalsIgnoreCase(y.getOriginName(), "*")) { f.append(y.getSummary()).append("(").append(y.getOriginName()).append(")"); + } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { + f.append(y.getSummary()).append("(").append(y.getOriginName()).append(")"); } else { if (StringUtils.equalsIgnoreCase(y.getSummary(), "avg") || StringUtils.containsIgnoreCase(y.getSummary(), "pop")) { f.append("CAST(") @@ -317,6 +320,8 @@ public class OracleQueryProvider extends QueryProvider { StringBuilder f = new StringBuilder(); if (StringUtils.equalsIgnoreCase(y.getOriginName(), "*")) { f.append(y.getSummary()).append("(").append(y.getOriginName()).append(")"); + } else if (SQLConstants.DIMENSION_TYPE.contains(y.getDeType())) { + f.append(y.getSummary()).append("(").append(y.getOriginName()).append(")"); } else { if (StringUtils.equalsIgnoreCase(y.getSummary(), "avg") || StringUtils.containsIgnoreCase(y.getSummary(), "pop")) { f.append("CAST(")