From 9a16cb432ed0a597caf9ba78c9dda63ad2134207 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 01 七月 2020 12:42:40 +0800
Subject: [PATCH] 2020-07-01

---
 src/utils/utils.js |  103 +++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 95 insertions(+), 8 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index 186bb97..9b4447d 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -10,9 +10,9 @@
   static getuuid () {
     let uuid = []
     let timestamp = new Date().getTime()
-    let options = '0123456789abcdefghigklmnopqrstuv'
+    let _options = '0123456789abcdefghigklmnopqrstuv'
     for (let i = 0; i < 19; i++) {
-      uuid.push(options.substr(Math.floor(Math.random() * 0x20), 1))
+      uuid.push(_options.substr(Math.floor(Math.random() * 0x20), 1))
     }
     uuid = timestamp + uuid.join('')
     return uuid
@@ -180,6 +180,81 @@
     }
 
     return value
+  }
+
+  /**
+   * @description sPC_TableData_InUpDe sql鍔犲瘑
+   * @return {String}  value
+   */
+  static sPCInUpDeFormatOptions (value) {
+    if (!value) return {LText: '', LText1: '', LText2: ''}
+
+    let salt = 'minKe' // 鐩愬��
+    // 鍏抽敭瀛楄浆鎹㈣鍒�
+    let format = [
+      { key: 'select', value: ' msltk ' },
+      { key: 'from', value: ' mfrmk ' },
+      { key: 'where', value: ' mwhrk ' },
+      { key: 'order by', value: ' modbk ' },
+      { key: 'asc', value: ' modack ' },
+      { key: 'desc', value: ' moddesk ' },
+      { key: 'top', value: ' mtpk ' },
+      { key: 'like', value: ' mlkk ' },
+      { key: 'not like', value: ' mnlkk ' },
+      { key: 'between', value: ' mbtnk ' },
+      { key: 'and', value: ' madk ' },
+      { key: 'insert', value: ' mistk ' },
+      { key: 'into', value: ' mitk ' },
+      { key: 'update', value: ' muptk ' },
+      { key: 'delete', value: ' mdelk ' },
+      { key: 'begin', value: ' mbgink ' },
+      { key: 'end', value: ' medk ' },
+      { key: 'if', value: ' mefk ' },
+      { key: 'while', value: ' mwilk ' },
+      { key: 'create', value: ' mcrtk ' },
+      { key: 'alter', value: ' matek ' },
+      { key: 'len', value: ' mlnk ' },
+      { key: 'left', value: ' mlftk ' },
+      { key: 'right', value: ' mritk ' },
+      { key: 'union', value: ' munok ' },
+      { key: 'varchar', value: ' mvcrk ' },
+      { key: 'getdate', value: ' mgtdtk ' },
+      { key: 'TRY', value: ' mtryonek ' },
+      { key: 'TRAN', value: ' mtrnk ' },
+      { key: 'goto', value: ' mgtk ' },
+      { key: 'set', value: ' mstk ' },
+      { key: 'ROLLBACK', value: ' mrlbkk ' }
+    ]
+
+    value = value.replace(/\n/ig, ' \n ')
+    // 鏇挎崲鍏抽敭瀛�
+    format.forEach(item => {
+      let reg = new RegExp('(^|\\s)' + item.key + '(\\s|$)', 'ig')
+      value = value.replace(reg, item.value)
+    })
+
+    // 1銆佹浛鎹�%绗︼紙鏁版嵁搴撲腑瑙f瀽鍚巗ql鎶ラ敊锛�
+    value = value.replace(/%/ig, ' mpercent ')
+
+    let encodesql = (val) => {
+      if (!val) return ''
+
+      let _value = window.btoa(window.encodeURIComponent(val))
+
+      // 鎻掑叆瀛楃
+      let index = Math.floor(_value.length / 2)
+      _value = _value.slice(0, index) + salt + _value.slice(index)
+
+      // base64鍔犲瘑
+      return window.btoa(_value)
+    }
+
+    // 娉細LText 涓� LText1 椤哄簭棰犲��
+    return {
+      LText: encodesql(value.substring(5000, 10000)),
+      LText1: encodesql(value.substring(0, 5000)),
+      LText2: encodesql(value.substring(10000))
+    }
   }
 
   /**
@@ -870,10 +945,19 @@
         Delete @${item.sheet}
         
         aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg`
-      
-      let fsql = `${_sql}${_sqlInsert}${_sqlBottom}`
-      fsql = fsql.replace(/\n\s{8}/ig, '\n')
-      console.log(fsql)
+
+      if (window.GLOB.systemType !== 'official' && options.sysType !== 'cloud') {
+        let fsql = `
+        ${_sql}
+        ${_sqlInsert}
+        
+        /* excel鏁版嵁锛堝墠40鏉★級 */
+        ${_Ltext.slice(0, 40).join(' Union all ')}
+        ${_sqlBottom}
+        `
+        fsql = fsql.replace(/\n\s{8}/ig, '\n')
+        console.log(fsql)
+      }
     } else { // s_sDataDictb_excelIn 浜戠瀵嗛挜楠岃瘉鍙傛暟
       _sql = `
         /* 绯荤粺鐢熸垚 */
@@ -1492,8 +1576,11 @@
     _sql += `
         aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg`
 
-    _sql = _sql.replace(/\n\s{8}/ig, '\n')
-    console.log(_sql)
+    if (window.GLOB.systemType !== 'official' && options.sysType !== 'cloud') {
+      _sql = _sql.replace(/\n\s{8}/ig, '\n')
+      console.log(_sql)
+    }
+
     return _sql
   }
 }
\ No newline at end of file

--
Gitblit v1.8.0