From e1cee96b38805bcccf48e7bcb9d296f2bc54c720 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 24 一月 2025 11:10:32 +0800
Subject: [PATCH] 2025-01-24
---
src/utils/utils-datamanage.js | 854 +++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 684 insertions(+), 170 deletions(-)
diff --git a/src/utils/utils-datamanage.js b/src/utils/utils-datamanage.js
index d214736..9507763 100644
--- a/src/utils/utils-datamanage.js
+++ b/src/utils/utils-datamanage.js
@@ -1,36 +1,165 @@
+import md5 from 'md5'
import moment from 'moment'
-import options from '@/store/options.js'
+import { notification, Modal } from 'antd'
+
+import MKEmitter from '@/utils/events.js'
import Utils from './utils.js'
+
+const getBackendQueryParam = (setting, search, orderBy, pageIndex, pageSize, id, BID, year, dataName) => {
+ let item = window.GLOB.CacheData.get('sql_' + setting.uuid)
+
+ let searchKeys = null
+ if (setting.dataresource) {
+ searchKeys = []
+
+ if (search.length && setting.queryType !== 'statistics') {
+ searchKeys = Utils.getSearchkeys(search)
+ }
+
+ if (id) {
+ if (/^excel:/.test(id)) {
+ id = id.replace(/^excel:/, '')
+ searchKeys.push({
+ key: setting.primaryKey || 'ID',
+ match: '',
+ type: 'text_in',
+ value: id
+ })
+ } else {
+ searchKeys.push({
+ key: setting.primaryKey || 'ID',
+ match: '03',
+ type: 'text',
+ value: id
+ })
+ }
+ }
+ }
+
+ let values = {
+ time_id: Utils.getguid(),
+ roleid: sessionStorage.getItem('role_id') || '',
+ mk_departmentcode: sessionStorage.getItem('departmentcode') || '',
+ mk_organization: sessionStorage.getItem('organization') || '',
+ mk_user_type: sessionStorage.getItem('mk_user_type') || '',
+ mk_nation: sessionStorage.getItem('nation') || '',
+ mk_province: sessionStorage.getItem('province') || '',
+ mk_city: sessionStorage.getItem('city') || '',
+ mk_district: sessionStorage.getItem('district') || '',
+ mk_address: sessionStorage.getItem('address') || '',
+ orderby: orderBy || '',
+ pagesize: setting.laypage ? pageSize : '9999',
+ pageindex: pageIndex,
+ id: id || '',
+ bid: BID || '',
+ typename: 'admin',
+ datam: sessionStorage.getItem('dataM') === 'true' ? 'Y' : '',
+ datam_begin: sessionStorage.getItem('dataM') === 'true' ? 'Y' : '',
+ datam_end: sessionStorage.getItem('dataM') === 'true' ? 'Y' : '',
+ mk_obj_name: dataName || 'data'
+ }
+
+ if (setting.hasExtend) {
+ values.mk_time = setting.extendTime
+ }
+ if (setting.$re_year) {
+ values.mk_year = year
+ }
+ if (window.GLOB.externalDatabase !== null) {
+ values.db = window.GLOB.externalDatabase
+ }
+ if (item.works_flow_code) {
+ values.works_flow_code = item.works_flow_code
+ }
+
+ item.urlkeys && item.urlkeys.forEach(key => {
+ if (values.hasOwnProperty(key.toLowerCase())) return
+
+ values[key] = item.urlparam[key]
+ })
+
+ let allSearch = Utils.getAllSearchOptions(search)
+
+ allSearch.forEach(cell => {
+ values[cell.key.toLowerCase()] = cell.value
+ })
+
+ let exps = []
+
+ if (searchKeys) {
+ exps.push({
+ key: 'mk_search',
+ value: searchKeys
+ })
+ }
+
+ item.reps.forEach(n => {
+ let key = n.toLowerCase()
+ if (values.hasOwnProperty(key)) {
+ exps.push({
+ key: n,
+ value: values[key]
+ })
+ }
+ })
+
+ let md5_id = ''
+ if (window.GLOB.probation) {
+ md5_id = md5(item.id + JSON.stringify(exps) + Math.floor(new Date().getTime() / 600000))
+ md5_id = moment().format('YYYYMMDDHHmmss') + md5_id.slice(-18)
+ }
+
+ let cell = {
+ id: item.id,
+ menuname: setting.$name || '',
+ exps: exps,
+ md5_id: md5_id
+ }
+
+ if (dataName) {
+ cell.dataName = dataName
+ cell.luser = item.luser
+ return cell
+ }
+
+ let param = {
+ $backend: true,
+ $type: 's_Get_TableData',
+ data: [cell]
+ }
+
+ if (setting.database === 'sso' && window.GLOB.mainSystemApi) {
+ param.rduri = window.GLOB.mainSystemApi
+ }
+
+ return param
+}
export default class DataUtils {
/**
- * @description 鏁版嵁婧愬悕绉帮紝鐢ㄤ簬缁熶竴鏌ヨ
- * @param {Object} setting 鏁版嵁婧愯缃�
- * @param {String} arrFields 鏌ヨ瀛楁
- * @param {Array} search 鎼滅储鏉′欢
- * @param {String} orderBy 鎺掑簭鏂瑰紡
- * @param {Number} pageIndex 椤电爜
- * @param {Number} pageSize 姣忛〉鏁伴噺
- * @param {String} BID 涓婄骇ID
- * @param {String} menuType 鑿滃崟绫诲瀷锛屾櫘閫氳彍鍗曚笌HS
- * @param {Boolean} dataManager 鏁版嵁鏉冮檺
- * @return {Object} param
+ * @description 鏁版嵁婧愮粺涓�鏌ヨ
*/
- static getQueryDataParams (setting, arrFields, search = [], orderBy = '', pageIndex = 1, pageSize = 10, BID, menuType, dataManager) {
+ static getQueryDataParams (setting, search = [], orderBy = '', pageIndex = 1, pageSize = 10, BID, id, year) {
let param = null
- if (setting.interType === 'system' || (setting.interType === 'inner' && !setting.innerFunc)) {
- param = this.getDefaultQueryParam(setting, arrFields, search, orderBy, pageIndex, pageSize, menuType)
+ if (setting.interType === 'system') {
+ if (window.backend && window.GLOB.CacheData.has('sql_' + setting.uuid)) {
+ param = getBackendQueryParam(setting, search, orderBy, pageIndex, pageSize, id, BID, year)
+ } else {
+ param = this.getDefaultQueryParam(setting, search, orderBy, pageIndex, pageSize, id, BID, year)
+ param.BID = BID || ''
+ param.dataM = sessionStorage.getItem('dataM') === 'true' ? 'Y' : ''
+ }
} else {
- param = this.getCustomQueryParam(setting, search, orderBy, pageIndex, pageSize, menuType)
- }
+ param = this.getCustomQueryParam(setting, search, orderBy, pageIndex, pageSize, id, year)
- if (BID) {
- param.BID = BID
- }
- // 鏁版嵁绠$悊鏉冮檺
- if (dataManager) {
- param.dataM = 'Y'
+ if (BID) {
+ param.BID = BID
+ }
+ // 鏁版嵁绠$悊鏉冮檺
+ if (sessionStorage.getItem('dataM') === 'true') {
+ param.dataM = 'Y'
+ }
}
return param
@@ -39,32 +168,59 @@
/**
* @description 鑾峰彇鐢ㄦ埛鑷畾涔夊瓨鍌ㄨ繃绋嬩紶鍙�
*/
- static getCustomQueryParam (setting, search, orderBy, pageIndex, pageSize, menuType) {
+ static getCustomQueryParam (setting, search, orderBy, pageIndex, pageSize, id, year) {
let param = Utils.formatCustomMainSearch(search)
if (orderBy) {
param.OrderCol = orderBy
}
- if (setting.laypage) {
+ 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 (menuType === 'HS') {
- if (setting.sysInterface === 'true' && options.cloudServiceApi) {
- param.rduri = options.cloudServiceApi
- } else if (setting.sysInterface !== 'true') {
+ 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 (setting.sysInterface === 'true' && window.GLOB.mainSystemApi) {
- param.rduri = window.GLOB.mainSystemApi
- } else if (setting.sysInterface !== 'true') {
+ 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
}
}
@@ -77,221 +233,347 @@
}
/**
- * @description 鑾峰彇绯荤粺瀛樺偍杩囩▼ sPC_Get_TableData 鐨勫弬鏁�
+ * @description 鑾峰彇绯荤粺瀛樺偍杩囩▼鐨勫弬鏁�
*/
- static getDefaultQueryParam (setting, arrFields, search, orderBy, pageIndex, pageSize, menuType) {
+ static getDefaultQueryParam (setting, search, orderBy, pageIndex, pageSize, id, BID, year) {
let param = {
func: 'sPC_Get_TableData',
obj_name: 'data',
- arr_field: arrFields,
+ 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) select @ErrorCode='',@retmsg =''
+ _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 regoptions = null
- if (setting.queryType === 'statistics' || _customScript) {
- let allSearch = Utils.getAllSearchOptions(search)
- let userName = sessionStorage.getItem('User_Name') || ''
- let fullName = sessionStorage.getItem('Full_Name') || ''
-
- if (sessionStorage.getItem('isEditState') === 'true') {
- userName = sessionStorage.getItem('CloudUserName') || ''
- fullName = sessionStorage.getItem('CloudFullName') || ''
+ 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'`},
+ )
- regoptions = allSearch.map(item => {
- return {
- reg: new RegExp('@' + item.key + '@', 'ig'),
- value: `'${item.value}'`
- }
- })
- regoptions.push({
- reg: new RegExp('@userName@', 'ig'),
- value: userName
- }, {
- reg: new RegExp('@fullName@', 'ig'),
- value: fullName
- }, {
- reg: new RegExp('@orderBy@', 'ig'),
- value: orderBy
- }, {
- reg: new RegExp('@pageSize@', 'ig'),
- value: pageSize
- }, {
- reg: new RegExp('@pageIndex@', 'ig'),
- value: pageIndex
- })
+ 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 (setting.queryType === 'statistics' && _dataresource) { // 缁熻鏁版嵁婧愶紝鍐呭鏇挎崲
- regoptions.forEach(item => {
- _dataresource = _dataresource.replace(item.reg, item.value)
- })
- } else if (_dataresource) {
- _search = Utils.joinMainSearchkey(search)
- if (_search) {
- _search = 'where ' + _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) {
- regoptions.forEach(item => {
- _customScript = _customScript.replace(item.reg, item.value)
- })
+ 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 && setting.laypage && orderBy) {
- LText = ` 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 `
- DateCount = `select count(1) as total from ${_dataresource} ${_search}`
- } else if (_dataresource && orderBy) {
- LText = ` 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 = ` select ${arrFields} from ${_dataresource} ${_search} `
- }
-
- if (_customScript) {
- if (LText) {
- LText = `${LText}
- aaa:
- if @ErrorCode!=''
- insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,@UserID@
- `
+ 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 {
- _customScript = `${_customScript}
- aaa:
- if @ErrorCode!=''
- insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,@UserID@
- `
+ LText = `/*system_query*/select ${arr_field} from ${_dataresource} ${_search} `
}
}
- // 娴嬭瘯绯荤粺鎵撳嵃鏌ヨ璇彞
- if ((options.sysType === 'local' && !window.GLOB.systemType) || window.debugger === true) {
- _customScript && console.log(`${LText ? '' : '/*涓嶆墽琛岄粯璁ql*/\n'}${_customScript}`)
- LText && console.log(LText)
+ 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}
+ `
}
-
- param.custom_script = Utils.formatOptions(_customScript)
- param.LText = Utils.formatOptions(LText)
- param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
- param.secretkey = Utils.encrypt(param.LText, param.timestamp)
- param.DateCount = Utils.formatOptions(DateCount)
- if (menuType === 'HS') { // 浜戠鏁版嵁楠岃瘉
+ // 娴嬭瘯绯荤粺鎵撳嵃鏌ヨ璇彞
+ if (window.GLOB.debugger === true) {
+ _customScript && window.mkInfo(`${setting.$name ? `/*${setting.$name} 鑷畾涔夎剼鏈�*/\n` : ''}${LText ? '' : '/*涓嶆墽琛岄粯璁ql*/\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 瑙g爜瀛楁锛歀Text銆丩Text1銆丩Text2銆乧ustom_script銆丏ateCount
+
+ 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 鑾峰彇绯荤粺瀛樺偍杩囩▼ sPC_Get_TableData 鍚堣鍊肩殑鍙傛暟
+ * @description 鑾峰彇绯荤粺瀛樺偍杩囩▼鍚堣鍊肩殑鍙傛暟
*/
- static getStatQueryDataParams (setting, statFields, search, orderBy, BID, menuType, dataManager) {
+ 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) select @ErrorCode='',@retmsg =''
+ _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 regoptions = null
- if (setting.queryType === 'statistics' || _customScript) {
- let allSearch = Utils.getAllSearchOptions(search)
- let userName = sessionStorage.getItem('User_Name') || ''
- let fullName = sessionStorage.getItem('Full_Name') || ''
-
- if (sessionStorage.getItem('isEditState') === 'true') {
- userName = sessionStorage.getItem('CloudUserName') || ''
- fullName = sessionStorage.getItem('CloudFullName') || ''
+ let allSearch = Utils.getAllSearchOptions(search)
+ let regoptions = allSearch.map(item => {
+ return {
+ reg: new RegExp('@' + item.key + '@', 'ig'),
+ value: `'${item.value}'`
}
+ })
- regoptions = allSearch.map(item => {
- return {
- reg: new RegExp('@' + item.key + '@', 'ig'),
- value: `'${item.value}'`
- }
- })
- regoptions.push({
- reg: new RegExp('@userName@', 'ig'),
- value: userName
- }, {
- reg: new RegExp('@fullName@', 'ig'),
- value: fullName
- }, {
- 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: /@lang@/ig, value: `'${sessionStorage.getItem('lang')}'`},
+ { reg: /@typename@/ig, value: `'admin'`},
+ )
- let _search = Utils.joinMainSearchkey(search)
- if (_search) {
- _search = 'where ' + _search
- }
+ regoptions.forEach(item => {
+ _dataresource = _dataresource.replace(item.reg, item.value)
+ _customScript = _customScript.replace(item.reg, item.value)
+ })
+
+ let _search = ''
- if (setting.queryType === 'statistics') { // 缁熻鏁版嵁婧愶紝鍐呭鏇挎崲
- regoptions.forEach(item => {
- _dataresource = _dataresource.replace(item.reg, item.value)
- })
+ if (setting.queryType !== 'statistics') { // 缁熻鏁版嵁婧愶紝鍐呭鏇挎崲
+ _search = Utils.joinMainSearchkey(search)
+ if (_search) {
+ _search = 'where ' + _search
+ }
}
- if (_customScript) {
- regoptions.forEach(item => {
- _customScript = _customScript.replace(item.reg, item.value)
- })
- }
-
- let LText = ` select ${statFields.map(col => `isnull(sum(${col.field}),0) as ${col.field}`).join(',')} from ${_dataresource} ${_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,@UserID@
+ 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 ((options.sysType === 'local' && !window.GLOB.systemType) || window.debugger === true) {
- _customScript && console.log(`${LText ? '' : '/*涓嶆墽琛岄粯璁ql*/\n'}${_customScript}`)
- LText && console.log(LText)
+ if (window.GLOB.debugger === true) {
+ _customScript && window.mkInfo(`${setting.$name ? `/*${setting.$name} 鑷畾涔夎剼鏈� 缁熻鏌ヨ*/\n` : ''}${LText ? '' : '/*涓嶆墽琛岄粯璁ql*/\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.LText = Utils.formatOptions(LText)
- param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
- param.secretkey = Utils.encrypt(param.LText, param.timestamp)
+ param.custom_script = Utils.formatOptions(_customScript, param.exec_type)
+ param.LText = Utils.formatOptions(LText, param.exec_type)
param.DateCount = ''
- if (menuType === 'HS') { // 浜戠鏁版嵁楠岃瘉
+ 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)
}
@@ -300,10 +582,242 @@
}
// 鏁版嵁绠$悊鏉冮檺
- if (dataManager) {
+ 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, BID) {
+ const { columns, setting, dataName, format, uuid } = component
+
+ if (window.backend && window.GLOB.CacheData.has('sql_' + uuid)) {
+ if (first) {
+ let item = window.GLOB.CacheData.get('sql_' + uuid)
+ window.GLOB.CacheData.set('first_' + item.id, uuid)
+ }
+
+ return getBackendQueryParam(setting, searchlist, setting.order, 1, 1000, '', BID, '', dataName)
+ }
+
+ 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,
+ dataName: 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) {
+ if (window.backend && params[0].exps) {
+ let param = {
+ $backend: true,
+ $type: 's_Get_structured_data',
+ data: params.map(item => {
+ let cell = {...item}
+
+ delete cell.dataName
+ delete cell.luser
+
+ return cell
+ })
+ }
+
+ if (config.cacheUseful === 'true') {
+ param.time_limit = config.cacheTime
+
+ if (config.timeUnit === 'day') {
+ param.time_limit = param.time_limit * 1440
+ } else if (config.timeUnit === 'hour') {
+ param.time_limit = param.time_limit * 60
+ }
+
+ if (params.findIndex(item => item.luser) > -1) {
+ param.data_md5 = md5(window.GLOB.appkey + params[0].id + sessionStorage.getItem('UserID'))
+ } else {
+ param.data_md5 = md5(window.GLOB.appkey + params[0].id)
+ }
+ }
+
+ return param
+ }
+
+ 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 ? '' : '/*涓嶆墽琛岄粯璁ql*/\n'}${_script}`)
+ _sql && window.mkInfo(`${item.$name ? `/*${item.$name} 鏁版嵁婧愶紙鍚屾鏌ヨ锛�*/\n` : ''}` + _sql)
+ }
+
+ item.columns.forEach(cell => {
+ LText_field.push(`Select '${item.dataName}' as tablename,'${cell.field}' as fieldname,'${cell.datatype}' as field_type`)
+ })
+ return `Select '${item.dataName}' 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
}
\ No newline at end of file
--
Gitblit v1.8.0