From 74b579ec300b2316c6ec0a744ea3c0ad9f8b54d3 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 20 一月 2025 15:30:54 +0800 Subject: [PATCH] 2025-01-20 --- src/menu/debug/index.jsx | 141 +++++++++++++++++++++++++++++++++++------------ 1 files changed, 105 insertions(+), 36 deletions(-) diff --git a/src/menu/debug/index.jsx b/src/menu/debug/index.jsx index cdbc753..939a5d3 100644 --- a/src/menu/debug/index.jsx +++ b/src/menu/debug/index.jsx @@ -292,6 +292,8 @@ components.forEach(item => { if (item.type === 'tabs') { item.subtabs.forEach(tab => { + if (tab.hide === 'true') return + let _mainSearch = mainSearch || [] if (appType !== 'mob') { @@ -635,9 +637,12 @@ if (!_prev) return _back let tbs = [] - _prev.replace(/\n|\r/g, ' ').split(/\sdeclare\s/ig).forEach(line => { - if (!/^\s*(@|#)[a-zA-Z0-9_]+\s+table\s+\(/ig.test(line)) return - let tb = line.match(/(@|#)[a-zA-Z0-9_]+\s+table\s+\(.+(\)|date|datetime)\s*\)/ig) + _prev.replace(/\/\*[^/*]+\*\//g, '').replace(/\n|\r/g, ' ').split(/\sdeclare\s+|\screate\s+table\s+/ig).forEach(line => { + if (/^\s*(@|#)[a-zA-Z0-9_]+\s+table\s+\(/ig.test(line)) { + line = line.replace(/\s+table\s+\(/, '(') + } + if (!/^\s*(@|#)[a-zA-Z0-9_]+\s*\(/ig.test(line)) return + let tb = line.match(/(@|#)[a-zA-Z0-9_]+\s*\(.+(\)|date|datetime)\s*\)/ig) if (tb && tb.length === 1) { tbs.push(tb[0]) @@ -649,7 +654,7 @@ if (!tbName) return - let content = tb.replace(/(@|#)[a-zA-Z0-9_]+\s+table\s+\(\s*/, '').replace(/\s*\)$/, '') + let content = tb.replace(/(@|#)[a-zA-Z0-9_]+\s*\(\s*/, '').replace(/\s*\)$/, '') content = content.replace(/decimal\(\s*\d+\s*,\s*\d+\s*\)/ig, 'decimal') let keys = [] @@ -752,7 +757,7 @@ }) // 闇�瑕佸0鏄庣殑鍙橀噺闆� - let _vars = ['tbid', 'errorcode', 'retmsg', 'billcode', 'bvoucher', 'fibvoucherdate', 'fiyear', 'username', 'fullname', 'modulardetailcode', 'roleid', 'mk_departmentcode', 'mk_organization', 'mk_user_type', 'mk_nation', 'mk_province', 'mk_city', 'mk_district', 'mk_address', 'mk_deleted', 'bid'] + let _vars = ['tbid', 'errorcode', 'retmsg', 'billcode', 'bvoucher', 'fibvoucherdate', 'fiyear', 'username', 'fullname', 'modulardetailcode', 'roleid', 'mk_departmentcode', 'mk_organization', 'mk_user_type', 'mk_nation', 'mk_province', 'mk_city', 'mk_district', 'mk_address', 'mk_deleted', 'bid', 'mk_submit_type'] // 涓婚敭瀛楁 let primaryKey = setting.primaryKey || 'id' @@ -777,6 +782,11 @@ fieldlen: item.fieldlength || 50, writein: item.writein !== 'false', type: item.type + } + + if (item.type === 'linkMain' && item.verifyVal === 'true') { + _item.$verify = true + _item.label = item.label } if (_item.type === 'datemonth') { @@ -827,6 +837,11 @@ writein: item.writein !== 'false', type: item.type } + + if (item.type === 'linkMain' && item.verifyVal === 'true') { + _item.$verify = true + _item.label = item.label + } if (_item.type === 'datemonth') { _item.type = 'text' @@ -845,8 +860,39 @@ }) } } + + if (formdata && formdata.findIndex(item => item.type === 'vercode') > -1) { + formdata.push({ + type: 'text', + fieldlen: 50, + writein: false, + key: 'mk_timestamp' + }, { + type: 'text', + fieldlen: 50, + writein: false, + key: 'mk_send_type' + }, { + type: 'text', + fieldlen: 50, + writein: false, + key: 'mk_n_id' + }) + } + + let verifyValSql = '' // 鑾峰彇瀛楁閿�煎 formdata && formdata.forEach(form => { + if (form.$verify) { + verifyValSql += ` + if @${form.key}=${form.type === 'number' ? 0 : `''`} + begin + select @errorcode='E',@retmsg='${form.label}锛屽叧鑱斾富琛ㄥけ鏁�' + goto aaa + end + ` + } + let _key = form.key.toLowerCase() if (!_initvars.includes(_key)) { _initvars.push(_key) @@ -877,6 +923,8 @@ } else if (form.type === 'rate') { _type = `decimal(18,2)` } + + if (['appkey'].includes(_key)) return _declarefields.push(`@${_key} ${_type}`) } @@ -900,7 +948,7 @@ } } - if (!_vars.includes(_key)) { + if (!_vars.includes(_key) && !['appkey'].includes(_key)) { _vars.push(_key) _declarefields.push(`@${_key} ${col.datatype || 'nvarchar(50)'}`) } @@ -912,7 +960,7 @@ if (_declarefields) { _declarefields = ',' + _declarefields } - _sql = `Declare @tbid nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@BillCode nvarchar(50),@BVoucher nvarchar(50),@FIBVoucherDate nvarchar(50), @FiYear nvarchar(50),@ModularDetailCode nvarchar(50), @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),@mk_deleted int,@bid nvarchar(50)${_declarefields} + _sql = `Declare @tbid nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@BillCode nvarchar(50),@BVoucher nvarchar(50),@FIBVoucherDate nvarchar(50), @FiYear nvarchar(50),@ModularDetailCode nvarchar(50), @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),@mk_deleted int,@bid nvarchar(50),@mk_submit_type nvarchar(50)${_declarefields} ` let userName = 'User_Name' @@ -930,7 +978,7 @@ // 鍒濆鍖栧嚟璇佸強鐢ㄦ埛淇℃伅瀛楁 _sql += ` /* 鍑瘉鍙婄敤鎴蜂俊鎭垵濮嬪寲璧嬪�� */ - select @BVoucher='',@FIBVoucherDate='',@FiYear='',@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}', @mk_deleted=1, @bid='${BID}', @BillCode='', @ModularDetailCode='' + select @BVoucher='',@FIBVoucherDate='',@FiYear='',@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}', @mk_deleted=1, @bid='${BID}', @mk_submit_type='', @BillCode='', @ModularDetailCode='' ` // 琛ㄥ崟鍙橀噺璧嬪�� @@ -1085,22 +1133,21 @@ verify.billcodes.forEach(item => { let _key = item.field.toLowerCase() - let _linkKey = item.linkField ? item.linkField.toLowerCase() : '' if (!keys.includes(_key)) return // 琛ㄥ崟涓笉鍚崟鍙风敓鎴愬瓧娈� let _lpline = '' if (item.TypeCharOne === 'Lp') { - if (_linkKey === 'bid' && BID) { // 鏇挎崲bid + if (/^BID$/ig.test(item.linkField)) { _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@BID@,48)` } else { - _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@${_linkKey},48)` + _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@${item.linkField},48)` } } else if (item.TypeCharOne === 'BN') { - if (_linkKey === 'bid' && BID) { // 鏇挎崲bid + if (/^BID$/ig.test(item.linkField)) { _lpline = `set @ModularDetailCode= 'BN'+ right(@BID@,48)` } else { - _lpline = `set @ModularDetailCode= 'BN'+ right(@${_linkKey},48)` + _lpline = `set @ModularDetailCode= 'BN'+ right(@${item.linkField},48)` } } else { _lpline = `set @ModularDetailCode= right('${item.ModularDetailCode}',50)` @@ -1131,17 +1178,6 @@ // 鍞竴鎬ч獙璇侊紝蹇呴』瀛樺湪琛ㄥ崟锛堣〃鍗曞瓨鍦ㄦ椂锛屼富閿潎涓哄崟鍊硷級,蹇呴』濉啓鏁版嵁婧愶紝澶氳鎷兼帴鏃朵笉鍙敤 if (formdata && verify.uniques && verify.uniques.length > 0 && btn.Ot !== 'requiredOnce') { - let dateForms = [] - let numForms = [] - formdata.forEach(form => { - let _key = form.key.toLowerCase() - if (form.type === 'date') { - dateForms.push(_key) - } else if (form.type === 'number' || form.type === 'rate') { - numForms.push(_key) - } - }) - verify.uniques.forEach(item => { let _fieldValue = [] // 琛ㄥ崟閿�煎field=value let _value = [] // 琛ㄥ崟鍊硷紝鐢ㄤ簬閿欒鎻愮ず @@ -1151,21 +1187,26 @@ item.field.split(',').forEach((_field, index) => { let _key = _field.toLowerCase() let _val = '' + let _val2 = '' arr.push(_key) - if (_key === 'bid') { // 琛ㄥ崟涓病鏈塨id鍒欎娇鐢ㄧ郴缁焍id鍙橀噺 - _val = BID - } else if (numForms.includes(_key)) { - _val = '1' - } else if (dateForms.includes(_key)) { - _val = '1949-10-01' + if (_key === 'bid') { + _val = `'${BID}'` + } else { + _val = `@${_field}` } - _fieldValue.push(`${_key}='${_val}'`) - _value.push(`${_labels[index] || ''}锛�${_val || ''}`) + if (_key === 'bid') { + _val2 = BID + } else { + _val2 = `' + @${_field} + '` + } + + _fieldValue.push(`${_key}=${_val}`) + _value.push(`${_labels[index] || ''}锛�${_val2}`) }) - if (!arr.includes(primaryKey.toLowerCase())) { + if (!arr.includes(primaryKey.toLowerCase()) && btn.Ot !== 'notRequired') { _fieldValue.push(`${primaryKey} !='${primaryId}'`) } @@ -1216,15 +1257,20 @@ let hasvoucher = false // 鍑瘉-鏄剧ず鍒椾腑閫夊彇,蹇呴』閫夎 - if (verify.voucher && verify.voucher.enabled && btn.Ot !== 'requiredOnce') { + if (verify.voucher && verify.voucher.enabled) { let _voucher = verify.voucher + let linkField = `@${_voucher.linkField}` + if (/^BID$/ig.test(_voucher.linkField)) { + linkField = `'${BID}'` + } + hasvoucher = true _sql += ` /* 鍒涘缓鍑瘉 */ exec s_BVoucher_Create - @Bill ='0', + @Bill = ${linkField}, @BVoucherType ='${_voucher.BVoucherType}', @VoucherTypeOne ='${_voucher.VoucherTypeOne}', @VoucherTypeTwo ='${_voucher.VoucherTypeTwo}', @@ -1487,6 +1533,10 @@ } } else if (_backCustomScript) { _sql += _backCustomScript + } + + if (verifyValSql) { + _sql += verifyValSql } if (btn.procMode === 'system') { @@ -1917,6 +1967,7 @@ let _fields = unique.field.split(',') let _fields_ = _fields.map(_field => `a.${_field}=b.${_field}`) _fields_ = _fields_.join(' and ') + _fields_ += ` and a.jskey != b.${setting.primaryKey || 'id'}` let _where = [] _fields.forEach(f => { @@ -1973,6 +2024,7 @@ let declarefields = [] let fields = [] + let upFields = [] forms.forEach(col => { let key = col.field.toLowerCase() @@ -1980,15 +2032,27 @@ declarefields.push(`${col.field} ${col.datatype}`) fields.push(col.field) + upFields.push(`${col.field}=t.${col.field}`) }) fields = fields.join(',') + upFields = upFields.join(',') let _insert = '' if (btn.default !== 'false') { _insert = ` /* 榛樿sql */ - Insert into ${database}${sheet} (${fields},createuserid,createuser,createstaff,bid) + update a set ${upFields},modifydate=getdate(),modifyuserid='${sessionStorage.getItem('UserID') || ''}',modifyuser=@username,modifystaff=@fullname,deleted=0 + from (select * from #${sheet} where data_type='upt') t + inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'} + + update a set deleted=1,modifydate=getdate(),modifyuserid='${sessionStorage.getItem('UserID') || ''}',modifyuser=@username,modifystaff=@fullname + from (select * from #${sheet} where data_type='del') t + inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'} + + delete t from #${sheet} t inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'} + + Insert into ${database}${sheet} (${fields},createuserid,createuser,createstaff,bid) Select ${fields},'${sessionStorage.getItem('UserID') || ''}',@username,@fullname,'${BID}' From #${sheet} ` } @@ -2049,6 +2113,11 @@ { reg: /@datam@/ig, value: `''` }, ] + let process = this.props.config.process === 'true' + if (process) { + regs.push({ reg: /@works_flow_code@/ig, value: `'1949-10-01 15:00:00'` }) + } + let sql = this.formatDataSource(item, regs) return sql -- Gitblit v1.8.0