From bdaeaa452c0a17c045467578502867e6fa245dd4 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 22 六月 2026 13:34:48 +0800
Subject: [PATCH] 判断模板是否存在

---
 src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java |   36 ++++++++++++++++++++++++++++++------
 1 files changed, 30 insertions(+), 6 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 5e31cfa..1b706d6 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -18,6 +18,7 @@
 import com.ruoyi.basic.mapper.CustomerMapper;
 import com.ruoyi.basic.pojo.Customer;
 import com.ruoyi.common.enums.IsDeleteEnum;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.OrderUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
@@ -30,6 +31,7 @@
 import com.ruoyi.sales.service.SalesQuotationProductService;
 import com.ruoyi.sales.service.SalesQuotationService;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -40,6 +42,7 @@
 @Service
 @Transactional(rollbackFor = Exception.class)
 @RequiredArgsConstructor
+@Slf4j
 public class SalesQuotationServiceImpl extends ServiceImpl<SalesQuotationMapper, SalesQuotation> implements SalesQuotationService {
     private final SalesQuotationProductMapper salesQuotationProductMapper;
     private final SalesQuotationMapper salesQuotationMapper;
@@ -85,9 +88,14 @@
         SalesQuotation salesQuotation = new SalesQuotation();
         BeanUtils.copyProperties(salesQuotationDto, salesQuotation);
         salesQuotation.setId(null);
-        Customer customer = customerMapper.selectById(Long.valueOf(salesQuotationDto.getCustomerId()));
-        if (ObjectUtils.isNotEmpty(customer))  {
+        if (salesQuotationDto.getCustomerId() == null) {
+            throw new ServiceException("璇烽�夋嫨瀹㈡埛");
+        }
+        Customer customer = customerMapper.selectById(salesQuotationDto.getCustomerId());
+        if (ObjectUtils.isNotEmpty(customer)) {
             salesQuotation.setCustomer(customer.getCustomerName());
+        } else {
+            throw new ServiceException("瀹㈡埛涓嶅瓨鍦�");
         }
         String quotationNo = OrderUtils.countTodayByCreateTime(salesQuotationMapper, "QT","quotation_no", salesQuotationDto.getCreateTime() != null ? salesQuotationDto.getCreateTime() : LocalDateTime.now());
         salesQuotation.setQuotationNo(quotationNo);
@@ -104,9 +112,17 @@
         }).collect(Collectors.toList());
         salesQuotationProductService.saveBatch(products);
         // 鎶ヤ环瀹℃壒
+        ApprovalTemplate approvalTemplate = approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>()
+                .eq(ApprovalTemplate::getBusinessType, 6L)
+                .eq(ApprovalTemplate::getDeleted, 0)
+                .orderByDesc(ApprovalTemplate::getId)
+                .last("LIMIT 1"));
+        if (approvalTemplate == null) {
+            throw new ServiceException("璇峰厛閰嶇疆鎶ヤ环瀹℃壒妯℃澘");
+        }
         ApprovalInstanceDto approvalInstance = new ApprovalInstanceDto();
-        approvalInstance.setTemplateId(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getId());
-        approvalInstance.setTemplateName(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getTemplateName());
+        approvalInstance.setTemplateId(approvalTemplate.getId());
+        approvalInstance.setTemplateName(approvalTemplate.getTemplateName());
         approvalInstance.setBusinessId(salesQuotation.getId());
         approvalInstance.setBusinessType(6L);
         approvalInstance.setCurrentLevel(1);
@@ -150,9 +166,17 @@
         // 鍏堢粨鏉熶箣鍓嶆湭缁撴潫鐨勬姤浠峰鎵�
         approvalInstanceService.lambdaUpdate().set(ApprovalInstance::getStatus,"REJECTED").eq(ApprovalInstance::getBusinessId,salesQuotation.getId()).eq(ApprovalInstance::getBusinessType,6L).update();
 
+        ApprovalTemplate approvalTemplate = approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>()
+                .eq(ApprovalTemplate::getBusinessType, 6L)
+                .eq(ApprovalTemplate::getDeleted, 0)
+                .orderByDesc(ApprovalTemplate::getId)
+                .last("LIMIT 1"));
+        if (approvalTemplate == null) {
+            throw new ServiceException("璇峰厛閰嶇疆鎶ヤ环瀹℃壒妯℃澘");
+        }
         ApprovalInstanceDto approvalInstance = new ApprovalInstanceDto();
-        approvalInstance.setTemplateId(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getId());
-        approvalInstance.setTemplateName(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getTemplateName());
+        approvalInstance.setTemplateId(approvalTemplate.getId());
+        approvalInstance.setTemplateName(approvalTemplate.getTemplateName());
         approvalInstance.setBusinessId(salesQuotation.getId());
         approvalInstance.setBusinessType(6L);
         approvalInstance.setCurrentLevel(1);

--
Gitblit v1.9.3