From 6d71b3fac75a35e8ebf08e71ba40c5be8a586024 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 08 九月 2021 18:10:17 +0800
Subject: [PATCH] 2021-09-08
---
src/utils/utils-datamanage.js | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 166 insertions(+), 13 deletions(-)
diff --git a/src/utils/utils-datamanage.js b/src/utils/utils-datamanage.js
index b995699..13b2678 100644
--- a/src/utils/utils-datamanage.js
+++ b/src/utils/utils-datamanage.js
@@ -1,3 +1,4 @@
+import md5 from 'md5'
import moment from 'moment'
import options from '@/store/options.js'
import Utils from './utils.js'
@@ -65,7 +66,7 @@
if (setting.sysInterface === 'true' && window.GLOB.mainSystemApi) {
param.rduri = window.GLOB.mainSystemApi
} else if (setting.sysInterface !== 'true') {
- param.rduri = setting.interface
+ param.rduri = window.GLOB.systemType === 'production' ? (setting.proInterface || setting.interface) : setting.interface
}
}
@@ -91,6 +92,9 @@
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 city = sessionStorage.getItem('city') || ''
if (sessionStorage.getItem('isEditState') === 'true') {
@@ -102,8 +106,8 @@
let _customScript = ''
if (setting.customScript) {
- _customScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@login_city nvarchar(50)
- Select @ErrorCode='',@retmsg ='',@UserName='${userName}', @FullName='${fullName}', @login_city='${city}'
+ _customScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@departmentcode nvarchar(50),@organization nvarchar(50),@login_city nvarchar(50)
+ Select @ErrorCode='',@retmsg ='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @departmentcode='${departmentcode}', @organization='${organization}', @login_city='${city}'
${setting.customScript}
`
}
@@ -188,8 +192,12 @@
// 娴嬭瘯绯荤粺鎵撳嵃鏌ヨ璇彞
if ((options.sysType === 'local' && !window.GLOB.systemType) || window.debugger === true) {
- _customScript && console.info(`${setting.$name ? `/*缁勪欢-${setting.$name} 鑷畾涔夎剼鏈�*/\n` : ''}${LText ? '' : '/*涓嶆墽琛岄粯璁ql*/\n'}${_customScript}`)
- LText && console.info(`${setting.$name ? `/*缁勪欢-${setting.$name} 鏁版嵁婧�*/\n` : ''}` + LText)
+ _customScript && console.info(`${setting.$name ? `/*${setting.$name} 鑷畾涔夎剼鏈�*/\n` : ''}${LText ? '' : '/*涓嶆墽琛岄粯璁ql*/\n'}${_customScript}`)
+ LText && console.info(`${setting.$name ? `/*${setting.$name} 鏁版嵁婧�*/\n` : ''}` + LText)
+ }
+
+ if (setting.$name) {
+ param.menuname = setting.$name
}
param.custom_script = Utils.formatOptions(_customScript)
@@ -224,6 +232,9 @@
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 city = sessionStorage.getItem('city') || ''
if (sessionStorage.getItem('isEditState') === 'true') {
@@ -232,8 +243,8 @@
}
if (setting.customScript) {
- _customScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@login_city nvarchar(50)
- Select @ErrorCode='',@retmsg ='',@UserName='${userName}', @FullName='${fullName}', @login_city='${city}'
+ _customScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@departmentcode nvarchar(50),@organization nvarchar(50),@login_city nvarchar(50)
+ Select @ErrorCode='',@retmsg ='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @departmentcode='${departmentcode}', @organization='${organization}', @login_city='${city}'
${setting.customScript}
`
}
@@ -297,8 +308,12 @@
// 娴嬭瘯绯荤粺鎵撳嵃鏌ヨ璇彞
if ((options.sysType === 'local' && !window.GLOB.systemType) || window.debugger === true) {
- _customScript && console.info(`${setting.$name ? `/*缁勪欢-${setting.$name} 鑷畾涔夎剼鏈� 缁熻鏌ヨ*/\n` : ''}${LText ? '' : '/*涓嶆墽琛岄粯璁ql*/\n'}${_customScript}`)
- LText && console.info(`${setting.$name ? `/*缁勪欢-${setting.$name} 鏁版嵁婧� 缁熻鏌ヨ*/\n` : ''}` + LText)
+ _customScript && console.info(`${setting.$name ? `/*${setting.$name} 鑷畾涔夎剼鏈� 缁熻鏌ヨ*/\n` : ''}${LText ? '' : '/*涓嶆墽琛岄粯璁ql*/\n'}${_customScript}`)
+ LText && console.info(`${setting.$name ? `/*${setting.$name} 鏁版嵁婧� 缁熻鏌ヨ*/\n` : ''}` + LText)
+ }
+
+ if (setting.$name) {
+ param.menuname = setting.$name
}
param.custom_script = Utils.formatOptions(_customScript)
@@ -366,6 +381,9 @@
let sql = ''
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 city = sessionStorage.getItem('city') || ''
if (sessionStorage.getItem('isEditState') === 'true') {
@@ -381,8 +399,8 @@
if (sql) {
sql = `/*鍓嶇疆鑴氭湰*/
- declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@login_city nvarchar(50)
- Select @ErrorCode='',@retmsg ='',@UserName='${userName}', @FullName='${fullName}', @login_city='${city}'
+ declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@departmentcode nvarchar(50),@organization nvarchar(50),@login_city nvarchar(50)
+ Select @ErrorCode='',@retmsg ='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @departmentcode='${departmentcode}', @organization='${organization}', @login_city='${city}'
${sql}
aaa:
if @ErrorCode!=''
@@ -448,6 +466,9 @@
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 city = sessionStorage.getItem('city') || ''
if (sessionStorage.getItem('isEditState') === 'true') {
@@ -455,8 +476,8 @@
fullName = sessionStorage.getItem('CloudFullName') || ''
}
- let _prevCustomScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@login_city nvarchar(50)
- Select @ErrorCode='',@retmsg='',@UserName='${userName}', @FullName='${fullName}', @login_city='${city}'
+ let _prevCustomScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@departmentcode nvarchar(50),@organization nvarchar(50),@login_city nvarchar(50)
+ Select @ErrorCode='',@retmsg='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @departmentcode='${departmentcode}', @organization='${organization}', @login_city='${city}'
${errSql}
`
let _backCustomScript = `
@@ -575,4 +596,136 @@
return [...lineMap.values()]
}
+}
+
+/**
+ * @description 鐢熸垚鍗曚釜缁勪欢sPC_Get_structured_data璇锋眰鍙傛暟
+ */
+export function getStructDefaultParam (component, searchlist, first) {
+ const { columns, setting, dataName, format } = component
+
+ let arr_field = columns.map(col => col.field)
+ let _dataresource = setting.dataresource
+ let _customScript = setting.customScript
+
+ if (setting.queryType === 'statistics' || _customScript) {
+ let allSearch = Utils.getAllSearchOptions(searchlist)
+ let regoptions = allSearch.map(item => {
+ return {
+ reg: new RegExp('@' + item.key + '@', 'ig'),
+ value: `'${item.value}'`
+ }
+ })
+
+ regoptions.forEach(item => {
+ if (_dataresource && setting.queryType === 'statistics') {
+ _dataresource = _dataresource.replace(item.reg, item.value)
+ }
+ _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, '*/')
+
+ let _search = ''
+ if (setting.queryType !== 'statistics' && _dataresource) {
+ _search = Utils.joinMainSearchkey(searchlist)
+ _search = _search ? 'where ' + _search : ''
+ }
+
+ 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 `
+ } else if (_dataresource) {
+ _dataresource = `select top 1000 ${arr_field.join(',')} 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 city = sessionStorage.getItem('city') || ''
+
+ if (sessionStorage.getItem('isEditState') === 'true') {
+ userName = sessionStorage.getItem('CloudUserName') || ''
+ fullName = sessionStorage.getItem('CloudFullName') || ''
+ }
+ _customScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@departmentcode nvarchar(50),@organization nvarchar(50),@login_city nvarchar(50)
+ select @ErrorCode='',@retmsg ='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @departmentcode='${departmentcode}', @organization='${organization}', @login_city='${city}'
+ ${_customScript}
+ `
+ }
+
+ // 娴嬭瘯绯荤粺鎵撳嵃鏌ヨ璇彞
+ if ((options.sysType === 'local' && !window.GLOB.systemType) || window.debugger === true) {
+ _customScript && console.info(`${setting.$name ? `/*${setting.$name} 鑷畾涔夎剼鏈紙鍚屾鏌ヨ锛�/\n` : ''}${_dataresource ? '' : '/*涓嶆墽琛岄粯璁ql*/\n'}${_customScript}`)
+ _dataresource && console.info(`${setting.$name ? `/*${setting.$name} 鏁版嵁婧愶紙鍚屾鏌ヨ锛�*/\n` : ''}` + _dataresource)
+ }
+
+ return {
+ name: dataName,
+ columns: columns,
+ par_tablename: '',
+ type: format === 'array' ? format : '',
+ primaryKey: setting.primaryKey || '',
+ foreign_key: '',
+ sql: _dataresource,
+ script: _customScript
+ }
+}
+
+/**
+ * @description 鐢熸垚sPC_Get_structured_data璇锋眰鍙傛暟
+ * 1銆佹妸澶ф帴鍙PC_Get_structured_data鐨刲text鎷嗘垚涓変唤锛岀涓�娈碉細@LText1锛岀浜屾@LText锛岀涓夋@LText2
+ */
+export function getStructuredParams (params, config, BID = '') {
+ let LText_field = []
+ let diffUser = false
+
+ let _LText = params.map((item, index) => {
+ let _script = item.script
+
+ if (!diffUser && (/@userid@/ig.test(item.sql) || /@userid@/ig.test(_script))) {
+ diffUser = true
+ }
+
+ 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(item.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',
+ LText: _LText.join(' union all '),
+ LText_field: LText_field.join(' union all '),
+ BID: BID
+ }
+
+ let { LText, LText1, LText2 } = Utils.sPCInUpDeFormatOptions(param.LText)
+
+ param.LText1 = LText1
+ param.LText = LText
+ param.LText2 = LText2
+ param.LText_field = Utils.formatOptions(param.LText_field)
+
+ 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.LText, param.timestamp)
+
+ return param
}
\ No newline at end of file
--
Gitblit v1.8.0