import md5 from 'md5' import moment from 'moment' import { notification, Modal } from 'antd' import MKEmitter from '@/utils/events.js' import Utils from './utils.js' export default class DataUtils { /** * @description 数据源统一查询 */ static getQueryDataParams (setting, search = [], orderBy = '', pageIndex = 1, pageSize = 10, BID, id, year) { let param = null if (setting.interType === 'system') { param = this.getDefaultQueryParam(setting, search, orderBy, pageIndex, pageSize, id, BID, year) } else { param = this.getCustomQueryParam(setting, search, orderBy, pageIndex, pageSize, id, year) } if (BID) { param.BID = BID } // 数据管理权限 if (sessionStorage.getItem('dataM') === 'true') { param.dataM = 'Y' } return param } /** * @description 获取用户自定义存储过程传参 */ static getCustomQueryParam (setting, search, orderBy, pageIndex, pageSize, id, year) { let param = Utils.formatCustomMainSearch(search) if (orderBy) { param.OrderCol = orderBy } if (id) { param.ID = id } else if (setting.laypage) { param.PageIndex = pageIndex param.PageSize = pageSize } else if (setting.$re_year) { param.mk_year = year } if (setting.hasExtend) { param.mk_time = setting.extendTime } if (setting.interType === 'inner') { param.func = setting.innerFunc if (setting.recordUser === 'true') { param.username = sessionStorage.getItem('User_Name') || '' param.fullname = sessionStorage.getItem('Full_Name') || '' } } else { if (setting.sysInterface === 'true') { if (window.GLOB.mainSystemApi) { param.rduri = window.GLOB.mainSystemApi } } else if (setting.sysInterface === 'external') { if (window.GLOB.systemType === 'production') { param.$token = setting.exProInterface || '' } else { param.$token = setting.exInterface || '' } } else if (setting.sysInterface === 'custom') { if (window.GLOB.systemType === 'production') { param.rduri = setting.proInterface } else { param.rduri = setting.interface } } else { if (window.GLOB.systemType === 'production' && setting.proInterface) { param.rduri = setting.proInterface } else { param.rduri = setting.interface } let host = window.GLOB.baseurl.replace(/http(s):\/\//, '') if (param.rduri.indexOf(host) === -1 && /\/dostars/.test(param.rduri)) { param.$login = true } } if (setting.outerFunc) { param.func = setting.outerFunc } } return param } /** * @description 获取系统存储过程的参数 */ static getDefaultQueryParam (setting, search, orderBy, pageIndex, pageSize, id, BID, year) { let param = { func: 'sPC_Get_TableData', obj_name: 'data', exec_type: window.GLOB.execType || 'y', arr_field: setting.arr_field, default_sql: setting.execute ? 'true' : 'false' } let userName = sessionStorage.getItem('User_Name') || '' let fullName = sessionStorage.getItem('Full_Name') || '' let RoleID = sessionStorage.getItem('role_id') || '' let departmentcode = sessionStorage.getItem('departmentcode') || '' let organization = sessionStorage.getItem('organization') || '' let mk_user_type = sessionStorage.getItem('mk_user_type') || '' let nation = sessionStorage.getItem('nation') || '' let province = sessionStorage.getItem('province') || '' let city = sessionStorage.getItem('city') || '' let district = sessionStorage.getItem('district') || '' let address = sessionStorage.getItem('address') || '' 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} ` } let allSearch = Utils.getAllSearchOptions(search) let regoptions = allSearch.map(item => { return { reg: new RegExp('@' + item.key + '@', 'ig'), value: `'${item.value}'` } }) 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: /@lang@/ig, value: `'${sessionStorage.getItem('lang')}'`}, { reg: /@typename@/ig, value: `'admin'`}, ) if (setting.hasExtend) { regoptions.push({ reg: /@mk_time@/ig, value: `'${setting.extendTime}'` }) } 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 ${id_search}` } } else if (id) { _search = Utils.joinMainSearchkey(search) _search = `where ${_search ? _search + ' AND ' : ''} ${id_search}` } else { _search = Utils.joinMainSearchkey(search) _search = _search ? 'where ' + _search : '' } } if (_customScript) { if (window.GLOB.breakpoint) { _customScript = _customScript.replace(/\$breakpoint_proc@/ig, window.GLOB.breakpoint) param.func = 'sPC_Get_TableData_debug' } } let LText = '' let DateCount = '' let arr_field = setting.all_field || setting.arr_field if (_dataresource) { if (setting.custompage) { LText = `/*system_query*/select ${arr_field} from ${_dataresource} ${_search} ` } else if (setting.laypage && orderBy) { 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 (setting.$top) { if (orderBy) { LText = `/*system_query*/select top 1 ${arr_field} from ${_dataresource} ${_search} order by ${orderBy} ` } else { LText = `/*system_query*/select top 1 ${arr_field} from ${_dataresource} ${_search} ` } } else if (orderBy) { LText = `/*system_query*/select ${arr_field} from ${_dataresource} ${_search} order by ${orderBy} ` } else { LText = `/*system_query*/select ${arr_field} from ${_dataresource} ${_search} ` } } if (_customScript) { if (DateCount) { DateCount = `${DateCount} ${_tailScript} aaa: if @ErrorCode!='' insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,'${sessionStorage.getItem('UserID') || ''}' ` } else 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 && DateCount) { 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} ` DateCount = `${DateCount} ${_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}' ${LText} ` } // 测试系统打印查询语句 if (window.GLOB.debugger === true) { _customScript && window.mkInfo(`${setting.$name ? `/*${setting.$name} 自定义脚本*/\n` : ''}${LText ? '' : '/*不执行默认sql*/\n'}${_customScript}`) LText && window.mkInfo(`${setting.$name ? `/*${setting.$name} 数据源*/\n` : ''}` + LText.replace(/\n\s{8}/ig, '\n')) DateCount && window.mkInfo(`${setting.$name ? `/*${setting.$name} 总数查询*/\n` : ''}` + DateCount.replace(/\n\s{8}/ig, '\n')) } if (setting.$name) { param.menuname = setting.$name } param.custom_script = Utils.formatOptions(_customScript, param.exec_type) param.LText = Utils.formatOptions(LText, param.exec_type) param.DateCount = Utils.formatOptions(DateCount, param.exec_type) if (setting.sub_field) { param.sub_name = setting.subdata param.tabid = setting.primaryKey || '' param.parid = setting.subBID || '' param.sub_field = setting.sub_field } // exec_type 解码字段:LText、LText1、LText2、custom_script、DateCount param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss.SSS') param.secretkey = Utils.encrypt('', param.timestamp) param.username = userName param.fullname = fullName if (window.GLOB.probation) { param.s_debug_type = 'Y' } if (window.GLOB.mkHS) { // 云端数据验证 param.open_key = Utils.encryptOpenKey(param.secretkey, param.timestamp) // special HS自定义函数查询 if (setting.tableName === 's_custom_script' && window.GLOB.mainSystemApi) { param.rduri = window.GLOB.mainSystemApi } } else if (window.GLOB.forcedUpdate) { param.s_version_up = 'true' } if (setting.database === 'sso' && window.GLOB.mainSystemApi) { param.rduri = window.GLOB.mainSystemApi } return param } /** * @description 获取系统存储过程合计值的参数 */ static getStatQueryDataParams (setting, statFields, search, orderBy, BID) { let param = { func: 'sPC_Get_TableData', obj_name: 'data', exec_type: window.GLOB.execType || 'y', arr_field: statFields.map(col => col.field).join(','), default_sql: setting.execute ? 'true' : 'false' } let _dataresource = setting.dataresource let _customScript = '' let userName = sessionStorage.getItem('User_Name') || '' let fullName = sessionStorage.getItem('Full_Name') || '' let RoleID = sessionStorage.getItem('role_id') || '' let departmentcode = sessionStorage.getItem('departmentcode') || '' let organization = sessionStorage.getItem('organization') || '' let mk_user_type = sessionStorage.getItem('mk_user_type') || '' let nation = sessionStorage.getItem('nation') || '' let province = sessionStorage.getItem('province') || '' let city = sessionStorage.getItem('city') || '' let district = sessionStorage.getItem('district') || '' let address = sessionStorage.getItem('address') || '' 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} ` } let allSearch = Utils.getAllSearchOptions(search) let regoptions = allSearch.map(item => { return { reg: new RegExp('@' + item.key + '@', 'ig'), value: `'${item.value}'` } }) 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: /@lang@/ig, value: `'${sessionStorage.getItem('lang')}'`}, { reg: /@typename@/ig, value: `'admin'`}, ) regoptions.forEach(item => { _dataresource = _dataresource.replace(item.reg, item.value) _customScript = _customScript.replace(item.reg, item.value) }) let _search = '' if (setting.queryType !== 'statistics') { // 统计数据源,内容替换 _search = Utils.joinMainSearchkey(search) if (_search) { _search = 'where ' + _search } } let LText = ` /*system_query*/select ${statFields.map(col => `isnull(sum(${col.field}),0) as ${col.field}`).join(',')} from ${_dataresource} ${_search} ` if (_customScript) { LText = `${LText} 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}' ${LText} ` } // 测试系统打印查询语句 if (window.GLOB.debugger === true) { _customScript && window.mkInfo(`${setting.$name ? `/*${setting.$name} 自定义脚本 统计查询*/\n` : ''}${LText ? '' : '/*不执行默认sql*/\n'}${_customScript}`) LText && window.mkInfo(`${setting.$name ? `/*${setting.$name} 数据源 统计查询*/\n` : ''}` + LText.replace(/\n\s{8}/ig, '\n')) } if (setting.$name) { param.menuname = setting.$name } param.custom_script = Utils.formatOptions(_customScript, param.exec_type) param.LText = Utils.formatOptions(LText, param.exec_type) param.DateCount = '' param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt('', param.timestamp) param.username = userName param.fullname = fullName if (window.GLOB.mkHS) { // 云端数据验证 param.open_key = Utils.encryptOpenKey(param.secretkey, param.timestamp) } if (BID) { param.BID = BID } // 数据管理权限 if (sessionStorage.getItem('dataM') === 'true') { param.dataM = 'Y' } return param } /** * @description 数据获取成功 */ static querySuccess (result) { if (!result.message) return if (result.ErrCode === 'Y') { Modal.success({ title: result.message }) } else if (result.ErrCode === 'S') { notification.success({ top: 92, message: result.message, duration: 2 }) } } /** * @description 数据获取失败 */ static queryFail (result) { if (!result.message && result.ErrCode !== 'version_up') return if (result.ErrCode === 'N') { Modal.error({ title: result.message, }) } else if (result.ErrCode === 'version_up') { MKEmitter.emit('reloadTabs') } else if (result.ErrCode !== '-2') { notification.error({ top: 92, message: result.message, duration: 10 }) } } } /** * @description 生成单个组件sPC_Get_structured_data请求参数 */ export function getStructDefaultParam (component, searchlist, first) { const { columns, setting, dataName, format, uuid } = component let _dataresource = setting.dataresource let _customScript = setting.customScript let allSearch = Utils.getAllSearchOptions(searchlist) let regoptions = allSearch.map(item => { return { reg: new RegExp('@' + item.key + '@', 'ig'), value: `'${item.value}'` } }) regoptions.forEach(item => { _dataresource = _dataresource.replace(item.reg, item.value) _customScript = _customScript.replace(item.reg, item.value) }) let _search = '' if (setting.queryType !== 'statistics' && _dataresource) { _search = Utils.joinMainSearchkey(searchlist) _search = _search ? 'where ' + _search : '' } if (setting.$top) { if (setting.order && _dataresource) { _dataresource = `select top 1 ${setting.arr_field} from ${_dataresource} ${_search} order by ${setting.order} ` } else if (_dataresource) { _dataresource = `select top 1 ${setting.arr_field} from ${_dataresource} ${_search} ` } } else if (setting.order && _dataresource) { _dataresource = `select top 1000 ${setting.arr_field} from ${_dataresource} ${_search} order by ${setting.order} ` } else if (_dataresource) { _dataresource = `select top 1000 ${setting.arr_field} from ${_dataresource} ${_search} ` } if (first) { let userName = sessionStorage.getItem('User_Name') || '' let fullName = sessionStorage.getItem('Full_Name') || '' let RoleID = sessionStorage.getItem('role_id') || '' let departmentcode = sessionStorage.getItem('departmentcode') || '' let organization = sessionStorage.getItem('organization') || '' let mk_user_type = sessionStorage.getItem('mk_user_type') || '' let nation = sessionStorage.getItem('nation') || '' let province = sessionStorage.getItem('province') || '' let city = sessionStorage.getItem('city') || '' let district = sessionStorage.getItem('district') || '' let address = sessionStorage.getItem('address') || '' _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}' ${_customScript} ` } return { uuid: uuid, name: dataName, $name: setting.$name, columns: columns, par_tablename: '', order: setting.order || '', type: format === 'array' ? format : '', primaryKey: setting.primaryKey || '', foreign_key: '', sql: _dataresource, script: _customScript } } /** * @description 生成sPC_Get_structured_data请求参数 */ export function getStructuredParams (params, config, BID) { let LText_field = [] let diffUser = false 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: /@lang@/ig, value: `'${sessionStorage.getItem('lang')}'`}, { reg: /@typename@/ig, value: `'admin'`}, ] let _LText = params.map((item, index) => { let _script = item.script let _sql = item.sql if (!diffUser && (/@userid@/ig.test(item.sql) || /@userid@/ig.test(_script))) { diffUser = true } _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) { _script && window.mkInfo(`${item.$name ? `/*${item.$name} 自定义脚本(同步查询)*/\n` : ''}${_sql ? '' : '/*不执行默认sql*/\n'}${_script}`) _sql && window.mkInfo(`${item.$name ? `/*${item.$name} 数据源(同步查询)*/\n` : ''}` + _sql) } item.columns.forEach(cell => { LText_field.push(`Select '${item.name}' as tablename,'${cell.field}' as fieldname,'${cell.datatype}' as field_type`) }) return `Select '${item.name}' as tablename,'${window.btoa(window.encodeURIComponent(_sql))}' as LText,'${window.btoa(window.encodeURIComponent(_script))}' as Lcustomize,'${item.type}' as table_type,'${item.primaryKey}' as primary_key,'${item.par_tablename}' as par_tablename,'${item.foreign_key}' as foreign_key,'${index}' as Sort` }) let param = { func: 'sPC_Get_structured_data', BID: BID, username: sessionStorage.getItem('User_Name') || '', fullName: sessionStorage.getItem('Full_Name') || '' } param.menuname = config.MenuName || config.$menuname || '' param.exec_type = window.GLOB.execType || 'y' param.LText = Utils.formatOptions(_LText.join(' union all '), param.exec_type) param.custom_script = Utils.formatOptions(LText_field.join(' union all '), param.exec_type) if (config.cacheUseful === 'true') { param.time_type = config.timeUnit param.time_limit = config.cacheTime if (diffUser) { param.userid = sessionStorage.getItem('UserID') } param.data_md5 = md5(JSON.stringify(param)) } param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt('', param.timestamp) return param }