From 1d68d2eec415e5f4ef508033ded1dbead1d300ae Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期四, 09 四月 2026 14:12:39 +0800
Subject: [PATCH] feat(staff): 支持默认密码设置并完善用户信息关联

---
 src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 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 f181ea0..74fa7a4 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -2,6 +2,7 @@
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -17,9 +18,11 @@
 import com.ruoyi.common.utils.uuid.UUID;
 import com.ruoyi.framework.security.LoginUser;
 import com.ruoyi.sales.dto.SalesQuotationDto;
+import com.ruoyi.sales.mapper.SalesQuotationFileMapper;
 import com.ruoyi.sales.mapper.SalesQuotationMapper;
 import com.ruoyi.sales.mapper.SalesQuotationProductMapper;
 import com.ruoyi.sales.pojo.SalesQuotation;
+import com.ruoyi.sales.pojo.SalesQuotationFile;
 import com.ruoyi.sales.pojo.SalesQuotationProduct;
 import com.ruoyi.sales.service.SalesQuotationProductService;
 import com.ruoyi.sales.service.SalesQuotationService;
@@ -29,6 +32,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDate;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -44,6 +48,9 @@
 
     @Autowired
     private ApproveProcessServiceImpl approveProcessService;
+    @Autowired
+    private SalesQuotationFileMapper salesQuotationFileMapper;
+
     @Override
     public IPage<SalesQuotationDto> listPage(Page page, SalesQuotationDto salesQuotationDto) {
         IPage<SalesQuotationDto> salesQuotationDtoIPage = salesQuotationMapper.listPage(page, salesQuotationDto);
@@ -53,6 +60,7 @@
         salesQuotationDtoIPage.getRecords().forEach(record -> {
             List<SalesQuotationProduct> products = salesQuotationProductMapper.selectBySalesQuotationId(record.getId());
             record.setProducts(products);
+            record.setFiles(salesQuotationFileMapper.selectList(new QueryWrapper<SalesQuotationFile>().lambda().eq(SalesQuotationFile::getSalesQuotationId, record.getId())));
         });
         return salesQuotationDtoIPage;
     }
@@ -91,6 +99,10 @@
             log.error("SalesQuotationServiceImpl error:{}", e);
             throw new RuntimeException("瀹℃壒澶辫触");
         }
+        for (SalesQuotationFile file : salesQuotationDto.getFiles()) {
+            file.setSalesQuotationId(salesQuotation.getId());
+            salesQuotationFileMapper.insert(file);
+        }
         return true;
     }
     @Override
@@ -122,12 +134,27 @@
         vo.setApproveType(6);
         vo.setApproveReason(salesQuotationDto.getQuotationNo());
         approveProcessService.updateApproveUser(vo);
+        for (SalesQuotationFile file : salesQuotationDto.getFiles()) {
+            if (file.getId() == null) {
+                file.setSalesQuotationId(salesQuotation.getId());
+                salesQuotationFileMapper.insert(file);
+            }
+        }
         return true;
     }
     @Override
     public boolean delete(Long id) {
+        SalesQuotation salesQuotation = salesQuotationMapper.selectById(id);
+        if(salesQuotation==null) return false;
         salesQuotationMapper.deleteById(id);
         salesQuotationProductMapper.delete(new LambdaQueryWrapper<SalesQuotationProduct>().eq(SalesQuotationProduct::getSalesQuotationId, id));
+        // 鍒犻櫎鎶ヤ环瀹℃壒
+        ApproveProcess one = approveProcessService.getOne(new LambdaQueryWrapper<ApproveProcess>()
+                .eq(ApproveProcess::getApproveType, 6)
+                .eq(ApproveProcess::getApproveReason, salesQuotation.getQuotationNo()));
+        if(one != null){
+            approveProcessService.delByIds(Collections.singletonList(one.getId()));
+        }
         return true;
     }
 

--
Gitblit v1.9.3