From 547e5fe219ee7bee309ecd67db74bc8df66b5433 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 23 八月 2023 11:47:45 +0800 Subject: [PATCH] 2023-08-23 --- src/utils/utils-datamanage.js | 243 +++++++++++++++++++++-------------------------- 1 files changed, 109 insertions(+), 134 deletions(-) diff --git a/src/utils/utils-datamanage.js b/src/utils/utils-datamanage.js index 5be52b3..be72648 100644 --- a/src/utils/utils-datamanage.js +++ b/src/utils/utils-datamanage.js @@ -6,7 +6,6 @@ /** * @description 鏁版嵁婧愬悕绉帮紝鐢ㄤ簬缁熶竴鏌ヨ * @param {Object} setting 鏁版嵁婧愯缃� - * @param {String} arrFields 鏌ヨ瀛楁 * @param {Array} search 鎼滅储鏉′欢 * @param {String} orderBy 鎺掑簭鏂瑰紡 * @param {Number} pageIndex 椤电爜 @@ -14,11 +13,11 @@ * @param {String} BID 涓婄骇ID * @return {Object} param */ - static getQueryDataParams (setting, arrFields, search = [], orderBy = '', pageIndex = 1, pageSize = 10, BID, id, year) { + static getQueryDataParams (setting, search = [], orderBy = '', pageIndex = 1, pageSize = 10, BID, id, year) { let param = null if (setting.interType === 'system') { - param = this.getDefaultQueryParam(setting, arrFields, search, orderBy, pageIndex, pageSize, id, BID, year) + param = this.getDefaultQueryParam(setting, search, orderBy, pageIndex, pageSize, id, BID, year) } else { param = this.getCustomQueryParam(setting, search, orderBy, pageIndex, pageSize, id, year) } @@ -99,18 +98,14 @@ /** * @description 鑾峰彇绯荤粺瀛樺偍杩囩▼鐨勫弬鏁� */ - static getDefaultQueryParam (setting, arrFields, search, orderBy, pageIndex, pageSize, id, BID, year) { + static getDefaultQueryParam (setting, search, orderBy, pageIndex, pageSize, id, BID, year) { let param = { func: 'sPC_Get_TableData', obj_name: 'data', exec_type: 'y', - arr_field: arrFields, + arr_field: setting.arr_field, default_sql: setting.execute ? 'true' : 'false' } - - // if (setting.transaction === 'true') { - // param.func = 'sPC_Get_TableData_try' - // } let userName = sessionStorage.getItem('User_Name') || '' let fullName = sessionStorage.getItem('Full_Name') || '' @@ -126,39 +121,13 @@ let _dataresource = setting.dataresource let _customScript = '' + let _tailScript = setting.tailScript || '' if (setting.customScript) { _customScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100) Select @ErrorCode='',@retmsg ='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @mk_user_type='${mk_user_type}', @mk_nation='${nation}', @mk_province='${province}', @mk_city='${city}', @mk_district='${district}', @mk_address='${address}' ${setting.customScript} ` - } - - _dataresource = _dataresource.replace(/@select\$|\$select@/ig, '') - _customScript = _customScript.replace(/@select\$|\$select@/ig, '') - _dataresource = _dataresource.replace(/\$sum@/ig, '/*') - _dataresource = _dataresource.replace(/@sum\$/ig, '*/') - _customScript = _customScript.replace(/\$sum@/ig, '/*') - _customScript = _customScript.replace(/@sum\$/ig, '*/') - - // _dataresource = _dataresource.replace(/@ID@/ig, `''`) - // _customScript = _customScript.replace(/@ID@/ig, `''`) - _dataresource = _dataresource.replace(/@BID@/ig, `'${BID || ''}'`) - _customScript = _customScript.replace(/@BID@/ig, `'${BID || ''}'`) - _dataresource = _dataresource.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`) - _customScript = _customScript.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`) - _dataresource = _dataresource.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`) - _customScript = _customScript.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`) - _dataresource = _dataresource.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`) - _customScript = _customScript.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`) - _dataresource = _dataresource.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) - _customScript = _customScript.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) - _dataresource = _dataresource.replace(/@typename@/ig, `'admin'`) - _customScript = _customScript.replace(/@typename@/ig, `'admin'`) - - if (setting.$re_year) { - _dataresource = _dataresource.replace(/@mk_year@/ig, year) - _customScript = _customScript.replace(/@mk_year@/ig, year) } let allSearch = Utils.getAllSearchOptions(search) @@ -168,37 +137,55 @@ value: `'${item.value}'` } }) - regoptions.push({ - reg: new RegExp('@orderBy@', 'ig'), - value: orderBy - }, { - reg: new RegExp('@pageSize@', 'ig'), - value: setting.laypage ? pageSize : '9999' - }, { - reg: new RegExp('@pageIndex@', 'ig'), - value: pageIndex - }) + regoptions.push( + { reg: /@orderBy@/ig, value: orderBy }, + { reg: /@pageSize@/ig, value: setting.laypage ? pageSize : '9999' }, + { reg: /@pageIndex@/ig, value: pageIndex}, + { reg: /@select\$|\$select@/ig, value: ''}, + { reg: /\$sum@/ig, value: '/*'}, + { reg: /@sum\$/ig, value: '*/'}, + { reg: /@ID@/ig, value: `'${id || ''}'`}, + { reg: /@BID@/ig, value: `'${BID || ''}'`}, + { reg: /@LoginUID@/ig, value: `'${sessionStorage.getItem('LoginUID') || ''}'`}, + { reg: /@SessionUid@/ig, value: `'${localStorage.getItem('SessionUid') || ''}'`}, + { reg: /@UserID@/ig, value: `'${sessionStorage.getItem('UserID') || ''}'`}, + { reg: /@Appkey@/ig, value: `'${window.GLOB.appkey || ''}'`}, + { reg: /@typename@/ig, value: `'admin'`}, + ) + + if (setting.$re_year) { + regoptions.push({ reg: /@mk_year@/ig, value: year }) + } regoptions.forEach(item => { _dataresource = _dataresource.replace(item.reg, item.value) _customScript = _customScript.replace(item.reg, item.value) + _tailScript = _tailScript.replace(item.reg, item.value) }) let _search = '' if (_dataresource) { + let id_search = '' + if (id) { + if (/^excel:/.test(id)) { + id_search = `${setting.primaryKey} in (select ID from dbo.SplitComma('${id.replace(/^excel:/, '')}'))` + } else { + id_search = `${setting.primaryKey || 'ID'}='${id}'` + orderBy = '' + } + } + if (setting.queryType === 'statistics') { // 缁熻鏁版嵁婧愶紝鍐呭鏇挎崲 if (id) { - _dataresource = _dataresource + ` where ${setting.primaryKey || 'ID'}='${id}'` - } - } else if (!id) { - _search = Utils.joinMainSearchkey(search) - if (_search) { - _search = 'where ' + _search + _dataresource = _dataresource + ` where ${id_search}` } } else if (id) { _search = Utils.joinMainSearchkey(search) - _search = `where ${_search ? _search + ' AND ' : ''} ${setting.primaryKey || 'ID'}='${id}'` + _search = `where ${_search ? _search + ' AND ' : ''} ${id_search}` + } else { + _search = Utils.joinMainSearchkey(search) + _search = _search ? 'where ' + _search : '' } } @@ -211,42 +198,52 @@ let LText = '' let DateCount = '' + let arr_field = setting.all_field || setting.arr_field - if (setting.sub_field) { - arrFields = arrFields + ',' + setting.sub_field - } - - if (_dataresource && setting.laypage && orderBy && !id) { - if (setting.custompage) { - LText = `/*system_query*/select ${arrFields} from ${_dataresource} ${_search} ` - } else { - LText = `/*system_query*/select top ${pageSize} ${arrFields} from (select ${arrFields} ,ROW_NUMBER() over(order by ${orderBy}) as rows from ${_dataresource} ${_search}) tmptable where rows > ${pageSize * (pageIndex - 1)} order by tmptable.rows ` - if (setting.sub_field) { - DateCount = `/*system_query*/select count(1) as total from (select distinct ${setting.primaryKey} from ${_dataresource} ${_search})a` + if (_dataresource) { + if (setting.laypage && orderBy) { + if (setting.custompage) { + LText = `/*system_query*/select ${arr_field} from ${_dataresource} ${_search} ` } else { - DateCount = `/*system_query*/select count(1) as total from ${_dataresource} ${_search}` + LText = `/*system_query*/select top ${pageSize} ${arr_field} from (select ${arr_field} ,ROW_NUMBER() over(order by ${orderBy}) as rows from ${_dataresource} ${_search}) tmptable where rows > ${pageSize * (pageIndex - 1)} order by tmptable.rows ` + if (setting.sub_field) { + DateCount = `/*system_query*/select count(1) as total from (select distinct ${setting.primaryKey} from ${_dataresource} ${_search})a` + } else { + DateCount = `/*system_query*/select count(1) as total from ${_dataresource} ${_search}` + } } + } else if (orderBy) { + LText = `/*system_query*/select ${arr_field} from (select ${arr_field} ,ROW_NUMBER() over(order by ${orderBy}) as rows from ${_dataresource} ${_search}) tmptable order by tmptable.rows ` + } else { + LText = `/*system_query*/select ${arr_field} from ${_dataresource} ${_search} ` } - } else if (_dataresource && orderBy) { - LText = `/*system_query*/select ${arrFields} from (select ${arrFields} ,ROW_NUMBER() over(order by ${orderBy}) as rows from ${_dataresource} ${_search}) tmptable order by tmptable.rows ` - } else if (_dataresource) { - LText = `/*system_query*/select ${arrFields} from ${_dataresource} ${_search} ` } if (_customScript) { if (LText) { LText = `${LText} + ${_tailScript} aaa: if @ErrorCode!='' insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,'${sessionStorage.getItem('UserID') || ''}' ` } else { _customScript = `${_customScript} + ${_tailScript} aaa: if @ErrorCode!='' insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,'${sessionStorage.getItem('UserID') || ''}' ` } + } else if (_tailScript) { + LText = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100) + Select @ErrorCode='',@retmsg ='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @mk_user_type='${mk_user_type}', @mk_nation='${nation}', @mk_province='${province}', @mk_city='${city}', @mk_district='${district}', @mk_address='${address}' + ${LText} + ${_tailScript} + aaa: + if @ErrorCode!='' + insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,'${sessionStorage.getItem('UserID') || ''}' + ` } else { LText = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100) Select @ErrorCode='',@retmsg ='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @mk_user_type='${mk_user_type}', @mk_nation='${nation}', @mk_province='${province}', @mk_city='${city}', @mk_district='${district}', @mk_address='${address}' @@ -334,28 +331,6 @@ ` } - _dataresource = _dataresource.replace(/@sum\$|\$sum@/ig, '') - _customScript = _customScript.replace(/@sum\$|\$sum@/ig, '') - _dataresource = _dataresource.replace(/\$select@/ig, '/*') - _dataresource = _dataresource.replace(/@select\$/ig, '*/') - _customScript = _customScript.replace(/\$select@/ig, '/*') - _customScript = _customScript.replace(/@select\$/ig, '*/') - - // _dataresource = _dataresource.replace(/@ID@/ig, `''`) - // _customScript = _customScript.replace(/@ID@/ig, `''`) - _dataresource = _dataresource.replace(/@BID@/ig, `'${BID || ''}'`) - _customScript = _customScript.replace(/@BID@/ig, `'${BID || ''}'`) - _dataresource = _dataresource.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`) - _customScript = _customScript.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`) - _dataresource = _dataresource.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`) - _customScript = _customScript.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`) - _dataresource = _dataresource.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`) - _customScript = _customScript.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`) - _dataresource = _dataresource.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) - _customScript = _customScript.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) - _dataresource = _dataresource.replace(/@typename@/ig, `'admin'`) - _customScript = _customScript.replace(/@typename@/ig, `'admin'`) - let allSearch = Utils.getAllSearchOptions(search) let regoptions = allSearch.map(item => { return { @@ -364,16 +339,21 @@ } }) - regoptions.push({ - reg: new RegExp('@orderBy@', 'ig'), - value: orderBy - }, { - reg: new RegExp('@pageSize@', 'ig'), - value: 999999 - }, { - reg: new RegExp('@pageIndex@', 'ig'), - value: 1 - }) + regoptions.push( + { reg: /@orderBy@/ig, value: orderBy }, + { reg: /@pageSize@/ig, value: 999999 }, + { reg: /@pageIndex@/ig, value: 1}, + { reg: /\$select@/ig, value: '/*'}, + { reg: /@select\$/ig, value: '*/'}, + { reg: /@sum\$|\$sum@/ig, value: ''}, + { reg: /@ID@/ig, value: `''`}, + { reg: /@BID@/ig, value: `'${BID || ''}'`}, + { reg: /@LoginUID@/ig, value: `'${sessionStorage.getItem('LoginUID') || ''}'`}, + { reg: /@SessionUid@/ig, value: `'${localStorage.getItem('SessionUid') || ''}'`}, + { reg: /@UserID@/ig, value: `'${sessionStorage.getItem('UserID') || ''}'`}, + { reg: /@Appkey@/ig, value: `'${window.GLOB.appkey || ''}'`}, + { reg: /@typename@/ig, value: `'admin'`}, + ) regoptions.forEach(item => { _dataresource = _dataresource.replace(item.reg, item.value) @@ -447,7 +427,6 @@ export function getStructDefaultParam (component, searchlist, first) { const { columns, setting, dataName, format, uuid } = component - let arr_field = columns.map(col => col.field) let _dataresource = setting.dataresource let _customScript = setting.customScript @@ -464,12 +443,12 @@ _customScript = _customScript.replace(item.reg, item.value) }) - _dataresource = _dataresource.replace(/@select\$|\$select@/ig, '') - _customScript = _customScript.replace(/@select\$|\$select@/ig, '') - _dataresource = _dataresource.replace(/\$sum@/ig, '/*') - _dataresource = _dataresource.replace(/@sum\$/ig, '*/') - _customScript = _customScript.replace(/\$sum@/ig, '/*') - _customScript = _customScript.replace(/@sum\$/ig, '*/') + // _dataresource = _dataresource.replace(/@select\$|\$select@/ig, '') + // _customScript = _customScript.replace(/@select\$|\$select@/ig, '') + // _dataresource = _dataresource.replace(/\$sum@/ig, '/*') + // _dataresource = _dataresource.replace(/@sum\$/ig, '*/') + // _customScript = _customScript.replace(/\$sum@/ig, '/*') + // _customScript = _customScript.replace(/@sum\$/ig, '*/') let _search = '' if (setting.queryType !== 'statistics' && _dataresource) { @@ -478,9 +457,9 @@ } if (setting.order && _dataresource) { - _dataresource = `select top 1000 ${arr_field.join(',')} from (select ${arr_field.join(',')} ,ROW_NUMBER() over(order by ${setting.order}) as rows from ${_dataresource} ${_search}) tmptable order by tmptable.rows ` + _dataresource = `select top 1000 ${setting.arr_field} from (select ${setting.arr_field} ,ROW_NUMBER() over(order by ${setting.order}) as rows from ${_dataresource} ${_search}) tmptable order by tmptable.rows ` } else if (_dataresource) { - _dataresource = `select top 1000 ${arr_field.join(',')} from ${_dataresource} ${_search} ` + _dataresource = `select top 1000 ${setting.arr_field} from ${_dataresource} ${_search} ` } if (first) { @@ -508,6 +487,7 @@ $name: setting.$name, columns: columns, par_tablename: '', + order: setting.order || '', type: format === 'array' ? format : '', primaryKey: setting.primaryKey || '', foreign_key: '', @@ -524,10 +504,18 @@ export function getStructuredParams (params, config, BID) { let LText_field = [] let diffUser = false - // let transaction = false - let loginId = `'${sessionStorage.getItem('LoginUID') || ''}'` - let sessionId = `'${localStorage.getItem('SessionUid') || ''}'` - let userId = `'${sessionStorage.getItem('UserID') || ''}'` + + let regoptions = [ + { reg: /@pageSize@/ig, value: 9999 }, + { reg: /@pageIndex@/ig, value: 1}, + { reg: /@ID@/ig, value: `''`}, + { reg: /@BID@/ig, value: `'${BID || ''}'`}, + { reg: /@LoginUID@/ig, value: `'${sessionStorage.getItem('LoginUID') || ''}'`}, + { reg: /@SessionUid@/ig, value: `'${localStorage.getItem('SessionUid') || ''}'`}, + { reg: /@UserID@/ig, value: `'${sessionStorage.getItem('UserID') || ''}'`}, + { reg: /@Appkey@/ig, value: `'${window.GLOB.appkey || ''}'`}, + { reg: /@typename@/ig, value: `'admin'`}, + ] let _LText = params.map((item, index) => { let _script = item.script @@ -536,24 +524,14 @@ if (!diffUser && (/@userid@/ig.test(item.sql) || /@userid@/ig.test(_script))) { diffUser = true } - // if (item.transaction) { - // transaction = true - // } - _sql = _sql.replace(/@ID@/ig, `''`) - _script = _script.replace(/@ID@/ig, `''`) - _sql = _sql.replace(/@BID@/ig, `'${BID || ''}'`) - _script = _script.replace(/@BID@/ig, `'${BID || ''}'`) - _sql = _sql.replace(/@LoginUID@/ig, loginId) - _script = _script.replace(/@LoginUID@/ig, loginId) - _sql = _sql.replace(/@SessionUid@/ig, sessionId) - _script = _script.replace(/@SessionUid@/ig, sessionId) - _sql = _sql.replace(/@UserID@/ig, userId) - _script = _script.replace(/@UserID@/ig, userId) - _sql = _sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) - _script = _script.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) - _sql = _sql.replace(/@typename@/ig, `'admin'`) - _script = _script.replace(/@typename@/ig, `'admin'`) + _sql = _sql.replace(/@orderBy@/ig, item.order) + _script = _script.replace(/@orderBy@/ig, item.order) + + regoptions.forEach(cell => { + _sql = _sql.replace(cell.reg, cell.value) + _script = _script.replace(cell.reg, cell.value) + }) // 娴嬭瘯绯荤粺鎵撳嵃鏌ヨ璇彞 if (window.GLOB.debugger === true) { @@ -579,9 +557,6 @@ if (config.MenuName) { param.menuname = config.MenuName } - // if (transaction) { - // param.func = 'sPC_Get_structured_data_try' - // } let { LText, LText1, LText2 } = Utils.sPCInUpDeFormatOptions(param.LText) -- Gitblit v1.8.0