From 1d2465f8fc1c63ab8d1b01cd379f17c2b94be78f Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 25 五月 2026 13:09:10 +0800
Subject: [PATCH] fix(sales): 修复报价审批流程中的状态更新和查询逻辑

---
 src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java |   39 +++++++++++++++++++++++++++++----------
 1 files changed, 29 insertions(+), 10 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 c8f0b15..10f4df8 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -8,7 +8,6 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.approve.pojo.ApproveProcess;
 import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
-import com.ruoyi.approve.vo.ApproveGetAndUpdateVo;
 import com.ruoyi.approve.vo.ApproveProcessVO;
 import com.ruoyi.basic.mapper.CustomerMapper;
 import com.ruoyi.basic.mapper.ProductModelMapper;
@@ -113,11 +112,22 @@
     public boolean edit(SalesQuotationDto salesQuotationDto) {
         SalesQuotation salesQuotation = new SalesQuotation();
         BeanUtils.copyProperties(salesQuotationDto, salesQuotation);
-        ApproveGetAndUpdateVo vo = new ApproveGetAndUpdateVo();
-        if ("鎷掔粷".equals(salesQuotationDto.getStatus())) {
-            vo.setApproveStatus(0);
-            salesQuotation.setStatus("寰呭鎵�");
-        }
+//        if ("鎷掔粷".equals(salesQuotationDto.getStatus())) {
+//            vo.setApproveStatus(0);
+//            salesQuotation.setStatus("寰呭鎵�");
+//        }
+        //缂栬緫灏嗗鎵规敼涓哄緟瀹℃壒
+        salesQuotation.setStatus("寰呭鎵�");
+        //灏嗕箣鍓嶆湭瀹℃壒鐨勭粨鏉�
+        LambdaQueryWrapper<ApproveProcess> approveProcessLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        approveProcessLambdaQueryWrapper.eq(ApproveProcess::getApproveType, 6)
+                .eq(ApproveProcess::getApproveReason, salesQuotationDto.getQuotationNo());
+        List<ApproveProcess> approveProcesss = approveProcessService.list(approveProcessLambdaQueryWrapper);
+        approveProcesss.forEach(approveProcess -> {
+            approveProcess.setApproveStatus(4);
+        });
+        approveProcessService.updateBatchById(approveProcesss);
+
         if (salesQuotationMapper.updateById(salesQuotation) != 1) {
             return false;
         }
@@ -134,10 +144,19 @@
 
         salesQuotationProductService.saveBatch(products);
         // 淇敼鎶ヤ环瀹℃壒
-        vo.setApproveUserIds(salesQuotationDto.getApproveUserIds());
-        vo.setApproveType(6);
-        vo.setApproveReason(salesQuotationDto.getQuotationNo());
-        approveProcessService.updateApproveUser(vo);
+        ApproveProcessVO approveProcessVO = new ApproveProcessVO();
+        approveProcessVO.setApproveType(6);
+        approveProcessVO.setApproveDeptId(SecurityUtils.getLoginUser().getCurrentDeptId());
+        approveProcessVO.setApproveReason(salesQuotation.getQuotationNo());
+        approveProcessVO.setApproveUserIds(salesQuotationDto.getApproveUserIds());
+        approveProcessVO.setApproveUser(SecurityUtils.getUserId());
+        approveProcessVO.setApproveTime(LocalDate.now().toString());
+        approveProcessVO.setPrice(salesQuotationDto.getTotalAmount());
+        try {
+            approveProcessService.addApprove(approveProcessVO);
+        }catch (Exception e){
+            log.error("SalesQuotationServiceImpl error:{}", e);
+        }
         return true;
     }
 

--
Gitblit v1.9.3