From 02a05c4e82e74c290e80ae7710fbb394ed7cac7a Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 15 四月 2020 12:51:04 +0800
Subject: [PATCH] 2020-04-15

---
 src/utils/utils.js |   31 +++++++++++++++++++++----------
 1 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index bef3bb4..4b68be0 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -672,6 +672,12 @@
     let BID = param.BID
     let verify = btn.verify || {}
     let _formFieldValue = {}
+    let _actionType = null
+
+    if (verify.default !== 'false') { // 鍒ゆ柇鏄惁浣跨敤榛樿sql
+      _actionType = btn.sqlType
+    }
+
     // 闇�瑕佸0鏄庣殑鍙橀噺闆�
     // let _vars = ['tbid', 'ErrorCode', 'retmsg', 'BillCode', 'BVoucher', 'FIBVoucherDate', 'FiYear', 'UserName', 'FullName', 'ID', 'BID', 'LoginUID', 'SessionUid', 'UserID', 'Appkey']
     let _vars = ['tbid', 'errorcode', 'retmsg', 'billcode', 'bvoucher', 'fibvoucherdate', 'fiyear', 'username', 'fullname', 'modulardetailcode']
@@ -901,6 +907,7 @@
     }
 
     // 鍗曞彿鐢熸垚锛屼娇鐢ㄤ笂绾d锛圔ID锛夋垨鍒楄〃鏁版嵁锛屽0鏄庡彉閲忥紙妫�楠岋級
+    let _billcodesSql  = ''
     if (verify.billcodes && verify.billcodes.length > 0) {
       verify.billcodes.forEach(item => {
         let _ModularDetailCode = ''
@@ -932,7 +939,7 @@
           _vars.push(_key)
         }
 
-        _sql += `${_declare}
+        _billcodesSql += `${_declare}
           select @BillCode='', @${_key}='', @ModularDetailCode=''
           ${_lpline}
           exec s_get_BillCode
@@ -948,6 +955,10 @@
           set @${_key}=@BillCode
           `
       })
+
+      if (_actionType !== 'insertOrUpdate') {
+        _sql += _billcodesSql
+      }
     }
 
     let hasvoucher = false
@@ -979,14 +990,7 @@
 
     let primaryKeyName = ['id', 'bid', 'loginuid', 'sessionuid', 'userid', 'appkey'].includes(primaryKey.toLowerCase()) ? primaryKey + '@' : primaryKey
 
-    let _actionType = null
-
-    if (verify.default !== 'false') { // 鍒ゆ柇鏄惁浣跨敤榛樿sql
-      _actionType = btn.sqlType
-    }
-
     let _insertsql = ''
-    let _updatesql = ''
     if (_actionType === 'insert' || _actionType === 'insertOrUpdate') { // 娣诲姞璇彞
       let keys = []
       let values = []
@@ -1032,7 +1036,10 @@
       keys = keys.join(',')
       values = values.join(',')
       _insertsql = `insert into ${btn.sql} (${keys}) select ${values};`
-    } else if (_actionType === 'update' || _actionType === 'insertOrUpdate') { // 淇敼璇彞
+    }
+
+    let _updatesql = ''
+    if (_actionType === 'update' || _actionType === 'insertOrUpdate') { // 淇敼璇彞
       let _form = []
       let _arr = []
 
@@ -1065,7 +1072,6 @@
           _form.push('FiYear=@FiYear')
         }
       }
-
       _form = _form.join(',')
       _updatesql = `update ${btn.sql} set ${_form} where ${primaryKey}=@${primaryKeyName};`
     }
@@ -1094,9 +1100,14 @@
       _sql += `select @tbid=''
         select @tbid='X' from ${btn.sql} where ${primaryKey}=@ID@
         if @tbid=''
+          begin
+          ${_billcodesSql}
           ${_insertsql}
+          end
         else
+          begin
           ${_updatesql}
+          end
       `
     }
 

--
Gitblit v1.8.0