|
|
@@ -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;
|