From 6b7d0fd448738e8780c8b865d17d293a4251f9be Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 09 五月 2024 15:34:30 +0800
Subject: [PATCH] 2024-05-09

---
 src/utils/utils.js |  138 ++++++++++++++++++---------------------------
 1 files changed, 55 insertions(+), 83 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index d151843..64d2720 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -2151,6 +2151,10 @@
     let detailId = ''
     let error = ''
     let userid = sessionStorage.getItem('UserID') || ''
+    let checkIds = []
+    let checkUsers = []
+    let noticeIds = []
+    let work_grade = sessionStorage.getItem('work_grade') || 0
 
     if (verify.flowType === 'start') {
       target = flow.cells.filter(cell => cell.mknode === 'start')[0]
@@ -2174,22 +2178,10 @@
         if (verify.flowType === 'reject') {
           line = lines.filter(cell => cell.mkdata.flowType === 'reject' || cell.mknode === 'startEdge')[0]
         } else {
-          let endEdge = null
-          lines = lines.filter(cell => {
-            if (cell.mknode === 'endEdge') {
-              endEdge = cell
-              return false
-            }
-
-            return cell.mkdata.flowType !== 'reject' && cell.mknode !== 'startEdge'
-          })
+          lines = lines.filter(cell => cell.mkdata.flowType !== 'reject' && cell.mknode !== 'startEdge')
 
           if (lines.length === 0) {
-            if (!endEdge) {
-              error = '鏃犲彲鎵ц鐨勬祦绋嬪垎鏀�'
-            } else {
-              line = endEdge
-            }
+            error = '鏃犲彲鎵ц鐨勬祦绋嬪垎鏀�'
           } else {
             let branchKey = verify.flowBranch ? verify.flowBranch.toLowerCase() : ''
 
@@ -2197,7 +2189,7 @@
               let _key = form.key.toLowerCase()
               _data[_key] = form.value
             })
-  
+
             if (!branchKey) {
               lines.forEach(line => {
                 if (line.mkdata.execCondition === 'open') {
@@ -2210,10 +2202,6 @@
             } else if (!_data.hasOwnProperty(branchKey)) {
               error = '淇℃伅涓棤娴佺▼鎺у埗瀛楁銆�'
             } else {
-              if (endEdge) {
-                line = endEdge
-              }
-
               let equalLine = null
               let gtOrLtLine = []
               let unEqualLine = null
@@ -2277,6 +2265,34 @@
         status = line.mkdata.status
         statusName = line.mkdata.statusName
         target = flow.cells.filter(cell => cell.id === line.target.cell)[0]
+
+        line.mkdata.members && line.mkdata.members.forEach(item => {
+          if (line.mkdata.approver === 'departmentManager') {
+            if (item.job_type === 'manage' && departmentcode === item.parentIds[1]) {
+              checkIds.push(item.worker_id)
+              checkUsers.push(item)
+            }
+          } else if (line.mkdata.approver === 'directManager') {
+            if (departmentcode === item.parentIds[1] && item.work_grade > work_grade) {
+              checkIds.push(item.worker_id)
+              checkUsers.push(item)
+            }
+          } else {
+            checkIds.push(item.worker_id)
+            checkUsers.push(item)
+          }
+        })
+        line.mkdata.copys && line.mkdata.copys.forEach(item => {
+          noticeIds.push(item.worker_id)
+        })
+
+        if (!target) {
+          error = '鏈煡璇㈠埌宸ヤ綔娴佺洰鏍囪妭鐐�'
+        } else if (checkIds.length === 0 && line.mknode !== 'startEdge' && line.mknode !== 'endEdge') {
+          error = '鏈幏鍙栧埌涓嬩竴姝ュ鎵逛汉'
+        } else if (line.approvalMethod === 'countersign' && (!node.checkIds || !node.checkIds.includes(userid))) {
+          error = '褰撳墠鐢ㄦ埛涓嶅湪瀹℃壒浜哄垪琛ㄤ腑'
+        }
       } else if (!error) {
         error = '宸ヤ綔娴佷腑鏃犲搴旀祦绋�'
       }
@@ -2292,26 +2308,20 @@
       /* 宸ヤ綔娴佸紓甯竤ql */
       select @ErrorCode='E',@retmsg='${error}' goto aaa
       `
-    } else if (verify.flowSql === 'true' && target) {
+    } else if (verify.flowSql === 'true') {
       if (verify.flowType === 'start') {
         _sql += `
       /* 宸ヤ綔娴侀粯璁ql */
       insert into s_my_works_flow (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,work_group,works_flow_detail_id,work_grade,bid,createuserid,CreateUser,CreateStaff,upid)
       select @ID@,@works_flow_code@,@works_flow_name@,@works_flow_param@,@status@,@statusname@,@work_group@,@works_flow_detail_id@,@work_grade@,@bid@,@UserID@,@UserName,@FullName,@time_id@
-      insert into s_my_works_flow_log (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,works_flow_detail_id,work_group,work_grade,upid)
-      select @ID@,@works_flow_code@,@works_flow_name@ ,@works_flow_param@,@status@,@statusname@,@works_flow_detail_id@,@work_group@,@work_grade@,@time_id@
+      insert into s_my_works_flow_log (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,works_flow_detail_id,work_group,work_grade,bid,createuserid,CreateUser,CreateStaff,upid)
+      select @ID@,@works_flow_code@,@works_flow_name@ ,@works_flow_param@,@status@,@statusname@,@works_flow_detail_id@,@work_group@,@work_grade@,@bid@,@UserID@,@UserName,@FullName,@time_id@
       insert into s_my_works_flow_notice (works_flow_id,works_flow_code,works_flow_detail_id,userid,notice_type,createuserid,CreateUser,CreateStaff,upid)
       select @ID@,@works_flow_code@,@works_flow_detail_id@,@userid@,@start_type@,@userid@,@UserName,@FullName,@time_id@
+      insert into s_my_works_flow_role (works_flow_id,works_flow_code,userid,works_flow_detail_id,createuserid,CreateUser,CreateStaff,upid,typecharone)
+      select @ID@,@works_flow_code@,@userid@,@works_flow_detail_id@,@userid@,@UserName,@FullName,@time_id@,'begin'
       `
-      } else if (line && line.approvalMethod === 'countersign' && (!node.checkIds || !node.checkIds.includes(userid))) {
-        status = 0
-        statusName = '寮傚父'
-
-        _sql += `
-        /* 宸ヤ綔娴佸紓甯竤ql */
-        select @ErrorCode='E',@retmsg='褰撳墠鐢ㄦ埛涓嶅湪瀹℃壒浜哄垪琛ㄤ腑' goto aaa
-        `
-      } else if (line && line.approvalMethod === 'countersign' && node.checkIds.length > 1) {
+      } else if (line.approvalMethod === 'countersign' && node.checkIds.length > 1) {
         let label = ''
         let field = ''
         let mark = line.mark || '宸插鏍�'
@@ -2351,11 +2361,11 @@
 
       if @works_flow_key_status='Y'
       begin
-            update s_my_works_flow set ${field}=${label},status=@status@,statusname=@statusname@,works_flow_param=@works_flow_param@,works_flow_detail_id=@works_flow_detail_id@,modifydate=getdate(),upid=@time_id@,modifyuserid=@userid@,modifyuser=@username,modifystaff=@fullname
+            update s_my_works_flow set ${field}=${label},status=@status@,statusname=@statusname@,works_flow_param=@works_flow_param@,works_flow_detail_id=@works_flow_detail_id@,modifydate=getdate(),upid=@time_id@,modifyuserid=@userid@,modifyuser=@username,modifystaff=@fullname${verify.flowRemark ? ',remark=@' + verify.flowRemark : ''}
             where id=@works_flow_key_id
 
-            insert into s_my_works_flow_log (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,works_flow_detail_id,work_group,work_grade,upid,${field})
-            select @ID@,@works_flow_code@,@works_flow_name@ ,@works_flow_param@,@status@,@statusname@,@works_flow_detail_id@,@work_group@,@work_grade@,@time_id@,${label}
+            insert into s_my_works_flow_log (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,works_flow_detail_id,work_group,work_grade,bid,createuserid,CreateUser,CreateStaff,upid${verify.flowRemark ? ',remark' : ''},${field})
+            select @ID@,@works_flow_code@,@works_flow_name@ ,@works_flow_param@,@status@,@statusname@,@works_flow_detail_id@,@work_group@,@work_grade@,@bid@,@UserID@,@UserName,@FullName,@time_id@${verify.flowRemark ? ',@' + verify.flowRemark : ''},${label}
             
             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
@@ -2380,11 +2390,11 @@
       end
       else
       begin
-            update s_my_works_flow set ${field}=${label},modifydate=getdate(),upid=@time_id@,modifyuserid=@userid@,modifyuser=@username,modifystaff=@fullname
+            update s_my_works_flow set ${field}=${label},modifydate=getdate(),upid=@time_id@,modifyuserid=@userid@,modifyuser=@username,modifystaff=@fullname${verify.flowRemark ? ',remark=@' + verify.flowRemark : ''}
             where id =@works_flow_key_id
 
-            insert into s_my_works_flow_log (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,works_flow_detail_id,work_group,work_grade,upid,${field})
-            select @ID@,@works_flow_code@,@works_flow_name@ ,@s_my_works_flow_log_param,@s_my_works_flow_log_status,@s_my_works_flow_log_statusname,@s_my_works_flow_log_detail_id,@work_group@,@work_grade@,@time_id@,${label}
+            insert into s_my_works_flow_log (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,works_flow_detail_id,work_group,work_grade,bid,createuserid,CreateUser,CreateStaff,upid${verify.flowRemark ? ',remark' : ''},${field})
+            select @ID@,@works_flow_code@,@works_flow_name@ ,@s_my_works_flow_log_param,@s_my_works_flow_log_status,@s_my_works_flow_log_statusname,@s_my_works_flow_log_detail_id,@work_group@,@work_grade@,@bid@,@UserID@,@UserName,@FullName,@time_id@${verify.flowRemark ? ',@' + verify.flowRemark : ''},${label}
           
             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 and userid =@userid@
@@ -2411,13 +2421,16 @@
       end
       set @retmsg=''
 
-      update s_my_works_flow set status=@status@,statusname=@statusname@,works_flow_param=@works_flow_param@,works_flow_detail_id=@works_flow_detail_id@,modifydate=getdate(),upid=@time_id@,modifyuserid=@userid@,modifyuser=@username,modifystaff=@fullname
+      update s_my_works_flow set status=@status@,statusname=@statusname@,works_flow_param=@works_flow_param@,works_flow_detail_id=@works_flow_detail_id@,modifydate=getdate(),upid=@time_id@,modifyuserid=@userid@,modifyuser=@username,modifystaff=@fullname${verify.flowRemark ? ',remark=@' + verify.flowRemark : ''}
       where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and deleted=0
-      insert into s_my_works_flow_log (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,works_flow_detail_id,work_group,work_grade,upid)
-      select @ID@,@works_flow_code@,@works_flow_name@ ,@works_flow_param@,@status@,@statusname@,@works_flow_detail_id@,@work_group@,@work_grade@,@time_id@
+      insert into s_my_works_flow_log (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,works_flow_detail_id,work_group,work_grade,bid,createuserid,CreateUser,CreateStaff,upid${verify.flowRemark ? ',remark' : ''})
+      select @ID@,@works_flow_code@,@works_flow_name@ ,@works_flow_param@,@status@,@statusname@,@works_flow_detail_id@,@work_group@,@work_grade@,@bid@,@UserID@,@UserName,@FullName,@time_id@${verify.flowRemark ? ',@' + verify.flowRemark : ''}
       
       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 
+      where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and typecharone='begin'` : ''}
 
       if @check_userids@ != ''
       begin
@@ -2438,51 +2451,10 @@
       end
       `
       }
-    } else if (verify.flowSql === 'true') {
-      status = 0
-      statusName = '寮傚父'
-
-      _sql += `
-      /* 宸ヤ綔娴佸紓甯竤ql */
-      select @ErrorCode='E',@retmsg='${error || '宸ヤ綔娴佹墽琛屽紓甯�'}' goto aaa
-      `
     }
 
-    let checkIds = []
-    let checkUsers = []
-    let work_grade = sessionStorage.getItem('work_grade') || 0
-    if (verify.flowType !== 'start') {
-      if (line) {
-        let noticeIds = []
-        line.mkdata.members && line.mkdata.members.forEach(item => {
-          if (line.mkdata.approver === 'departmentManager') {
-            if (item.job_type === 'manage' && departmentcode === item.parentIds[1]) {
-              checkIds.push(item.worker_id)
-              checkUsers.push(item)
-            }
-          } else if (line.mkdata.approver === 'directManager') {
-            if (departmentcode === item.parentIds[1] && item.work_grade > work_grade) {
-              checkIds.push(item.worker_id)
-              checkUsers.push(item)
-            }
-          } else {
-            checkIds.push(item.worker_id)
-            checkUsers.push(item)
-          }
-        })
-        line.mkdata.copys && line.mkdata.copys.forEach(item => {
-          noticeIds.push(item.worker_id)
-        })
-        _sql = _sql.replace(/@check_userids@/ig, `'${checkIds.join(',')}'`)
-        _sql = _sql.replace(/@notice_userids@/ig, `'${noticeIds.join(',')}'`)
-      } else {
-        _sql = _sql.replace(/@check_userids@/ig, `''`)
-        _sql = _sql.replace(/@notice_userids@/ig, `''`)
-      }
-    } else {
-      _sql = _sql.replace(/@check_userids@/ig, `''`)
-      _sql = _sql.replace(/@notice_userids@/ig, `''`)
-    }
+    _sql = _sql.replace(/@check_userids@/ig, `'${checkIds.join(',')}'`)
+    _sql = _sql.replace(/@notice_userids@/ig, `'${noticeIds.join(',')}'`)
 
     _sql = _sql.replace(/@start_type@/ig, `'寮�濮�'`)
     _sql = _sql.replace(/@check_type@/ig, verify.flowType === 'reject' ? `'椹冲洖'` : `'瀹℃牳'`)

--
Gitblit v1.8.0