From d5ed6bd23455c63b5de88f8740c7325658f5241e Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 16 一月 2025 18:11:47 +0800 Subject: [PATCH] 2025-01-16 --- src/utils/utils.js | 112 +++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 83 insertions(+), 29 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index 47394e2..bc7e3d2 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -71,6 +71,7 @@ uuid.push(_options.substr(Math.floor(Math.random() * 0x20), 1)) } uuid = timestamp + uuid.join('') + uuid = uuid.replace(/minke/ig, 'mnkie') return uuid } @@ -1770,11 +1771,10 @@ * @return {Array} columns 鏄剧ず鍒� * @return {Boolean} retmsg 鏄惁闇�瑕佹暟鎹繑鍥� */ -export function getSysDefaultSql (btn, setting, formdata, param, data, columns, retmsg = false) { +export function getSysDefaultSql (btn, setting, formdata, param, data, columns, retmsg = false, submitType = '') { let primaryId = param.ID let BID = param.BID || '' let verify = btn.verify || {} - let datavars = {} // 澹版槑鐨勫彉閲忥紝琛ㄥ崟鍙婃樉绀哄垪 let _actionType = null let _callbacksql = '' @@ -1808,7 +1808,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' @@ -1824,7 +1824,6 @@ // 鑾峰彇瀛楁閿�煎 formdata && formdata.forEach(form => { let _key = form.key.toLowerCase() - datavars[_key] = form.value if (!_initvars.includes(_key)) { _initvars.push(_key) @@ -1879,14 +1878,12 @@ // 娣诲姞鏁版嵁涓瓧娈碉紝琛ㄥ崟鍊间紭鍏�(鎸夐挳涓嶉�夎鎴栧琛屾嫾鎺ユ椂璺宠繃) if (data && btn.Ot !== 'notRequired' && columns && columns.length > 0) { - datavars = {..._data, ...datavars} - const setField = (col) => { if (!col.field) return let _key = col.field.toLowerCase() if (!_initvars.includes(_key)) { - let _val = datavars.hasOwnProperty(_key) ? datavars[_key] : '' + let _val = _data.hasOwnProperty(_key) ? _data[_key] : '' if (col.datatype && /^date/ig.test(col.datatype) && !_val) { _val = '1949-10-01' @@ -1941,7 +1938,7 @@ _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} + 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 = sessionStorage.getItem('User_Name') || '' @@ -1959,7 +1956,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='${submitType}', @BillCode='', @ModularDetailCode='' ` // 琛ㄥ崟鍙橀噺璧嬪�� @@ -2114,22 +2111,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)` @@ -2175,18 +2171,27 @@ item.field.split(',').forEach((_field, index) => { let _key = _field.toLowerCase() - let _val = datavars[_key] !== undefined ? datavars[_key] : '' + let _val = '' + let _val2 = '' arr.push(_key) - if (_key === 'bid' && !_val) { // 琛ㄥ崟涓病鏈塨id鍒欎娇鐢ㄧ郴缁焍id鍙橀噺 - _val = BID + 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}'`) } @@ -2239,13 +2244,18 @@ // 鍑瘉-鏄剧ず鍒椾腑閫夊彇,蹇呴』閫夎 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 ='${_data[_voucher.linkField.toLowerCase()] || ''}', + @Bill = ${linkField}, @BVoucherType ='${_voucher.BVoucherType}', @VoucherTypeOne ='${_voucher.VoucherTypeOne}', @VoucherTypeTwo ='${_voucher.VoucherTypeTwo}', @@ -2623,6 +2633,10 @@ error = '琛屼俊鎭腑鏃犲伐浣滄祦鍙傛暟' } + if (!error && verify.flowSql !== 'true' && verify.flowType !== 'start' && line && line.approvalMethod === 'countersign') { + error = '浼氱娴佺▼闇�瑕佷娇鐢ㄩ粯璁よ剼鏈�' + } + if (error) { status = 0 statusName = '寮傚父' @@ -2671,6 +2685,33 @@ _sql += ` /* 宸ヤ綔娴侀粯璁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 ${_declare},@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 ${_select},@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='' @@ -2727,32 +2768,45 @@ _sql += ` /* 宸ヤ綔娴侀粯璁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 select @ErrorCode='E', @retmsg='褰撳墠鍗曟嵁宸插鏍革紝璇峰埛鏂板悗閲嶈瘯' - goto aaa + goto aaa end 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 + 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 != '' 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 + select @retmsg=workerCode+workerName from BD_workers where id=@retmsg + + select @retmsg='椤甸潰鏁版嵁宸叉洿鏂帮紝鎴栨病鏈夊綋鍓嶅崟鎹殑瀹℃壒鏉冮檺锛岃鑱旂郴'+@retmsg+'鎿嶄綔' + goto aaa + end + end select @retmsg='椤甸潰鏁版嵁宸叉洿鏂帮紝鎴栨病鏈夊綋鍓嶅崟鎹殑瀹℃壒鏉冮檺' - goto aaa - end + goto aaa + end goto_mk: @@ -2766,7 +2820,7 @@ update s_my_works_flow_role set deleted=10,modifydate=getdate(),upid=@time_id@,modifyuserid=@userid@,modifyuser=@username,modifystaff=@fullname where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and deleted=0 - ${line.mknode === 'startEdge' ? `update s_my_works_flow_role set deleted=0,modifydate=getdate(),upid=@time_id@,modifyuserid=@userid@,modifyuser=@username,modifystaff=@fullname + ${line.mknode === 'startEdge' ? `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'` : ''} if @check_userids@ != '' -- Gitblit v1.8.0