From c5a07dba94694d13f0a78e051dfa26c3522933ee Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 15 十一月 2024 18:10:02 +0800
Subject: [PATCH] 2024-11-15

---
 src/templates/zshare/verifycard/index.jsx |  209 +++++++++++++++++++++++++++++----------------------
 1 files changed, 119 insertions(+), 90 deletions(-)

diff --git a/src/templates/zshare/verifycard/index.jsx b/src/templates/zshare/verifycard/index.jsx
index 1b7d9be..d674655 100644
--- a/src/templates/zshare/verifycard/index.jsx
+++ b/src/templates/zshare/verifycard/index.jsx
@@ -44,7 +44,8 @@
     emailCodes: [],         // 閭妯℃澘
     verify: {},
     fields: [],
-    usefulfields: '',
+    formfields: '',
+    colfields: '',
     defaultsql: '',         // 榛樿Sql
     orderModular: [],
     orderModularDetail: [],
@@ -85,7 +86,7 @@
         title: '楠岃瘉绫诲瀷',
         dataIndex: 'verifyType',
         width: '14%',
-        render: (text, record) => record.verifyType === 'logic' ? '閫昏緫楠岃瘉' : '鐗╃悊楠岃瘉',
+        render: (text) => text === 'logic' ? '閫昏緫楠岃瘉' : '鐗╃悊楠岃瘉',
         inputType: 'select',
         editable: true,
         options: [
@@ -123,7 +124,7 @@
 
           record.field.split(',').forEach((_field, index) => {
             let _key = _field.toLowerCase()
-            _fieldValue.push(`${_key}=${_key === 'bid' ? '@BID@' : ''}`)
+            _fieldValue.push(`${_key}=${_key === 'bid' ? '@BID@' : `''`}`)
             _value.push(`${_labels[index] || ''}锛歺xx`)
           })
 
@@ -640,20 +641,19 @@
     _verify.uniques = _verify.uniques || []
     _verify.contrasts = _verify.contrasts || []
     _verify.accountdate = _verify.accountdate || 'false'
-    _verify.accountfield = _verify.accountfield || ''
-    _verify.voucherdate = _verify.voucherdate || ''
     _verify.customverifys = _verify.customverifys || []
     _verify.billcodes = _verify.billcodes || []
     _verify.voucher = _verify.voucher || {enabled: false}
     _verify.scripts = _verify.scripts || []
     _verify.cbScripts = _verify.cbScripts || []
 
-    if (window.GLOB.process) {
+    if (window.GLOB.process && card.intertype !== 'inner') {
       _verify.workFlow = _verify.workFlow || 'false'
       _verify.flowType = _verify.flowType || (card.sqlType === 'insert' ? 'start' : 'approval')
       _verify.flowSql = _verify.flowSql || 'true'
     } else {
       delete _verify.workFlow
+      delete _verify.flowRemark
       delete _verify.flowType
       delete _verify.flowSql
     }
@@ -663,20 +663,20 @@
       _verify.printTempId = ''
     }
 
-    if (window.GLOB.funcs && window.GLOB.funcs.length > 0) {
-      window.GLOB.funcs.forEach(m => {
-        let reg = new RegExp(`\\/\\*\\$ex@${m.func_code}-begin\\*\\/[\\s\\S]+\\/\\*@ex\\$-end\\*\\/`, 'ig')
-        _verify.customverifys.forEach(item => {
-          item.sql = item.sql.replace(reg, `$ex@${m.func_code}@ex$`)
-        })
-        _verify.scripts.forEach(item => {
-          item.sql = item.sql.replace(reg, `$ex@${m.func_code}@ex$`)
-        })
-        _verify.cbScripts.forEach(item => {
-          item.sql = item.sql.replace(reg, `$ex@${m.func_code}@ex$`)
-        })
-      })
-    }
+    // if (window.GLOB.funcs && window.GLOB.funcs.length > 0) {
+    //   window.GLOB.funcs.forEach(m => {
+    //     let reg = new RegExp(`\\/\\*\\$ex@${m.func_code}-begin\\*\\/[\\s\\S]+\\/\\*@ex\\$-end\\*\\/`, 'ig')
+    //     _verify.customverifys.forEach(item => {
+    //       item.sql = item.sql.replace(reg, `$ex@${m.func_code}@ex$`)
+    //     })
+    //     _verify.scripts.forEach(item => {
+    //       item.sql = item.sql.replace(reg, `$ex@${m.func_code}@ex$`)
+    //     })
+    //     _verify.cbScripts.forEach(item => {
+    //       item.sql = item.sql.replace(reg, `$ex@${m.func_code}@ex$`)
+    //     })
+    //   })
+    // }
 
     _verify.customverifys.forEach((item, i) => {
       item.$index = i + 1
@@ -695,11 +695,19 @@
       activeKey = 'cbScripts'
     }
 
+    let oriVerify = fromJS(_verify).toJS()
+
+    if (_verify.wxAppId) {
+      if (!window.GLOB.WXApps || window.GLOB.WXApps.filter(app => app.appType === 'public').length === 0) {
+        delete _verify.wxAppId
+      }
+    }
+
     this.setState({
       activeKey: activeKey,
       verifyInter: verifyInter,
       verify: _verify,
-      oriVerify: fromJS(_verify).toJS()
+      oriVerify: oriVerify
     })
 
     if (card.intertype === 'inner') return
@@ -715,15 +723,12 @@
       _fields = card.modal.fields || []
     }
 
-    let _usefulfields = ['UserName', 'FullName', 'RoleID', 'mk_departmentcode', 'mk_organization', 'mk_user_type', 'mk_nation', 'mk_province', 'mk_city', 'mk_district', 'mk_address', 'BillCode', 'BVoucher', 'FIBVoucherDate', 'FiYear', 'ModularDetailCode', 'tbid', 'mk_deleted']
-    let _declare = ['@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)', '@ErrorCode nvarchar(50)', '@retmsg nvarchar(4000)', '@BillCode nvarchar(50)', '@BVoucher nvarchar(50)', '@FIBVoucherDate nvarchar(50)', '@FiYear nvarchar(50)', '@ModularDetailCode nvarchar(50)', '@bid nvarchar(50)', '@tbid nvarchar(50)', '@mk_deleted int']
-    let _select = ['@UserName=\'\'', '@FullName=\'\'', '@RoleID=\'\'', '@mk_departmentcode=\'\'', '@mk_organization=\'\'', '@mk_user_type=\'\'', '@mk_nation=\'\'', '@mk_province=\'\'', '@mk_city=\'\'', '@mk_district=\'\'', '@mk_address=\'\'', '@ErrorCode=\'\'', '@retmsg=\'\'', '@BillCode=\'\'', '@BVoucher=\'\'', '@FIBVoucherDate=\'\'', '@FiYear=\'\'', '@ModularDetailCode=\'\'', '@bid=\'\'', '@mk_deleted=1']
-    let fieldArr = _usefulfields.map(_f => _f.toLowerCase())
-    let hasBid = false
-
-    _usefulfields = []
+    let sysfields = ['UserName', 'FullName', 'RoleID', 'mk_departmentcode', 'mk_organization', 'mk_user_type', 'mk_nation', 'mk_province', 'mk_city', 'mk_district', 'mk_address', 'BillCode', 'BVoucher', 'FIBVoucherDate', 'FiYear', 'ModularDetailCode', 'tbid', 'mk_deleted', 'bid', 'mk_submit_type']
+    let _declare = ['@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)', '@ErrorCode nvarchar(50)', '@retmsg nvarchar(4000)', '@BillCode nvarchar(50)', '@BVoucher nvarchar(50)', '@FIBVoucherDate nvarchar(50)', '@FiYear nvarchar(50)', '@ModularDetailCode nvarchar(50)', '@bid nvarchar(50)', '@tbid nvarchar(50)', '@mk_deleted int', '@mk_submit_type nvarchar(50)']
+    let _select = ['@UserName=\'\'', '@FullName=\'\'', '@RoleID=\'\'', '@mk_departmentcode=\'\'', '@mk_organization=\'\'', '@mk_user_type=\'\'', '@mk_nation=\'\'', '@mk_province=\'\'', '@mk_city=\'\'', '@mk_district=\'\'', '@mk_address=\'\'', '@ErrorCode=\'\'', '@retmsg=\'\'', '@BillCode=\'\'', '@BVoucher=\'\'', '@FIBVoucherDate=\'\'', '@FiYear=\'\'', '@ModularDetailCode=\'\'', '@bid=\'\'', '@mk_deleted=1', '@mk_submit_type=\'\'']
     
-    fieldArr.push('bid')
+    let fieldArr = sysfields.map(_f => _f.toLowerCase())
+    let hasBid = false
 
     let verIndex = _fields.findIndex(item => item.type === 'vercode')
     if (verIndex > -1) {
@@ -746,17 +751,19 @@
       })
     }
 
