From a99caad99c3c19e85edd03f2fe425a0630033ac5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 20 十一月 2024 16:09:11 +0800
Subject: [PATCH] Merge branch 'master' into positec
---
src/utils/utils-custom.js | 551 +++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 476 insertions(+), 75 deletions(-)
diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js
index 3d88af4..27a4c57 100644
--- a/src/utils/utils-custom.js
+++ b/src/utils/utils-custom.js
@@ -1733,6 +1733,7 @@
if (config.interfaces) {
config.interfaces.forEach(item => {
+ if (item.status !== 'true') return
if (item.setting && item.setting.interType === 'outer' && item.setting.sysInterface !== 'true') {
inters = 'true'
}
@@ -2193,6 +2194,40 @@
notification.warning({
top: 92,
message: label + `${lines}锛屼笉鍙嚭鐜拌繛缁殑鑻辨枃閫楀彿,,`,
+ duration: 5
+ })
+ return false
+ } else if (/,\./ig.test(sql)) {
+ let lines = []
+ sql.split(/\n/).forEach((s, i) => {
+ if (/,\./ig.test(s)) {
+ lines.push(i + 1)
+ }
+ })
+
+ lines = lines.join('銆�')
+ lines = lines ? '(绗�' + lines + '琛�)' : ''
+
+ notification.warning({
+ top: 92,
+ message: label + `${lines}锛屼笉鍙嚭鐜拌嫳鏂囬�楀彿,.`,
+ duration: 5
+ })
+ return false
+ } else if (/\.,/ig.test(sql)) {
+ let lines = []
+ sql.split(/\n/).forEach((s, i) => {
+ if (/\.,/ig.test(s)) {
+ lines.push(i + 1)
+ }
+ })
+
+ lines = lines.join('銆�')
+ lines = lines ? '(绗�' + lines + '琛�)' : ''
+
+ notification.warning({
+ top: 92,
+ message: label + `${lines}锛屼笉鍙嚭鐜拌嫳鏂囬�楀彿.,`,
duration: 5
})
return false
@@ -3100,8 +3135,14 @@
item.setting.$name = item.$menuname || ''
let msg = getDataSource(item, mainSearch)
+ let roleId = config.uuid
+ if (item.wrap && item.wrap.permission === 'false') {
+ roleId = ''
+ } else if (item.setting.database === 'sso') {
+ roleId = ''
+ }
- sqls.push({uuid: item.uuid, type: 'datasource', ...msg})
+ sqls.push({uuid: item.uuid, roleId: roleId, type: 'datasource', ...msg})
} else if (item.setting && item.setting.useMSearch === 'true') {
let searches = item.search || []
if (mainSearch.length > 0) {
@@ -3195,6 +3236,30 @@
resetButton(item, group.subButton)
})
+ } else if (item.type === 'module' && item.subtype === 'invoice') {
+ if (item.buyer.setting && item.buyer.setting.interType === 'system') {
+ let msg = getDataSource(item.buyer, [])
+
+ sqls.push({uuid: item.uuid + 'buyer', type: 'datasource', ...msg})
+ }
+
+ if (item.detail.setting && item.detail.setting.interType === 'system') {
+ let _msg = getDataSource(item.detail, [])
+
+ sqls.push({uuid: item.uuid + 'detail', type: 'datasource', ..._msg})
+ }
+
+ let btnmsg = getInvoicePreSql(item.billSaveBtn, item.$menuname + '-' + item.billSaveBtn.label)
+
+ sqls.push({uuid: item.uuid + item.billSaveBtn.type, type: 'button', ...btnmsg})
+
+ let _btnmsg = getInvoicePreSql(item.billOutBtn, item.$menuname + '-' + item.billOutBtn.label)
+
+ sqls.push({uuid: item.uuid + item.billOutBtn.type, type: 'button', ..._btnmsg})
+
+ let backmsg = getInvoiceSysBackSql(item.billOutBtn, item.$menuname + '-' + item.billOutBtn.label + '(鍥炶皟)')
+
+ sqls.push({uuid: item.uuid + 'billback', type: 'btnCallBack', ...backmsg})
}
}
})
@@ -3202,6 +3267,14 @@
let resetButton = (item, cell, isback) => {
cell.logLabel = item.$menuname + '-' + cell.label
+ let roleId = cell.uuid
+ if (item.wrap && item.wrap.permission === 'false') {
+ roleId = ''
+ } else if (cell.hidden === 'true' || cell.permission === 'false') {
+ roleId = ''
+ } else if (cell.database === 'sso') {
+ roleId = ''
+ }
if (['exec', 'prompt', 'pop', 'form', 'formSubmit'].includes(cell.OpenType)) {
if (cell.intertype === 'system' || cell.procMode === 'system') { // 绯荤粺鎺ュ彛
@@ -3215,11 +3288,11 @@
let msg = getSysDefaultSql(cell, _item)
- sqls.push({uuid: cell.uuid, type: 'button', ...msg})
+ sqls.push({uuid: cell.uuid, roleId: roleId, type: 'button', ...msg})
} else {
let msg = getSysDefaultSql(cell, item)
- sqls.push({uuid: cell.uuid, type: 'button', ...msg})
+ sqls.push({uuid: cell.uuid, roleId: roleId, type: 'button', ...msg})
}
}
if (cell.callbackType === 'script' && cell.verify && cell.verify.cbScripts) {
@@ -3254,20 +3327,30 @@
if (cell.intertype === 'system') {
let msg = getExcelInSql(cell)
- sqls.push({uuid: cell.uuid, type: 'excelIn', ...msg})
+ sqls.push({uuid: cell.uuid, roleId: roleId, type: 'excelIn', ...msg})
}
} else if (cell.OpenType === 'excelOut') {
if (cell.intertype === 'system' && cell.verify && cell.verify.dataType === 'custom') {
let msg = getExcelOutSql(cell, item)
- sqls.push({uuid: cell.uuid, type: 'excelOut', ...msg})
+ sqls.push({uuid: cell.uuid, roleId: roleId, type: 'excelOut', ...msg})
+ } else if (cell.intertype === 'system' && cell.verify && item.setting && item.setting.interType === 'system') {
+ if (appType === 'mob') {
+ cell.pagination = 'false'
+ }
+ if (item.subtype === 'dualdatacard' || item.setting.laypage !== cell.pagination) {
+ let msg = getDoubleExcelOutSql(cell, item)
+
+ sqls.push({uuid: cell.uuid, roleId: roleId, type: 'excelOut', ...msg})
+ }
}
+
} else if (cell.OpenType === 'funcbutton') {
if (cell.funcType === 'print') {
if (cell.intertype === 'system' && cell.verify && cell.verify.dataType === 'custom') {
let msg = getPrintSql(cell, item)
- sqls.push({uuid: cell.uuid, type: 'print', ...msg})
+ sqls.push({uuid: cell.uuid, roleId: roleId, type: 'print', ...msg})
}
if (cell.execMode === 'pop' && cell.modal && cell.modal.fields) {
cell.modal.fields.forEach(form => {
@@ -3286,16 +3369,16 @@
} else if ((cell.funcType === 'refund' || cell.funcType === 'pay') && cell.payMode === 'system') {
let msg = getPaySql(cell, item)
- sqls.push({uuid: cell.uuid, type: 'pay', ...msg})
+ sqls.push({uuid: cell.uuid, roleId: roleId, type: 'pay', ...msg})
}
} else if (cell.OpenType === 'innerpage' || cell.OpenType === 'outerpage') {
if (cell.pageTemplate === 'pay' && cell.payMode === 'system') {
let msg = getPaySql(cell, item)
- sqls.push({uuid: cell.uuid, type: 'pay', ...msg})
+ sqls.push({uuid: cell.uuid, roleId: roleId, type: 'pay', ...msg})
}
} else if (cell.OpenType === 'popview') {
- if (cell.config && cell.config.components) {
+ if (cell.config && cell.config.components && cell.config.enabled) {
let _mainSearch = []
if (appType === 'mob') {
@@ -4023,6 +4106,33 @@
if @works_flow_countersign@ = 'Y'
begin
/* 宸ヤ綔娴侀粯璁ql锛堜細绛撅級 */
+ set @retmsg =''
+ select @retmsg='X' from s_my_works_flow_role where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and deleted=0 and userid =@userid@ and works_flow_detail_id =@works_flow_detail_id
+
+ if @retmsg =''
+ begin
+ select @retmsg='X' from s_my_works_flow_role where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and userid=@userid@ and works_flow_detail_id =@works_flow_detail_id
+ if @retmsg !=''
+ begin
+ select @ErrorCode='E', @retmsg='褰撳墠鍗曟嵁宸插鏍革紝璇峰埛鏂板悗閲嶈瘯'
+ goto aaa
+ end
+
+ set @retmsg =''
+ select @retmsg=userid from s_my_works_flow_role where works_flow_id=@id@ and works_flow_code=@works_flow_code@ and deleted=0 and works_flow_detail_id =@works_flow_detail_id
+
+ if @retmsg !=''
+ begin
+ select @retmsg=workerCode+workerName from BD_workers where id=@retmsg
+
+ select @retmsg='椤甸潰鏁版嵁宸叉洿鏂帮紝鎴栨病鏈夊綋鍓嶅崟鎹殑瀹℃壒鏉冮檺锛岃鑱旂郴'+@retmsg+'鎿嶄綔'
+ goto aaa
+ end
+
+ select @retmsg='椤甸潰鏁版嵁宸叉洿鏂帮紝鎴栨病鏈夊綋鍓嶅崟鎹殑瀹℃壒鏉冮檺'
+ goto aaa
+ end
+
declare @works_flow_statuscharone nvarchar(50),@works_flow_statuschartwo nvarchar(50),@works_flow_statuscharthree nvarchar(50),@works_flow_statuscharfour nvarchar(50),@works_flow_statuscharfive nvarchar(50),@works_flow_key_id nvarchar(50),@works_flow_key_status nvarchar(20),@s_my_works_flow_log_param nvarchar(max),@s_my_works_flow_log_status int,@s_my_works_flow_log_statusname nvarchar(50),@s_my_works_flow_log_detail_id nvarchar(50)
select @works_flow_statuscharone='',@works_flow_statuschartwo='',@works_flow_statuscharthree='',@works_flow_statuscharfour='',@works_flow_statuscharfive='',@works_flow_key_id='',@works_flow_key_status ='',@s_my_works_flow_log_param='',@s_my_works_flow_log_status=0,@s_my_works_flow_log_statusname='',@s_my_works_flow_log_detail_id=''
@@ -4079,11 +4189,11 @@
begin
/* 宸ヤ綔娴侀粯璁ql锛堟垨绛撅級 */
set @retmsg =''
- select @retmsg='X' from s_my_works_flow_role where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and deleted=0 and userid =@userid@
+ select @retmsg='X' from s_my_works_flow_role where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and deleted=0 and userid =@userid@ and works_flow_detail_id =@works_flow_detail_id
if @retmsg =''
begin
- select @retmsg='X' from s_my_works_flow_role where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and userid=@userid@
+ select @retmsg='X' from s_my_works_flow_role where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and userid=@userid@ and works_flow_detail_id =@works_flow_detail_id
if @retmsg !=''
begin
@@ -4093,18 +4203,31 @@
if @dataM@ !=''
begin
- set @retmsg =''
- select @retmsg='X' from s_my_works_flow_role where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and deleted=0
+ set @retmsg =''
+ select @retmsg='X' from s_my_works_flow_role where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and deleted=0 and works_flow_detail_id =@works_flow_detail_id
- if @retmsg != ''
+ if @retmsg != ''
+ begin
+ goto goto_mk
+ end
+ end
+ else
+ begin
+ set @retmsg =''
+ select @retmsg=userid from s_my_works_flow_role where works_flow_id=@id@ and works_flow_code=@works_flow_code@ and deleted=0 and works_flow_detail_id =@works_flow_detail_id
+
+ if @retmsg !=''
begin
- goto goto_mk
+ select @retmsg=workerCode+workerName from BD_workers where id=@retmsg
+
+ select @retmsg='椤甸潰鏁版嵁宸叉洿鏂帮紝鎴栨病鏈夊綋鍓嶅崟鎹殑瀹℃壒鏉冮檺锛岃鑱旂郴'+@retmsg+'鎿嶄綔'
+ goto aaa
end
end
-
+
select @retmsg='椤甸潰鏁版嵁宸叉洿鏂帮紝鎴栨病鏈夊綋鍓嶅崟鎹殑瀹℃壒鏉冮檺'
goto aaa
- end
+ end
goto_mk:
@@ -4117,7 +4240,7 @@
if @works_begin_branch@ = 'Y'
begin
- update s_my_works_flow_role set deleted=0,modifydate=getdate(),upid=@time_id@,modifyuserid=@userid@,modifyuser=@username,modifystaff=@fullname
+ update s_my_works_flow_role set deleted=0,modifydate=getdate(),upid=@time_id@,modifyuserid=@userid@,modifyuser=@username,modifystaff=@fullname,works_flow_detail_id=@works_flow_detail_id@
where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and typecharone='begin'
end
else
@@ -4270,6 +4393,12 @@
}
})
+ if (new RegExp('@mk_submit_type[^0-9a-z_]', 'ig').test(_sql)) {
+ decSql.push(`@mk_submit_type nvarchar(50)`)
+ secSql.push(`@mk_submit_type=@mk_submit_type@`)
+ reps.push('mk_submit_type')
+ }
+
decSql = [...decSql, ..._declares]
// INSERT INTO s_paas_api_log (appkey,api_name,api_count,menuname,createuserid,createuser,createstaff,cdefine1,cdefine2)
@@ -4304,12 +4433,8 @@
return true
})
- reps.forEach(n => {
- _sql = _sql.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
- })
-
if (/\$@/ig.test(_sql)) {
- _sql = _sql.replace(/\$@/ig, '@datam_begin@').replace(/@\$/ig, '@datam_end@')
+ _sql = _sql.replace(/\$@/ig, ' @datam_begin@ ').replace(/@\$/ig, ' @datam_end@ ')
reps.push('datam_begin', 'datam_end')
}
if (btn.procMode === 'system') {
@@ -4318,15 +4443,20 @@
}
} else {
if (/\$check@|@check\$/ig.test(_sql)) {
- _sql = _sql.replace(/\$check@/ig, '@mk_check_begin@').replace(/@check\$/ig, '@mk_check_end@')
+ _sql = _sql.replace(/\$check@/ig, ' @mk_check_begin@ ').replace(/@check\$/ig, ' @mk_check_end@ ')
reps.push('mk_check_begin', 'mk_check_end')
}
}
+ reps.forEach(n => {
+ if (['datam_begin', 'datam_end', 'mk_check_begin', 'mk_check_end'].includes(n)) return
+
+ _sql = _sql.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
+ })
if (/@db@/ig.test(_sql)) {
reps.push('db')
}
- _sql = _sql.replace(/\n\x20{8,10}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, '')
+ _sql = _sql.replace(/\n\x20{8,10}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, ' ')
reps = reps.filter(n => {
if (sysVars.includes(n.toLowerCase())) {
@@ -4582,6 +4712,12 @@
}
})
+ if (new RegExp('@mk_submit_type[^0-9a-z_]', 'ig').test(_sql)) {
+ decSql.push(`@mk_submit_type nvarchar(50)`)
+ secSql.push(`@mk_submit_type=@mk_submit_type@`)
+ reps.push('mk_submit_type')
+ }
+
decSql = [...decSql, ..._declares]
_sql = `/* ${btn.logLabel}(鍥炶皟) */
@@ -4614,19 +4750,20 @@
return true
})
- reps.forEach(n => {
- _sql = _sql.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
- })
-
if (/\$@/ig.test(_sql)) {
- _sql = _sql.replace(/\$@/ig, '@datam_begin@').replace(/@\$/ig, '@datam_end@')
+ _sql = _sql.replace(/\$@/ig, ' @datam_begin@ ').replace(/@\$/ig, ' @datam_end@ ')
reps.push('datam_begin', 'datam_end')
}
+ reps.forEach(n => {
+ if (['datam_begin', 'datam_end'].includes(n)) return
+
+ _sql = _sql.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
+ })
if (/@db@/ig.test(_sql)) {
reps.push('db')
}
- _sql = _sql.replace(/\n\x20{8,10}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, '')
+ _sql = _sql.replace(/\n\x20{8,10}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, ' ')
reps = reps.filter(n => {
if (sysVars.includes(n.toLowerCase())) {
@@ -4642,8 +4779,6 @@
}
let getDataSource = (item, mainSearch = [], type) => {
- if (!item.setting || item.setting.interType !== 'system') return
-
let searches = item.search || []
if (item.setting.useMSearch === 'true' && mainSearch.length > 0) {
searches = [...searches, ...mainSearch]
@@ -4694,7 +4829,7 @@
_search = ''
}
- if (/\s/.test(_dataresource)) {
+ if (/\s/.test(_dataresource) && !/\)\s+tb$/.test(_dataresource)) {
_dataresource = '(' + _dataresource + ') tb'
}
@@ -4798,8 +4933,14 @@
// INSERT INTO s_paas_api_log (appkey,api_name,api_count,menuname,createuserid,createuser,createstaff,cdefine1,cdefine2)
// SELECT @appkey@,'sPC_Get_TableData',1,@menuname@,@UserID@,@username@,@fullname@,@SessionUid@,@LoginUID@
let sql = ''
+ let e_sql = `select ${_columns.map(col => col.field).join(',')} from (select ${_columns.map(col => /date/ig.test(col.datatype) ? `'1949-10-01' as ${col.field}` : `'0' as ${col.field}`).join(',')}) a where ${item.setting.primaryKey || 'ID'} != '0'`
+ if (DateCount) {
+ e_sql += `
+ select 0 as total
+ `
+ }
- if (item.setting.transact === 'true') {
+ if (item.setting.transact === 'true' && !/BEGIN\s+TRY\s+begin\s+TRAN/.test(_customScript)) {
sql = `/* ${item.setting.$name} */
BEGIN TRY
begin TRAN
@@ -4810,7 +4951,29 @@
_tailScript = `${_tailScript}
select @ErrorCode as ErrorCode,@retmsg as retmsg
- ${callback}
+
+ COMMIT TRAN
+ set NOCOUNT ON
+ RETURN
+ END TRY
+ BEGIN CATCH
+ ROLLBACK TRAN
+ DECLARE @ErrorMessage NVARCHAR(4000);
+ DECLARE @ErrorSeverity INT;
+ DECLARE @ErrorState INT;
+
+ set @ErrorCode=cast(ERROR_NUMBER() as nvarchar(50))
+ set @retmsg=ERROR_MESSAGE();
+ select @ErrorMessage=ERROR_MESSAGE(), @ErrorSeverity=ERROR_SEVERITY(), @ErrorState=ERROR_STATE();
+
+ RAISERROR(@ErrorMessage, @ErrorSeverity, @ErrorState);
+ END CATCH
+
+ aaa:
+ ${e_sql}
+ select @ErrorCode as ErrorCode,@retmsg as retmsg
+ GOTO_RETURN:
+ ROLLBACK TRAN
`
} else {
sql = `/* ${item.setting.$name} */
@@ -4818,8 +4981,17 @@
arr_field='${arr_field}',tabid='${tabid}',parid='${parid}',sub_name='${sub_name}',sub_field='${sub_field}'
`
+ let tail = 'aaa:'
+ if (/\sgoto\s+aaa([^0-9a-z_]|$)/ig.test(_customScript) && !/BEGIN\s+TRY\s+begin\s+TRAN/.test(_customScript)) {
+ tail = `if 1=2
+ begin
+ aaa:
+ ${e_sql}
+ end`
+ }
+
_tailScript = `${_tailScript}
- aaa:
+ ${tail}
select @ErrorCode as ErrorCode,@retmsg as retmsg
`
}
@@ -4853,22 +5025,22 @@
return true
})
-
+
+ if (/\$@/ig.test(sql)) {
+ sql = sql.replace(/\$@/ig, ' @datam_begin@ ').replace(/@\$/ig, ' @datam_end@ ')
+ reps.push('datam_begin', 'datam_end')
+ }
reps.forEach(n => {
- if (['orderBy', 'pageSize', 'pageIndex'].includes(n)) return
+ if (['orderBy', 'pageSize', 'pageIndex', 'datam_begin', 'datam_end'].includes(n)) return
sql = sql.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
})
- if (/\$@/ig.test(sql)) {
- sql = sql.replace(/\$@/ig, '@datam_begin@').replace(/@\$/ig, '@datam_end@')
- reps.push('datam_begin', 'datam_end')
- }
if (/@db@/ig.test(sql)) {
reps.push('db')
}
reps.push('mk_obj_name')
- sql = sql.replace(/\n\x20{6,8}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, '')
+ sql = sql.replace(/\n\x20{6,8}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, ' ')
reps = reps.filter(n => {
if (sysVars.includes(n.toLowerCase())) {
@@ -5157,23 +5329,25 @@
return true
})
- reps.forEach(n => {
- sql = sql.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
- })
-
if (/\$@/ig.test(sql)) {
- sql = sql.replace(/\$@/ig, '@datam_begin@').replace(/@\$/ig, '@datam_end@')
+ sql = sql.replace(/\$@/ig, ' @datam_begin@ ').replace(/@\$/ig, ' @datam_end@ ')
reps.push('datam_begin', 'datam_end')
}
if (/\$check@|@check\$/ig.test(sql)) {
- sql = sql.replace(/\$check@/ig, '@mk_check_begin@').replace(/@check\$/ig, '@mk_check_end@')
+ sql = sql.replace(/\$check@/ig, ' @mk_check_begin@ ').replace(/@check\$/ig, ' @mk_check_end@ ')
reps.push('mk_check_begin', 'mk_check_end')
}
+ reps.forEach(n => {
+ if (['datam_begin', 'datam_end', 'mk_check_begin', 'mk_check_end'].includes(n)) return
+
+ sql = sql.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
+ })
+
if (/@db@/ig.test(sql)) {
reps.push('db')
}
- sql = sql.replace(/\n\x20{6,10}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, '')
+ sql = sql.replace(/\n\x20{6,10}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, ' ')
reps = reps.filter(n => {
if (sysVars.includes(n.toLowerCase())) {
@@ -5433,19 +5607,20 @@
return true
})
- reps.forEach(n => {
- sql = sql.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
- })
-
if (/\$@/ig.test(sql)) {
- sql = sql.replace(/\$@/ig, '@datam_begin@').replace(/@\$/ig, '@datam_end@')
+ sql = sql.replace(/\$@/ig, ' @datam_begin@ ').replace(/@\$/ig, ' @datam_end@ ')
reps.push('datam_begin', 'datam_end')
}
+ reps.forEach(n => {
+ if (['datam_begin', 'datam_end'].includes(n)) return
+
+ sql = sql.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
+ })
if (/@db@/ig.test(sql)) {
reps.push('db')
}
- sql = sql.replace(/\n\x20{6,10}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, '')
+ sql = sql.replace(/\n\x20{6,10}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, ' ')
reps = reps.filter(n => {
if (sysVars.includes(n.toLowerCase())) {
@@ -5485,6 +5660,23 @@
}
item.scripts = btn.verify.scripts || []
+
+ let msg = getDataSource(item, [])
+
+ return msg
+ }
+
+ let getDoubleExcelOutSql = (btn, component) => {
+ let item = fromJS(component).toJS()
+ item.search = item.$searches || []
+
+ if (item.subtype === 'dualdatacard') {
+ item.columns = [...item.columns, ...item.subColumns]
+ }
+ item.subtype = 'datacard'
+
+ item.setting.laypage = btn.pagination
+ item.setting.$name = btn.logLabel || ''
let msg = getDataSource(item, [])
@@ -5700,19 +5892,20 @@
return true
})
- reps.forEach(n => {
- _sql = _sql.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
- })
-
if (/\$@/ig.test(_sql)) {
- _sql = _sql.replace(/\$@/ig, '@datam_begin@').replace(/@\$/ig, '@datam_end@')
+ _sql = _sql.replace(/\$@/ig, ' @datam_begin@ ').replace(/@\$/ig, ' @datam_end@ ')
reps.push('datam_begin', 'datam_end')
}
+ reps.forEach(n => {
+ if (['datam_begin', 'datam_end'].includes(n)) return
+
+ _sql = _sql.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
+ })
if (/@db@/ig.test(_sql)) {
reps.push('db')
}
- _sql = _sql.replace(/\n\x20{6,8}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, '')
+ _sql = _sql.replace(/\n\x20{6,8}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, ' ')
reps = reps.filter(n => {
if (sysVars.includes(n.toLowerCase())) {
@@ -5813,21 +6006,22 @@
reps.push(...sysVars)
- reps.forEach(n => {
- sql = sql.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
- })
-
if (/\$@/ig.test(sql)) {
- sql = sql.replace(/\$@/ig, '@datam_begin@').replace(/@\$/ig, '@datam_end@')
+ sql = sql.replace(/\$@/ig, ' @datam_begin@ ').replace(/@\$/ig, ' @datam_end@ ')
reps.push('datam_begin', 'datam_end')
}
+ reps.forEach(n => {
+ if (['datam_begin', 'datam_end'].includes(n)) return
+
+ sql = sql.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
+ })
if (/@db@/ig.test(sql)) {
reps.push('db')
}
// reps.push('mk_obj_name')
- sql = sql.replace(/\n\x20{6,8}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, '')
+ sql = sql.replace(/\n\x20{6,8}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, ' ')
reps = reps.filter(n => {
if (sysVars.includes(n.toLowerCase())) {
@@ -5938,20 +6132,20 @@
return true
})
+ if (/\$@/ig.test(sql)) {
+ sql = sql.replace(/\$@/ig, ' @datam_begin@ ').replace(/@\$/ig, ' @datam_end@ ')
+ reps.push('datam_begin', 'datam_end')
+ }
reps.forEach(n => {
- if (['orderBy', 'pageSize', 'pageIndex'].includes(n)) return
+ if (['orderBy', 'pageSize', 'pageIndex', 'datam_begin', 'datam_end'].includes(n)) return
sql = sql.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
})
- if (/\$@/ig.test(sql)) {
- sql = sql.replace(/\$@/ig, '@datam_begin@').replace(/@\$/ig, '@datam_end@')
- reps.push('datam_begin', 'datam_end')
- }
if (/@db@/ig.test(sql)) {
reps.push('db')
}
- sql = sql.replace(/\n\x20{6,8}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, '')
+ sql = sql.replace(/\n\x20{6,8}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, ' ')
reps = reps.filter(n => {
if (sysVars.includes(n.toLowerCase())) {
@@ -5964,6 +6158,213 @@
return {LText: sql, md5: md5(sql), reps}
}
+ let getInvoicePreSql = (btn, logLabel) => {
+ let reps = []
+ let sysVars = ['loginuid', 'sessionuid', 'userid', 'appkey', 'lang', 'username', 'fullname', 'menuname']
+ let _script = ''
+ btn.scripts.forEach(item => {
+ if (item.status === 'false') return
+ _script += `
+ ${item.sql}
+ `
+ })
+
+ _script = _script.replace(/@typename@/ig, `'admin'`)
+
+ let regs = ['ID', 'BID', 'time_id', 'datam', ...sysVars]
+
+ regs.forEach(s => {
+ if (new RegExp('@' + s + '@', 'ig').test(_script)) {
+ reps.push(s)
+ }
+ })
+
+ if (/\$@/ig.test(_script)) {
+ _script = _script.replace(/\$@/ig, ' @datam_begin@ ').replace(/@\$/ig, ' @datam_end@ ')
+ reps.push('datam_begin', 'datam_end')
+ }
+ reps.forEach(n => {
+ if (['datam_begin', 'datam_end'].includes(n)) return
+
+ _script = _script.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
+ })
+ if (/@db@/ig.test(_script)) {
+ reps.push('db')
+ }
+
+ let syses = ['UserName', 'FullName', 'RoleID', 'mk_departmentcode', 'mk_organization', 'mk_user_type', 'mk_nation', 'mk_province', 'mk_city', 'mk_district', 'mk_address', 'bid']
+ let decSql = []
+ let secSql = []
+
+ syses.forEach(s => {
+ if (new RegExp('@' + s + '[^0-9a-z_]', 'ig').test(_script)) {
+ if (['RoleID', 'mk_departmentcode', 'mk_organization'].includes(s)) {
+ decSql.push(`@${s} nvarchar(512)`)
+ } else if (['mk_address'].includes(s)) {
+ decSql.push(`@mk_address nvarchar(100)`)
+ } else {
+ decSql.push(`@${s} nvarchar(50)`)
+ }
+ secSql.push(`@${s}='@${s}@'`)
+ reps.push(s)
+ }
+ })
+ decSql = decSql.join(',')
+ secSql = secSql.join(',')
+
+ let sql = `/* ${logLabel} */
+ BEGIN TRY
+ begin TRAN
+
+ Declare @ErrorCode nvarchar(50), @retmsg nvarchar(4000), @account_id nvarchar(50), @account_year_id nvarchar(50), @account_code nvarchar(50), @account_year_code nvarchar(50), @tbid nvarchar(50)${decSql ? ',' + decSql : ''}
+
+ Select @ErrorCode='S', @retmsg='', @account_id='@account_id@', @account_year_id='@account_year_id@', @account_code='@account_code@', @account_year_code='@account_year_code@'${secSql ? ',' + secSql : ''}
+
+ /* 鍙戠エ涓昏〃瀛楁 */
+ Declare @invoice_type Nvarchar(50), @from_to_name Nvarchar(50), @from_to_tax_no Nvarchar(50), @from_to_addr Nvarchar(100), @from_to_tel Nvarchar(50), @from_to_bank_name Nvarchar(50), @from_to_account_no Nvarchar(50), @from_to_mob Nvarchar(50), @from_to_email Nvarchar(50), @from_to_code Nvarchar(50), @orgname Nvarchar(50), @tax_no Nvarchar(50), @addr Nvarchar(100), @tel Nvarchar(50), @bank_name Nvarchar(50), @account_no Nvarchar(50), @remark Nvarchar(512), @payee Nvarchar(50), @reviewer Nvarchar(50), @drawer Nvarchar(50), @io Nvarchar(50), @orgcode Nvarchar(50), @total_net_amount Decimal(18,2), @total_tax Decimal(18,2), @total_amount Decimal(18,2), @business_type Nvarchar(20)
+
+ Select @invoice_type='@invoice_type@', @from_to_name='@from_to_name@', @from_to_tax_no='@from_to_tax_no@', @from_to_addr='@from_to_addr@', @from_to_tel='@from_to_tel@', @from_to_bank_name='@from_to_bank_name@', @from_to_account_no='@from_to_account_no@', @from_to_mob='@from_to_mob@', @from_to_email='@from_to_email@', @from_to_code='@from_to_code@', @orgname='@orgname@', @tax_no='@tax_no@', @addr='@addr@', @tel='@tel@', @bank_name='@bank_name@', @account_no='@account_no@', @remark='@remark@', @payee='@payee@', @reviewer='@reviewer@', @drawer='@drawer@', @io='@io@', @orgcode='@orgcode@', @total_net_amount=@total_net_amount@, @total_tax=@total_tax@, @total_amount=@total_amount@, @business_type='@business_type@'
+
+ /* 鍙戠エ鏄庣粏涓存椂琛� */
+
+ Declare @details_list table (productcode Nvarchar(50), productname Nvarchar(50), spec Nvarchar(50), unit Nvarchar(50), bill_count Decimal(18,10), unitprice Decimal(18,10), amount_line Decimal(18,2), tax_classify_code Nvarchar(50), tax_classify_name Nvarchar(50), tax_rate Decimal(18,2), tax_amount Decimal(18,2), free_tax_mark Nvarchar(50), vat_special_management Nvarchar(50), invoice_lp Nvarchar(50), tax_item Nvarchar(50), tax_method Nvarchar(50), jskey Nvarchar(50), data_type Nvarchar(50))
+
+ Insert into @details_list (productcode, productname, spec, unit, bill_count, unitprice, amount_line, tax_classify_code, tax_classify_name, tax_rate, tax_amount, free_tax_mark, vat_special_management, invoice_lp, tax_item, tax_method, jskey, data_type)
+
+ @mk_excel_data@
+
+ /* 鑷畾涔夎剼鏈� */
+ ${_script}
+ `
+
+ if (btn.type === 'billout') {
+ sql += callback
+ } else {
+ sql += `
+ select @ErrorCode as ErrorCode,@retmsg as retmsg
+ ${callback}
+ `
+ }
+
+ reps = reps.filter(n => {
+ if (sysVars.includes(n.toLowerCase())) {
+ return false
+ }
+
+ return true
+ })
+
+ sql = sql.replace(/\n\x20{6,8}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, ' ')
+
+ return {LText: sql, md5: md5(sql), reps}
+ }
+
+ let getInvoiceSysBackSql = (btn, logLabel) => {
+ let _prev = ''
+ let _back = ''
+ let tables = []
+ let reps = []
+
+ btn.cbScripts.forEach(script => {
+ if (script.status === 'false') return
+
+ if (/\s#[a-z0-9_]+(\s|\()/ig.test(script.sql)) {
+ tables.push(...script.sql.match(/\s#[a-z0-9_]+(\s|\()/ig))
+ }
+
+ if (script.position === 'front') {
+ _prev += `
+ /* 鑷畾涔夎剼鏈� */
+ ${script.sql}
+ `
+ } else {
+ _back += `
+ /* 鑷畾涔夎剼鏈� */
+ ${script.sql}
+ `
+ }
+ })
+
+ tables = tables.map(tb => tb.replace(/\s|\(/g, ''))
+
+ let syses = ['UserName', 'FullName', 'RoleID', 'mk_departmentcode', 'mk_organization', 'mk_user_type', 'mk_nation', 'mk_province', 'mk_city', 'mk_district', 'mk_address', 'bid']
+ let decSql = []
+ let secSql = []
+ let testSql = _prev + _back
+
+ _prev = _prev.replace(/@typename@/ig, `'admin'`)
+ _back = _back.replace(/@typename@/ig, `'admin'`)
+
+ let regs = ['ID', 'BID', 'time_id', 'datam', ...sysVars]
+
+ regs.forEach(s => {
+ if (new RegExp('@' + s + '@', 'ig').test(testSql)) {
+ reps.push(s)
+ }
+ })
+
+ if (/\$@/ig.test(testSql)) {
+ _prev = _prev.replace(/\$@/ig, ' @datam_begin@ ').replace(/@\$/ig, ' @datam_end@ ')
+ _back = _back.replace(/\$@/ig, ' @datam_begin@ ').replace(/@\$/ig, ' @datam_end@ ')
+ reps.push('datam_begin', 'datam_end')
+ }
+ reps.forEach(n => {
+ if (['datam_begin', 'datam_end'].includes(n)) return
+
+ _prev = _prev.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
+ _back = _back.replace(new RegExp('@' + n + '@', 'ig'), `'@${n}@'`)
+ })
+ if (/@db@/ig.test(testSql)) {
+ reps.push('db')
+ }
+
+ syses.forEach(s => {
+ if (new RegExp('@' + s + '[^0-9a-z_]', 'ig').test(testSql)) {
+ if (['RoleID', 'mk_departmentcode', 'mk_organization'].includes(s)) {
+ decSql.push(`@${s} nvarchar(512)`)
+ } else if (['mk_address'].includes(s)) {
+ decSql.push(`@mk_address nvarchar(100)`)
+ } else {
+ decSql.push(`@${s} nvarchar(50)`)
+ }
+ secSql.push(`@${s}='@${s}@'`)
+ reps.push(s)
+ }
+ })
+ decSql = decSql.join(',')
+ secSql = secSql.join(',')
+
+ // 闇�瑕佸0鏄庣殑鍙橀噺闆�
+
+ let _sql = `/* ${logLabel} */
+ BEGIN TRY
+ begin TRAN
+
+ Declare @ErrorCode nvarchar(50), @retmsg nvarchar(4000), @account_id nvarchar(50), @account_year_id nvarchar(50), @account_code nvarchar(50), @account_year_code nvarchar(50), @tbid nvarchar(50)${decSql ? ',' + decSql : ''}
+
+ Select @ErrorCode='S', @retmsg='', @account_id='@account_id@', @account_year_id='@account_year_id@', @account_code='@account_code@', @account_year_code='@account_year_code@'${secSql ? ',' + secSql : ''}
+
+ ${_prev}
+ /* 澶栭儴鎺ュ彛鍏ュ弬 */
+ @mk_outer_params@
+ ${_back}
+ select @ErrorCode as ErrorCode,@retmsg as retmsg
+ ${callback}
+ `
+
+ _sql = _sql.replace(/\n\x20{6,8}/g, '\n').replace(/\n{3,}/g, '\n\n').replace(/^\s+|\s+$/g, '').replace(/\t+|\v+/g, ' ')
+
+ reps = reps.filter(n => {
+ if (sysVars.includes(n.toLowerCase())) {
+ return false
+ }
+
+ return true
+ })
+
+ return { LText: _sql, md5: md5(_sql), reps, tbs: tables }
+ }
+
let _mainSearch = []
if (appType === 'mob') {
--
Gitblit v1.8.0