From 0594e539cbe8ac734377f148a87eb7812255ddc0 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 26 五月 2026 17:56:58 +0800
Subject: [PATCH] 审批代码迁移,   销售台账审批添加

---
 src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java |   47 +++++++++++++++++++++++++++--------------------
 1 files changed, 27 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
index e789024..d55250c 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -77,20 +77,7 @@
         }).collect(Collectors.toList());
         salesQuotationProductService.saveBatch(products);
         // 鎶ヤ环瀹℃壒
-        ApproveProcessVO approveProcessVO = new ApproveProcessVO();
-        approveProcessVO.setApproveType(6);
-        approveProcessVO.setApproveDeptId(loginUser.getCurrentDeptId());
-        approveProcessVO.setApproveReason(quotationNo);
-        approveProcessVO.setApproveUserIds(salesQuotationDto.getApproveUserIds());
-        approveProcessVO.setApproveUser(loginUser.getUserId());
-        approveProcessVO.setApproveTime(LocalDate.now().toString());
-        approveProcessVO.setPrice(salesQuotationDto.getTotalAmount());
-        try {
-            approveProcessService.addApprove(approveProcessVO);
-        }catch (Exception e){
-            log.error("SalesQuotationServiceImpl error:{}", e);
-            throw new RuntimeException("瀹℃壒澶辫触");
-        }
+        submitApprove(salesQuotationDto, salesQuotationDto.getQuotationNo(), SecurityUtils.getLoginUser());
         return true;
     }
     @Override
@@ -117,13 +104,33 @@
         }).collect(Collectors.toList());
 
         salesQuotationProductService.saveBatch(products);
-        // 淇敼鎶ヤ环瀹℃壒
-        vo.setApproveUserIds(salesQuotationDto.getApproveUserIds());
-        vo.setApproveType(6);
-        vo.setApproveReason(salesQuotationDto.getQuotationNo());
-        approveProcessService.updateApproveUser(vo);
+        // 淇敼鎶ヤ环瀹℃壒 涓嶅垹闄や箣鍓嶇殑鎶ヤ环瀹℃壒,鐩存帴缁撴潫,閲嶆柊鍙戣捣涓�涓鎵�
+        approveProcessService.lambdaUpdate()
+                .set(ApproveProcess::getApproveStatus, 4)
+                .eq(ApproveProcess::getApproveType, 6)
+                .eq(ApproveProcess::getApproveStatus, 0).or().eq(ApproveProcess::getApproveStatus, 1)
+                .eq(ApproveProcess::getRecordId, salesQuotationDto.getId()).update();
+        submitApprove(salesQuotationDto, salesQuotationDto.getQuotationNo(), SecurityUtils.getLoginUser());
         return true;
     }
+
+    private void submitApprove(SalesQuotationDto salesQuotationDto, String quotationNo, LoginUser loginUser) {
+        ApproveProcessVO approveProcessVO = new ApproveProcessVO();
+        approveProcessVO.setApproveType(6);
+        approveProcessVO.setApproveDeptId(loginUser.getCurrentDeptId());
+        approveProcessVO.setApproveReason(quotationNo);
+        approveProcessVO.setApproveUserIds(salesQuotationDto.getApproveUserIds());
+        approveProcessVO.setApproveUser(loginUser.getUserId());
+        approveProcessVO.setApproveTime(LocalDate.now().toString());
+        approveProcessVO.setPrice(salesQuotationDto.getTotalAmount());
+        try {
+            approveProcessService.addApprove(approveProcessVO);
+        }catch (Exception e){
+            log.error("SalesQuotationServiceImpl error:{}", e);
+            throw new RuntimeException("瀹℃壒澶辫触");
+        }
+    }
+
 
     @Override
     public QuotationRecordJSON importData(MultipartFile file, String approveUserIdsJson) {
@@ -147,4 +154,4 @@
     }
 
 
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3