From ee50d5424a093209d1c5c549f4578107893b22f8 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 05 十一月 2020 18:40:54 +0800 Subject: [PATCH] 2020-11-05 --- src/menu/datasource/verifycard/utils.jsx | 105 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 77 insertions(+), 28 deletions(-) diff --git a/src/menu/datasource/verifycard/utils.jsx b/src/menu/datasource/verifycard/utils.jsx index 12cda4e..bb94a8f 100644 --- a/src/menu/datasource/verifycard/utils.jsx +++ b/src/menu/datasource/verifycard/utils.jsx @@ -9,6 +9,7 @@ */ static getDebugSql (setting, scripts, columns, searches = []) { let sql = '' + let error = '' let _dataresource = '' let _customScript = '' let arr_field = columns.map(item => item.field).join(',') @@ -21,12 +22,6 @@ }) } - if (_customScript) { - _customScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000) select @ErrorCode='',@retmsg ='' - ${_customScript} - ` - } - if (setting.interType === 'system' && setting.execute !== 'false') { _dataresource = setting.dataresource } @@ -37,53 +32,107 @@ if (_customScript) { _customScript = _customScript.replace(/@\$|\$@/ig, '') } + + if (_customScript) { + _customScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000) select @ErrorCode='',@retmsg ='' + ${_customScript} + ` + } // 姝e垯鏇挎崲 - let _regoptions = searches.map(item => { - return { - reg: new RegExp('@' + item.key + '@', 'ig'), - value: `'${item.value}'` + let _regoptions = [] + let _fields = [] + + searches.forEach(item => { + if (item.datefield) { + _regoptions.push({ + var: new RegExp('@' + item.datefield, 'ig'), + reg: new RegExp('@' + item.datefield + '@', 'ig') + }) + _regoptions.push({ + var: new RegExp('@' + item.datefield + '1', 'ig'), + reg: new RegExp('@' + item.datefield + '1@', 'ig') + }) + } + if (['dateweek', 'datemonth', 'daterange'].includes(item.type)) { + _regoptions.push({ + var: new RegExp('@' + item.field, 'ig'), + reg: new RegExp('@' + item.field + '@', 'ig') + }) + _regoptions.push({ + var: new RegExp('@' + item.field + '1', 'ig'), + reg: new RegExp('@' + item.field + '1@', 'ig') + }) + } else if (item.type === 'date') { + if (_fields.includes(item.field)) { + _regoptions.push({ + var: new RegExp('@' + item.field + '1', 'ig'), + reg: new RegExp('@' + item.field + '1@', 'ig') + }) + } else { + _fields.push(item.field) + _regoptions.push({ + var: new RegExp('@' + item.field, 'ig'), + reg: new RegExp('@' + item.field + '@', 'ig') + }) + } + } else { + _regoptions.push({ + var: new RegExp('@' + item.field, 'ig'), + reg: new RegExp('@' + item.field + '@', 'ig') + }) } }) - let _search = '' - // 鏃ュ巻涓殑骞翠唤鏇挎崲 - if (setting.queryType === 'statistics' || _customScript) { - _regoptions.push({ - reg: new RegExp('@calendarDate@', 'ig'), - value: `1970-01-01 00:00:00.000` - }) - _regoptions.push({ - reg: new RegExp('@calendarDate1@', 'ig'), - value: `2030-12-31 23:59:59.999` - }) - } + let _search = '' if (setting.queryType === 'statistics' && _dataresource) { _regoptions.forEach(item => { - _dataresource = _dataresource.replace(item.reg, item.value) + _dataresource = _dataresource.replace(item.reg, '0') }) _search = '' } + let originscript = _customScript + if (_customScript) { _regoptions.push({ + var: new RegExp('@orderBy', 'ig'), reg: new RegExp('@orderBy@', 'ig'), - value: setting.order }) if (setting.laypage !== 'false') { _regoptions.push({ + var: new RegExp('@pageSize', 'ig'), reg: new RegExp('@pageSize@', 'ig'), - value: 10 }, { + var: new RegExp('@pageIndex', 'ig'), reg: new RegExp('@pageIndex@', 'ig'), - value: 1 }) } _regoptions.forEach(item => { - _customScript = _customScript.replace(item.reg, item.value) + _customScript = _customScript.replace(item.reg, '0') + originscript = originscript.replace(item.reg, '0') + originscript = originscript.replace(item.var, '0') }) + + if (setting.varMark) { + originscript = originscript.replace(/@ErrorCode/ig, '') + originscript = originscript.replace(/@retmsg/ig, '') + originscript = originscript.replace(/@id@/ig, '').replace(/@id/ig, '') + originscript = originscript.replace(/@bid@/ig, '').replace(/@bid/ig, '') + originscript = originscript.replace(/@loginuid@/ig, '').replace(/@loginuid/ig, '') + originscript = originscript.replace(/@sessionuid@/ig, '').replace(/@sessionuid/ig, '') + originscript = originscript.replace(/@userid@/ig, '').replace(/@userid/ig, '') + originscript = originscript.replace(/@appkey@/ig, '').replace(/@appkey/ig, '') + originscript = originscript.replace(/@time_id@/ig, '').replace(/@time_id/ig, '') + + originscript = originscript.replace(new RegExp('@' + setting.varMark, 'ig'), '') + + if (/@/ig.test(originscript)) { + error = '浣跨敤浜嗗彉閲忔爣璇嗗鐨勫瓧娈碉紒' + } + } } // 鏁版嵁婧愬鐞�, 瀛樺湪鏄剧ず鍒楁椂 @@ -106,6 +155,6 @@ sql = _dataresource } - return sql + return { error, sql } } } \ No newline at end of file -- Gitblit v1.8.0