+    let formfields = []
     _fields = _fields.filter(_f => _f.field)
     _fields.forEach(_f => {
-      if (_f.field.toLowerCase() === 'bid') {
+      let key = _f.field.toLowerCase()
+      if (key === 'bid') {
         hasBid = true
       }
 
-      if (fieldArr.includes(_f.field.toLowerCase())) return
+      if (fieldArr.includes(key)) return
 
-      fieldArr.push(_f.field.toLowerCase())
+      fieldArr.push(key)
 
-      _usefulfields.push(_f.field)
+      formfields.push(_f.field)
 
       let _fieldlen = _f.fieldlength || 50
 
@@ -775,16 +782,18 @@
         _select.push(`@${_f.field}='1949-10-01'`)
       } else if (_f.type === 'number') {
         _type = `decimal(18,${_fieldlen})`
-        _select.push(`@${_f.field}=0`)
+        _select.push(`@${_f.field}=1`)
       } else if (_f.declare === 'decimal') {
         _type = `decimal(18,${_f.decimal || 0})`
-        _select.push(`@${_f.field}=0`)
+        _select.push(`@${_f.field}=1`)
       } else if (_f.type === 'rate') {
         _type = `decimal(18,2)`
-        _select.push(`@${_f.field}=0`)
+        _select.push(`@${_f.field}=1`)
       } else {
         _select.push(`@${_f.field}=''`)
       }
+
+      if (['appkey'].includes(key)) return
 
       _declare.push(`@${_f.field} ${_type}`)
     })
