lph 1 жил өмнө
parent
commit
867adb02e3

+ 19 - 7
ruoyi-ui/src/views/tableMange/index.vue

@@ -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;
     },
     // 处理列表信息