From b465cb64b42d207ffd7865c87be531d249f379ee Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 11 七月 2025 17:20:58 +0800
Subject: [PATCH] yys  修改审批协同bug

---
 src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java |   32 +++++++++++++++++++++++++++++---
 1 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
index b6c37b3..04adc4b 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -64,18 +64,44 @@
     public List<ApproveNode> details(String id) {
         LambdaQueryWrapper<ApproveNode> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(ApproveNode::getApproveProcessId, id);
+        queryWrapper.eq(ApproveNode::getDeleteFlag, 0);
+        queryWrapper.eq(ApproveNode::getTenantId, SecurityUtils.getLoginUser().getTenantId());
         List<ApproveNode> list = list(queryWrapper);
         // 鎸夌収 approveNodeOrder 瀛楁鍗囧簭鎺掑簭
         list.sort(Comparator.comparingInt(ApproveNode::getApproveNodeOrder));
+        LambdaQueryWrapper<ApproveProcess> approveProcessLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        approveProcessLambdaQueryWrapper.eq(ApproveProcess::getApproveId, id)
+                .eq(ApproveProcess::getApproveDelete, 0)
+                .eq(ApproveProcess::getTenantId, SecurityUtils.getLoginUser().getTenantId())
+                .last("limit 1");
+        ApproveProcess approveProcess = approveProcessService.getOne(approveProcessLambdaQueryWrapper);
+        if(approveProcess != null && approveProcess.getApproveStatus() == 3){
+            return list;
+        }
+        for (ApproveNode approveNode : list) {
+            if(approveNode.getApproveNodeStatus() == 1){
+                continue;
+            }
+            approveNode.setIsShen(true);
+            break;
+        }
         return list;
     }
 
     @Override
     public void updateApproveNode(ApproveNode approveNode) {
-         approveProcessService.updateApproveProcessStatus(approveNode);
-
+        // 瀹℃壒鑺傜偣鐘舵��:1鍚屾剰锛�2鎷掔粷锛�0灏氭湭瀹℃牳
+        switch (approveNode.getApproveNodeStatus()){
+            case 1:
+                approveProcessService.updateApproveProcessStatus(approveNode, Boolean.TRUE.equals(approveNode.getIsLast()) ? 2 : 1);
+                break;
+            case 2:
+                approveProcessService.updateApproveProcessStatus(approveNode, 3);
+                break;
+            default:
+                break;
+        }
         approveNode.setApproveNodeTime(new Date());
-
         approveNodeMapper.updateById(approveNode);
     }
 

--
Gitblit v1.9.3