@@ -799,6 +808,7 @@
     let unionFields = fromJS(_fields).toJS()
     let formArr = _fields.map(_f => _f.field.toLowerCase())
 
+    let colfields = []
     if (card.Ot !== 'notRequired' && columns) {
       columns.forEach(_f => {
         if (!_f.field) return
@@ -813,40 +823,45 @@
         if (fieldArr.includes(key)) return
 
         fieldArr.push(key)
-        _usefulfields.push(_f.field)
+        colfields.push(_f.field)
 
         if (_f.datatype) { // 鑷畾涔夊瓧娈�
-          if (/decimal/ig.test(_f.datatype)) {
-            _select.push(`@${_f.field}=0`)
+          if (/decimal|int/ig.test(_f.datatype)) {
+            _select.push(`@${_f.field}=1`)
+          } else if (/date/ig.test(_f.datatype)) {
+            _select.push(`@${_f.field}='1949-10-01'`)
           } else {
             _select.push(`@${_f.field}=''`)
           }
 
+          if (['appkey'].includes(key)) return
+
           _declare.push(`@${_f.field} ${_f.datatype}`)
-          return
-        }
-
-        let _fieldlen = _f.fieldlength || 50
-
-        if (_fieldlen > 4000) {
-          _fieldlen = 'max'
-        }
-
-        let _type = `nvarchar(${_fieldlen})`
-
-        if (_f.type === 'number') {
-          _type = `decimal(18,${_f.decimal ? _f.decimal : 0})`
-        } else if (_f.type === 'picture' || _f.type === 'textarea') {
-          _type = `nvarchar(${_fieldlen})`
-        }
-
-        if (_f.type === 'number') {
-          _select.push(`@${_f.field}=0`)
         } else {
-          _select.push(`@${_f.field}=''`)
-        }
+          let _fieldlen = _f.fieldlength || 50
+  
+          if (_fieldlen > 4000) {
+            _fieldlen = 'max'
+          }
+  
+          let _type = `nvarchar(${_fieldlen})`
+  
+          if (_f.type === 'number') {
+            _type = `decimal(18,${_f.decimal ? _f.decimal : 0})`
+          } else if (_f.type === 'picture' || _f.type === 'textarea') {
+            _type = `nvarchar(${_fieldlen})`
+          }
+  
+          if (_f.type === 'number') {
+            _select.push(`@${_f.field}=1`)
+          } else {
+            _select.push(`@${_f.field}=''`)
+          }
+  
+          if (['appkey'].includes(key)) return
 
-        _declare.push(`@${_f.field} ${_type}`)
+          _declare.push(`@${_f.field} ${_type}`)
+        }
       })
     }
 
