|
@@ -564,6 +564,7 @@ export default {
|
|
|
...mapState({
|
|
|
databaseName: (state) => state.user.dataSource.databaseName,
|
|
|
databaseType: (state) => state.user.dataSource.databaseType,
|
|
|
+ username: (state) => state.user.dataSource.username,
|
|
|
}),
|
|
|
searchArr() {
|
|
|
if (!this.templateInfo?.where?.length) return [];
|
|
@@ -827,23 +828,26 @@ export default {
|
|
|
};
|
|
|
},
|
|
|
// 递归拼接查询语句
|
|
|
- getSQLString(tableFieldList, fieldArr, tableArr) {
|
|
|
+ getSQLString(tableFieldList, fieldArr, tableArr, sqlType = "mysql") {
|
|
|
+ let asOrSpace = sqlType == "oracle" ? " " : " AS ";
|
|
|
for (let i = 0; i < tableFieldList.length; i++) {
|
|
|
let temp = tableFieldList[i];
|
|
|
if (temp.isShow) {
|
|
|
let tempArr = temp.tableName + "." + temp.fieldName;
|
|
|
if (temp.isChildren) {
|
|
|
- tempArr += " as " + temp.tableName + "_" + temp.fieldName;
|
|
|
+ tempArr += asOrSpace + temp.tableName + "_" + temp.fieldName;
|
|
|
}
|
|
|
fieldArr.push(tempArr);
|
|
|
}
|
|
|
if (temp.relationTable && temp.relationFieldName && temp.relationType) {
|
|
|
// fieldArr.push(temp.relationTable + "." + temp.relationFieldName);
|
|
|
+ let isNeedUsername = sqlType == "oracle" ? this.username + "." : "";
|
|
|
tableArr.push(
|
|
|
temp.relationType +
|
|
|
" " +
|
|
|
+ isNeedUsername +
|
|
|
temp.relationTable +
|
|
|
- " AS " +
|
|
|
+ asOrSpace +
|
|
|
temp.relationTable +
|
|
|
" ON " +
|
|
|
temp.relationTable +
|
|
@@ -873,27 +877,35 @@ export default {
|
|
|
// 拼接查询sql语句
|
|
|
getSQLStr() {
|
|
|
let sqlType = this.databaseType; //数据库类型
|
|
|
+ // let sqlType = "oracle";
|
|
|
let sql = "";
|
|
|
// mysql
|
|
|
sql += "SELECT ";
|
|
|
let fieldNameArr = [],
|
|
|
relaTypeArr = [];
|
|
|
- this.getSQLString(this.tableFieldList, fieldNameArr, relaTypeArr);
|
|
|
+ this.getSQLString(
|
|
|
+ this.tableFieldList,
|
|
|
+ fieldNameArr,
|
|
|
+ relaTypeArr,
|
|
|
+ sqlType
|
|
|
+ );
|
|
|
// console.log("discriISEmpty:", discriISEmpty);
|
|
|
// if (discriISEmpty) {
|
|
|
// return false;
|
|
|
// }
|
|
|
-
|
|
|
+ let isNeedUsername = sqlType == "oracle" ? this.username + "." : "";
|
|
|
+ let asOrSpace = sqlType == "oracle" ? " " : " AS ";
|
|
|
sql +=
|
|
|
fieldNameArr.join(",") +
|
|
|
" FROM " +
|
|
|
+ isNeedUsername +
|
|
|
this.tableName +
|
|
|
- " AS " +
|
|
|
+ asOrSpace +
|
|
|
this.tableName;
|
|
|
if (relaTypeArr.length) {
|
|
|
sql += " " + relaTypeArr.join(" ");
|
|
|
}
|
|
|
-
|
|
|
+ console.log("sql:", sql);
|
|
|
return sql;
|
|
|
},
|
|
|
// 处理列表信息
|