From 5088d267c69e87673c85ba302dd9dc62c9da4951 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期日, 16 二月 2020 18:54:49 +0800
Subject: [PATCH] 2020-02-16

---
 src/utils/utils.js |  136 +++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 124 insertions(+), 12 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index 3bf9737..9994fd0 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -517,9 +517,10 @@
         return `'${val}' as ${col.Column}`
       })
 
-      if (!item.innerFunc) {
-        vals.push(`@upid+'${this.getuuid()}' as jskey`)
-      }
+      let _lineIndex = '0000' + (lindex + 1) + '0'
+      _lineIndex = _lineIndex.substring(_lineIndex.length - 6)
+
+      vals.push(`@upid+'${_lineIndex}' as jskey`)
 
       return `Select ${vals.join(',')}`
     })
@@ -528,10 +529,9 @@
 
     let _sql = ''
 
-    if (!item.innerFunc) {
+    if (item.intertype === 'inner' && !item.innerFunc) {
       let declarefields = []
       let fields = []
-      let timestamp = new Date().getTime()
 
       btn.columns.forEach(col => {
         declarefields.push(`${col.Column} ${col.type}`)
@@ -541,10 +541,13 @@
       fields = fields.join(',')
 
       _sql = `declare @${btn.sheet} table (${declarefields.join(',')},jskey nvarchar(50) )
-      Declare @UserName nvarchar(50),@FullName nvarchar(50) ,@upid nvarchar(50)
+      Declare @UserName nvarchar(50),@FullName nvarchar(50) ,@upid nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000)
+
+      Select  @ErrorCode='', @retmsg=''
+      
       select @UserName=UserName,@FullName=FullName from SUsers where UID=@UserID@
       
-      set @upid='${timestamp}'
+      set @upid='${this.getuuid()}'
      
       Insert into  @${btn.sheet} (${fields},jskey)
       ${_Ltext}
@@ -552,7 +555,9 @@
       Insert into ${btn.sheet} (${fields},createuserid,createuser,createstaff,bid,upid) 
       Select ${fields},@userid@,@username,@fullname,@BID@,@upid From @${btn.sheet}
 
-      Delete @${btn.sheet}`
+      Delete @${btn.sheet}
+
+      aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg`
 
     } else {
       _sql = _Ltext
@@ -866,8 +871,14 @@
 
     let primaryKeyName = ['id', 'bid', 'loginuid', 'sessionuid', 'userid', 'appkey'].includes(primaryKey.toLowerCase()) ? primaryKey + '@' : primaryKey
 
+    let _actionType = null
+
+    if (verify.default !== 'false') { // 鍒ゆ柇鏄惁浣跨敤榛樿sql
+      _actionType = btn.sqlType
+    }
+
     // 娣诲姞銆佷慨鏀广�侀�昏緫鍒犻櫎銆佺墿鐞嗗垹闄�
-    if (btn.OpenType === 'pop' && btn.sqlType === 'insert' && verify.default !== 'false') {
+    if (_actionType === 'insert') {
       let keys = []
       let values = []
 
@@ -909,7 +920,7 @@
       values = values.join(',')
       _sql += _user
       _sql += `insert into ${btn.sql} (${keys}) select ${values};`
-    } else if (btn.OpenType === 'pop' && btn.sqlType === 'update' && verify.default !== 'false') {
+    } else if (_actionType === 'update') {
       let _form = []
       let _arr = []
 
@@ -945,9 +956,10 @@
 
       _form = _form.join(',')
       _sql += `update ${btn.sql} set ${_form} where ${primaryKey}=@${primaryKeyName};`
-    } else if ((btn.OpenType === 'prompt' || btn.OpenType === 'exec') && btn.sqlType === 'LogicDelete' && verify.default !== 'false') { // 閫昏緫鍒犻櫎
+    } else if (_actionType === 'LogicDelete') { // 閫昏緫鍒犻櫎
       _sql += `update ${btn.sql} set deleted=1,modifydate=getdate(),modifyuserid=@userid@ where ${primaryKey}=@${primaryKeyName};`
-    } else if ((btn.OpenType === 'prompt' || btn.OpenType === 'exec') && btn.sqlType === 'delete' && verify.default !== 'false') {      // 鐗╃悊鍒犻櫎
+    
+    } else if (_actionType === 'delete') {      // 鐗╃悊鍒犻櫎
       let _msg = ''
       if (data && logcolumns && logcolumns.length > 0) {
         let _index = 0
@@ -1258,4 +1270,104 @@
 
     return Ltext
   }
+
+  /**
+   * @description 鍒涘缓瀵煎叆瀛樺偍杩囩▼
+   * @return {String}
+   */
+  static getexcelInfunc (param, btn, menu) {
+    let _verify = btn.verify
+
+    let declarefields = []
+    let fields = []
+
+    _verify.columns.forEach(col => {
+      declarefields.push(`${col.Column} ${col.type}`)
+      fields.push(col.Column)
+    })
+
+    fields = fields.join(',')
+
+    let _sql = `declare @${_verify.sheet} table (${declarefields.join(',')},jskey nvarchar(50) )
+      Declare @UserName nvarchar(50),@FullName nvarchar(50),@upid nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000)
+      
+      Select @ErrorCode='',@retmsg=''
+
+      select @UserName=UserName,@FullName=FullName from SUsers where UID=@UserID@
+      
+      set @upid='鏃堕棿鎴�'
+      
+      Insert into @${_verify.sheet} (${fields},jskey)
+
+      exec s_KeyWords_Replace 
+      @LText=@LText, @BID=@BID,@LoginUID=@LoginUID,@SessionUid=@SessionUid,@UserID=@UserID,@ID=@ID
+
+      Insert into ${_verify.sheet} (${fields},createuserid,createuser,createstaff,bid,upid) 
+      Select ${fields},@userid@,@username,@fullname,@BID@,@upid From @${_verify.sheet}
+
+      Delete @${_verify.sheet}
+      
+      aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg`
+
+    let Ltext = `create proc ${param.funcName}
+    ( /*${menu.MenuName}  ${btn.label}*/
+      @ID nvarchar(50)='',
+      @BID  nvarchar(50)='',
+      @Ltext nvarchar(max)='',
+      @sEPTMenuNo nvarchar(50)='${param.menuNo}', 
+      @lang nvarchar(50)='',
+      @LoginUID nvarchar(50)='',
+      @SessionUid nvarchar(50)='',
+      @UserID nvarchar(50), 
+      @ErrorCode  nvarchar(50) out,
+      @retmsg nvarchar(4000) out
+    )
+    as
+    begin
+    declare @sEPTMenuNo ,@Begindate datetime,@Enddate datetime
+    select @sEPTMenuNo=@retmsg,@Begindate=getdate()
+    set @ErrorCode=''
+    set @retmsg=''
+    BEGIN TRY
+      /*浜嬪姟鎿嶄綔*/
+      BEGIN TRAN
+        /*鍏蜂綋涓氬姟鎿嶄綔*/
+
+        /* 
+        ${_sql}
+        */
+        
+      COMMIT TRAN
+      SET NOCOUNT ON
+      RETURN
+    END TRY
+    BEGIN CATCH
+      /*閿欒澶勭悊*/
+      ROLLBACK TRAN
+      DECLARE @ErrorMessage NVARCHAR(4000);
+      DECLARE @ErrorSeverity INT;
+      DECLARE @ErrorState INT;
+      
+      /*鎶婅嚜瀹氫箟鐨勫弸濂界殑閿欒淇℃伅鎻愮ず鍔犱笂*/
+      set @ErrorCode=cast(ERROR_NUMBER() as nvarchar(50))
+      SET @retmsg=ERROR_MESSAGE();
+      SELECT @ErrorMessage=ERROR_MESSAGE(),
+        @ErrorSeverity=ERROR_SEVERITY(),
+        @ErrorState=ERROR_STATE();
+        
+      RAISERROR(@ErrorMessage, /*-- Message text.*/
+        @ErrorSeverity, /*-- Severity.*/
+        @ErrorState  /*-- State.*/
+      );
+    END CATCH
+    
+    GOTO_RETURN:
+      ROLLBACK TRAN
+      
+    END`
+
+    Ltext = Ltext.replace(/\n\s{4}/ig, 'mchr13k')
+
+    return Ltext
+  }
 }
\ No newline at end of file

--
Gitblit v1.8.0