@@ -1033,7 +1048,8 @@
       columnsFields: _columns,
       initsql: _sql,
       defaultsql: _defaultsql,
-      usefulfields: _usefulfields.join(', '),
+      formfields: formfields.join(', '),
+      colfields: colfields.join(', '),
       uniqueColumns: this.state.uniqueColumns.map(col => {
         if (col.dataIndex === 'field') {
           col.options = uniqueFields
@@ -1157,7 +1173,6 @@
   }
 
   orderSql = (record) => {
-    let _ModularDetailCode = ''
     let _lpline = ''
     if (record.TypeCharOne === 'Lp') {
       if (record.linkField.toLowerCase() === 'bid') {
@@ -1165,17 +1180,20 @@
       } else {
         _lpline = `set @ModularDetailCode= 'Lp'+ right('${record.mark || this.props.card.uuid}'+@${record.linkField.toLowerCase()},48)`
       }
-      _ModularDetailCode = '@ModularDetailCode'
     } else if (record.TypeCharOne === 'BN') {
-      _ModularDetailCode = `'${record.TypeCharOne}'`
+      if (record.linkField.toLowerCase() === 'bid') {
+        _lpline = `set @ModularDetailCode= 'BN'+ right(@BID@,48)`
+      } else {
+        _lpline = `set @ModularDetailCode= 'BN'+ right(@${record.linkField.toLowerCase()},48)`
+      }
     } else {
-      _ModularDetailCode = `'${record.ModularDetailCode}'`
+      _lpline = `set @ModularDetailCode= right('${record.ModularDetailCode}',50)`
     }
 
     let sql = `select @BillCode='', @${record.field}='', @ModularDetailCode=''
     ${_lpline}
     exec s_get_BillCode
-      @ModularDetailCode=${_ModularDetailCode},
+      @ModularDetailCode=@ModularDetailCode,
       @Type=${record.Type},
       @TypeCharOne='${record.TypeCharOne}',
       @TypeCharTwo ='${record.TypeCharTwo}',
@@ -1261,7 +1279,7 @@
       verify.scripts.push(values)
     }
 
-    if (/@bvoucher(\s|\))/ig.test(values.sql)) {
+    if (/@bvoucher(\s|\))/ig.test(values.sql) && !/s_BVoucher_Create/ig.test(values.sql)) {
       if (verify.voucher && verify.voucher.enabled) {
 
       } else if (card.Ot !== 'notRequired' && columns) {
@@ -1561,7 +1579,7 @@
     
     // 琛ㄥ崟鎻愪氦鏃舵鏌ヨ緭鍏ュ�兼槸鍚︽纭�
     return new Promise((resolve, reject) => {
-      if ((card.sqlType === 'custom' || verify.default === 'false') && verify.scripts.length === 0) {
+      if ((card.sqlType === 'custom' || verify.default === 'false') && !(verify.workFlow === 'true' && verify.flowSql === 'true') && verify.scripts.length === 0) {
         notification.warning({
           top: 92,
           message: '涓嶆墽琛岄粯璁ql鏃讹紝蹇呴』璁剧疆鑷畾涔夎剼鏈紒',
@@ -1583,20 +1601,20 @@
         msg = '鑷畾涔夎剼鏈�'
       }
 
-      if (window.GLOB.funcs && window.GLOB.funcs.length > 0) {
-        window.GLOB.funcs.forEach(m => {
-          let reg = new RegExp('\\$ex@' + m.func_code + '@ex\\$', 'ig')
-          verify.customverifys.forEach(item => {
-            item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`)
-          })
-          verify.scripts.forEach(item => {
-            item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`)
-          })
-          verify.cbScripts.forEach(item => {
-            item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`)
-          })
-        })
-      }
+      // if (window.GLOB.funcs && window.GLOB.funcs.length > 0) {
+      //   window.GLOB.funcs.forEach(m => {
+      //     let reg = new RegExp('\\$ex@' + m.func_code + '@ex\\$', 'ig')
+      //     verify.customverifys.forEach(item => {
+      //       item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`)
+      //     })
+      //     verify.scripts.forEach(item => {
+      //       item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`)
+      //     })
+      //     verify.cbScripts.forEach(item => {
+      //       item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`)
+      //     })
+      //   })
+      // }
 
       delete verify.limitInvalid
       delete verify.limitText
