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 |   66 +++++++++++++++++++--------------
 1 files changed, 38 insertions(+), 28 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 f5ea4e4..d55250c 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -4,20 +4,17 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
-import com.ruoyi.approve.pojo.ApproveProcess;
-import com.ruoyi.approve.service.IApproveProcessService;
-import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
 import com.ruoyi.approve.bean.vo.ApproveGetAndUpdateVo;
 import com.ruoyi.approve.bean.vo.ApproveProcessVO;
-import com.ruoyi.basic.dto.CustomerPrivatePoolDto;
-import com.ruoyi.basic.mapper.CustomerPrivatePoolMapper;
+import com.ruoyi.approve.pojo.ApproveProcess;
+import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
 import com.ruoyi.common.utils.OrderUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
-import com.ruoyi.common.utils.uuid.UUID;
 import com.ruoyi.framework.security.LoginUser;
+import com.ruoyi.sales.dto.QuotationRecordJSON;
 import com.ruoyi.sales.dto.SalesQuotationDto;
 import com.ruoyi.sales.mapper.SalesQuotationMapper;
 import com.ruoyi.sales.mapper.SalesQuotationProductMapper;
@@ -26,9 +23,9 @@
 import com.ruoyi.sales.service.SalesQuotationProductService;
 import com.ruoyi.sales.service.SalesQuotationService;
 import org.springframework.beans.factory.annotation.Autowired;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.time.LocalDate;
 import java.util.Collections;
@@ -80,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
@@ -120,13 +104,39 @@
         }).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) {
+        return null;
+    }
+
     @Override
     public boolean delete(Long id) {
         SalesQuotation salesQuotation = salesQuotationMapper.selectById(id);
@@ -144,4 +154,4 @@
     }
 
 
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3