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 6761f3cff7..cf3335a766 100644 --- a/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java @@ -391,7 +391,7 @@ public class DorisQueryProvider extends QueryProvider { case "null": return " IN "; case "not_null": - return " NOT IN "; + return " IS NOT NULL AND %s <> ''"; case "between": return " BETWEEN "; default: @@ -420,8 +420,10 @@ public class DorisQueryProvider extends QueryProvider { } else { whereName = originName; } - if (StringUtils.containsIgnoreCase(request.getTerm(), "null")) { + if (StringUtils.equalsIgnoreCase(request.getTerm(), "null")) { whereValue = DorisConstants.WHERE_VALUE_NULL; + } else if (StringUtils.equalsIgnoreCase(request.getTerm(), "not_null")) { + whereTerm = String.format(whereTerm, originName); } else if (StringUtils.containsIgnoreCase(request.getTerm(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getTerm(), "like")) { @@ -551,8 +553,10 @@ public class DorisQueryProvider extends QueryProvider { } else { whereName = originField; } - if (StringUtils.containsIgnoreCase(f.getTerm(), "null")) { + if (StringUtils.equalsIgnoreCase(f.getTerm(), "null")) { whereValue = DorisConstants.WHERE_VALUE_NULL; + } else if (StringUtils.equalsIgnoreCase(f.getTerm(), "not_null")) { + whereTerm = String.format(whereTerm, originField); } else if (StringUtils.containsIgnoreCase(f.getTerm(), "in")) { whereValue = "('" + StringUtils.join(f.getValue(), "','") + "')"; } else if (StringUtils.containsIgnoreCase(f.getTerm(), "like")) { @@ -600,8 +604,10 @@ public class DorisQueryProvider extends QueryProvider { String whereTerm = transMysqlFilterTerm(f.getTerm()); String whereValue = ""; // 原始类型不是时间,在de中被转成时间的字段做处理 - if (StringUtils.containsIgnoreCase(f.getTerm(), "null")) { + if (StringUtils.equalsIgnoreCase(f.getTerm(), "null")) { whereValue = DorisConstants.WHERE_VALUE_NULL; + } else if (StringUtils.equalsIgnoreCase(f.getTerm(), "not_null")) { + whereTerm = String.format(whereTerm, originField); } else if (StringUtils.containsIgnoreCase(f.getTerm(), "in")) { whereValue = "('" + StringUtils.join(f.getValue(), "','") + "')"; } else if (StringUtils.containsIgnoreCase(f.getTerm(), "like")) { 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 feae9dab0e..fcf55c760f 100644 --- a/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java @@ -340,9 +340,9 @@ public class MysqlQueryProvider extends QueryProvider { public String createRawQuerySQL(String table, List fields) { String[] array = fields.stream().map(f -> { StringBuilder stringBuilder = new StringBuilder(); - if(f.getDeExtractType() == 4){ // 处理 tinyint + if (f.getDeExtractType() == 4) { // 处理 tinyint stringBuilder.append("concat(`").append(f.getOriginName()).append("`,'') AS ").append(f.getDataeaseName()); - }else { + } else { stringBuilder.append("`").append(f.getOriginName()).append("` AS ").append(f.getDataeaseName()); } return stringBuilder.toString(); @@ -380,7 +380,7 @@ public class MysqlQueryProvider extends QueryProvider { case "null": return " IN "; case "not_null": - return " NOT IN "; + return " IS NOT NULL AND %s <> ''"; case "between": return " BETWEEN "; default: @@ -409,8 +409,10 @@ public class MysqlQueryProvider extends QueryProvider { } else { whereName = originName; } - if (StringUtils.containsIgnoreCase(request.getTerm(), "null")) { + if (StringUtils.equalsIgnoreCase(request.getTerm(), "null")) { whereValue = MySQLConstants.WHERE_VALUE_NULL; + } else if (StringUtils.equalsIgnoreCase(request.getTerm(), "not_null")) { + whereTerm = String.format(whereTerm, originName); } else if (StringUtils.containsIgnoreCase(request.getTerm(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getTerm(), "like")) { @@ -547,8 +549,10 @@ public class MysqlQueryProvider extends QueryProvider { } else { whereName = originField; } - if (StringUtils.containsIgnoreCase(f.getTerm(), "null")) { + if (StringUtils.equalsIgnoreCase(f.getTerm(), "null")) { whereValue = MySQLConstants.WHERE_VALUE_NULL; + } else if (StringUtils.equalsIgnoreCase(f.getTerm(), "not_null")) { + whereTerm = String.format(whereTerm, originField); } else if (StringUtils.containsIgnoreCase(f.getTerm(), "in")) { whereValue = "('" + StringUtils.join(f.getValue(), "','") + "')"; } else if (StringUtils.containsIgnoreCase(f.getTerm(), "like")) { @@ -595,8 +599,10 @@ public class MysqlQueryProvider extends QueryProvider { String whereTerm = transMysqlFilterTerm(f.getTerm()); String whereValue = ""; // 原始类型不是时间,在de中被转成时间的字段做处理 - if (StringUtils.containsIgnoreCase(f.getTerm(), "null")) { + if (StringUtils.equalsIgnoreCase(f.getTerm(), "null")) { whereValue = MySQLConstants.WHERE_VALUE_NULL; + } else if (StringUtils.equalsIgnoreCase(f.getTerm(), "not_null")) { + whereTerm = String.format(whereTerm, originField); } else if (StringUtils.containsIgnoreCase(f.getTerm(), "in")) { whereValue = "('" + StringUtils.join(f.getValue(), "','") + "')"; } else if (StringUtils.containsIgnoreCase(f.getTerm(), "like")) { 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 69db3c4f84..ccee4b8c3f 100644 --- a/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java @@ -395,7 +395,7 @@ public class OracleQueryProvider extends QueryProvider { case "null": return " IN "; case "not_null": - return " NOT IN "; + return " IS NOT NULL AND %s <> ''"; case "between": return " BETWEEN "; default: @@ -424,8 +424,10 @@ public class OracleQueryProvider extends QueryProvider { } else { whereName = originName; } - if (StringUtils.containsIgnoreCase(request.getTerm(), "null")) { + if (StringUtils.equalsIgnoreCase(request.getTerm(), "null")) { whereValue = OracleConstants.WHERE_VALUE_NULL; + } else if (StringUtils.equalsIgnoreCase(request.getTerm(), "not_null")) { + whereTerm = String.format(whereTerm, originName); } else if (StringUtils.containsIgnoreCase(request.getTerm(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getTerm(), "like")) { @@ -575,8 +577,10 @@ public class OracleQueryProvider extends QueryProvider { } else { whereName = originField; } - if (StringUtils.containsIgnoreCase(f.getTerm(), "null")) { + if (StringUtils.equalsIgnoreCase(f.getTerm(), "null")) { whereValue = OracleConstants.WHERE_VALUE_NULL; + } else if (StringUtils.equalsIgnoreCase(f.getTerm(), "not_null")) { + whereTerm = String.format(whereTerm, originField); } else if (StringUtils.containsIgnoreCase(f.getTerm(), "in")) { whereValue = "('" + StringUtils.join(f.getValue(), "','") + "')"; } else if (StringUtils.containsIgnoreCase(f.getTerm(), "like")) { @@ -623,8 +627,10 @@ public class OracleQueryProvider extends QueryProvider { String whereTerm = transMysqlFilterTerm(f.getTerm()); String whereValue = ""; // 原始类型不是时间,在de中被转成时间的字段做处理 - if (StringUtils.containsIgnoreCase(f.getTerm(), "null")) { + if (StringUtils.equalsIgnoreCase(f.getTerm(), "null")) { whereValue = OracleConstants.WHERE_VALUE_NULL; + } else if (StringUtils.equalsIgnoreCase(f.getTerm(), "not_null")) { + whereTerm = String.format(whereTerm, originField); } else if (StringUtils.containsIgnoreCase(f.getTerm(), "in")) { whereValue = "('" + StringUtils.join(f.getValue(), "','") + "')"; } else if (StringUtils.containsIgnoreCase(f.getTerm(), "like")) { diff --git a/frontend/src/components/canvas/components/Editor/Preview.vue b/frontend/src/components/canvas/components/Editor/Preview.vue index 2665b8f95b..851b253c25 100644 --- a/frontend/src/components/canvas/components/Editor/Preview.vue +++ b/frontend/src/components/canvas/components/Editor/Preview.vue @@ -186,7 +186,6 @@ export default { } }, openChartDetailsDialog(chartInfo) { - debugger this.showChartInfo = chartInfo.chart this.showChartTableInfo = chartInfo.tableChart this.chartDetailsVisible = true diff --git a/frontend/src/components/canvas/custom-component/UserViewDialog.vue b/frontend/src/components/canvas/custom-component/UserViewDialog.vue index 322b6e05e6..d1a3c2cce3 100644 --- a/frontend/src/components/canvas/custom-component/UserViewDialog.vue +++ b/frontend/src/components/canvas/custom-component/UserViewDialog.vue @@ -40,7 +40,6 @@ export default { }, methods: { exportExcel() { - debugger const excelHeader = JSON.parse(JSON.stringify(this.chart.data.fields)).map(item => item.name) const excelHeaderKeys = JSON.parse(JSON.stringify(this.chart.data.fields)).map(item => item.dataeaseName) const excelData = JSON.parse(JSON.stringify(this.chart.data.tableRow)).map(item => excelHeaderKeys.map(i => item[i])) diff --git a/frontend/src/views/chart/components/table/TableNormal.vue b/frontend/src/views/chart/components/table/TableNormal.vue index db136864ee..7433c9f751 100644 --- a/frontend/src/views/chart/components/table/TableNormal.vue +++ b/frontend/src/views/chart/components/table/TableNormal.vue @@ -108,7 +108,6 @@ export default { }) }, initData() { - debugger const that = this let datas = [] if (this.chart.data) {