@@ -1664,7 +1682,7 @@
 
   render() {
     const { card, columns } = this.props
-    const { activeKey, verifyInter, verify, fields, uniqueFields, uniqueColumns, unionFields, onceUniqueColumns, columnsFields, contrastColumns, customColumns, orderColumns, scriptsColumns, cbScriptsColumns, orderModular, orderModularDetail, voucher, voucherDetail, notes, emailCodes, appType } = this.state
+    const { activeKey, verifyInter, verify, fields, uniqueFields, uniqueColumns, unionFields, onceUniqueColumns, columnsFields, contrastColumns, customColumns, orderColumns, scriptsColumns, cbScriptsColumns, orderModular, orderModularDetail, voucher, voucherDetail, notes, emailCodes, appType, formfields, colfields } = this.state
     const formItemLayout = {
       labelCol: {
         xs: { span: 24 },
@@ -1686,7 +1704,7 @@
               {verify.default === 'false' ? <span className="count-tip"><ExclamationOutlined style={{color: 'orange'}}/></span> : null}
             </span>
           } key="base">
-            <BaseForm card={card} appType={appType} columns={columns} unionFields={unionFields} verify={verify} notes={notes} emailCodes={emailCodes} onChange={(verify) => this.setState({verify})} wrappedComponentRef={(inst) => this.baseForm = inst}/>
+            <BaseForm card={card} appType={appType} fields={fields} columns={columns} unionFields={unionFields} verify={verify} notes={notes} emailCodes={emailCodes} onChange={(verify) => this.setState({verify})} wrappedComponentRef={(inst) => this.baseForm = inst}/>
           </TabPane> : null}
           {verifyInter === 'system' ? <TabPane tab={
             <span>
@@ -1706,7 +1724,8 @@
             <CustomForm
               btn={this.props.card}
               initsql={this.state.initsql}
-              usefulfields={this.state.usefulfields}
+              formfields={formfields}
+              colfields={colfields}
               customChange={this.customChange}
               wrappedComponentRef={(inst) => this.customForm = inst}
             />
@@ -1775,10 +1794,15 @@
                 type="fullscreen"
                 btn={this.props.card}
                 initsql={this.state.initsql}
+                workFlow={verify.workFlow}
+                flowRemark={verify.flowRemark}
+                flowType={verify.flowType}
+                flowSql={verify.flowSql}
                 customScripts={verify.scripts}
                 useDefaultSql={verify.default !== 'false'}
                 defaultsql={this.state.defaultsql}
-                usefulfields={this.state.usefulfields}
+                formfields={formfields}
+                colfields={colfields}
                 systemScripts={this.state.systemScripts}
                 scriptsChange={this.scriptsChange}
                 wrappedComponentRef={(inst) => this.scriptsFullForm = inst}
@@ -1788,11 +1812,14 @@
               btn={this.props.card}
               initsql={this.state.initsql}
               workFlow={verify.workFlow}
+              flowRemark={verify.flowRemark}
               flowType={verify.flowType}
+              flowSql={verify.flowSql}
               customScripts={verify.scripts}
               useDefaultSql={verify.default !== 'false'}
               defaultsql={this.state.defaultsql}
-              usefulfields={this.state.usefulfields}
+              formfields={formfields}
+              colfields={colfields}
               systemScripts={this.state.systemScripts}
               scriptsChange={this.scriptsChange}
               wrappedComponentRef={(inst) => this.scriptsForm = inst}
@@ -1817,7 +1844,8 @@
                 btn={this.props.card}
                 initsql={this.state.initsql}
                 customScripts={verify.cbScripts}
-                usefulfields={this.state.usefulfields}
+                formfields={formfields}
+                colfields={colfields}
                 systemScripts={this.state.systemScripts}
                 scriptsChange={this.cbScriptsChange}
                 wrappedComponentRef={(inst) => this.cbscriptsFullForm = inst}
@@ -1827,7 +1855,8 @@
               btn={this.props.card}
               initsql={this.state.initsql}
               customScripts={verify.cbScripts}
-              usefulfields={this.state.usefulfields}
+              formfields={formfields}
+              colfields={colfields}
               systemScripts={this.state.systemScripts}
               scriptsChange={this.cbScriptsChange}
               wrappedComponentRef={(inst) => this.cbscriptsForm = inst}

--
Gitblit v1.8.0