chengjie 6 місяців тому
батько
коміт
43c292b181
1 змінених файлів з 7 додано та 3 видалено
  1. 7 3
      src/api/web/webController.js

+ 7 - 3
src/api/web/webController.js

@@ -42,15 +42,19 @@ export async function GetKylx365TableColumnByTable(ctx) {
42 42
 export async function RunKylx365DBSql(ctx) {
43 43
     let param = {
44 44
         SQL: ctx.request.body.sql || "",
45
+        IsCompleteField:ctx.request.body.IsCompleteField || false,
45 46
     };
47
+    console.log(param.SQL);
48
+    // 获取第一个分号前的SQL语句
49
+    const firstStatement = param.SQL.split(';')[0].trim();
46 50
     
47 51
     // 只允许执行SELECT查询
48
-    if (!param.SQL.trim().toUpperCase().startsWith('SELECT')) {
52
+    if (!firstStatement.toUpperCase().startsWith('SELECT')) {
49 53
         ctx.body = {"errcode": 10001, errmsg: "只允许执行SELECT查询语句"};
50 54
         return;
51 55
     }
52 56
 
53
-    let result = await commonModel.RunSql(null, param.SQL);
57
+    let result = await commonModel.RunSql(null, firstStatement);
54 58
     console.log("记录数:" + result.length);
55 59
     
56 60
     // 处理查询结果
@@ -66,7 +70,7 @@ export async function RunKylx365DBSql(ctx) {
66 70
                     processedItem[key] = moment(value).format('YYYY-MM-DD HH:mm:ss');
67 71
                 }
68 72
                 // 处理长文本字段
69
-                else if (typeof value === 'string' && value.length > 100) {
73
+                else if (!param.IsCompleteField && typeof value === 'string' && value.length > 100) {
70 74
                     processedItem[key] = value.substring(0, 100) + '...';
71 75
                 } else {
72 76
                     processedItem[key] = value;