Merge pull request #213 from dataease/pr@dev@refactor_SQL拼接

refactor: SQL拼接
This commit is contained in:
XiaJunjie2020 2021-07-12 16:36:17 +08:00 committed by GitHub
commit e8704a78bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 32 additions and 17 deletions

View File

@ -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")) {

View File

@ -340,9 +340,9 @@ public class MysqlQueryProvider extends QueryProvider {
public String createRawQuerySQL(String table, List<DatasetTableField> 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")) {

View File

@ -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")) {

View File

@ -186,7 +186,6 @@ export default {
}
},
openChartDetailsDialog(chartInfo) {
debugger
this.showChartInfo = chartInfo.chart
this.showChartTableInfo = chartInfo.tableChart
this.chartDetailsVisible = true

View File

@ -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]))

View File

@ -108,7 +108,6 @@ export default {
})
},
initData() {
debugger
const that = this
let datas = []
if (this.chart.data) {