From 06e621b20868b97ca7a7f9c63df2f160a827bf6a Mon Sep 17 00:00:00 2001
From: zhangback <zhangback@163.com>
Date: 星期四, 20 十一月 2025 20:36:10 +0800
Subject: [PATCH] 提交

---
 tms/src/main/java/com/ruoyi/tms/service/impl/TmsQuoteDetailServiceImpl.java |   86 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 85 insertions(+), 1 deletions(-)

diff --git a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsQuoteDetailServiceImpl.java b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsQuoteDetailServiceImpl.java
index b0301ea..580ef51 100644
--- a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsQuoteDetailServiceImpl.java
+++ b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsQuoteDetailServiceImpl.java
@@ -2,8 +2,16 @@
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.common.enums.SystemDataNoEnum;
 import com.ruoyi.common.utils.DateUtils;
 import javax.annotation.Resource;
+
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.system.service.ISystemDataNoService;
+import com.ruoyi.tms.domain.TmsQuotePlan;
+import com.ruoyi.tms.mapper.TmsQuotePlanMapper;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.stereotype.Service;
 import org.springframework.scheduling.annotation.Async;
@@ -34,7 +42,10 @@
     @Resource
     private TmsQuoteDetailMapper tmsQuoteDetailMapper;
 
-
+    @Resource
+    private TmsQuotePlanMapper tmsQuotePlanMapper;
+    @Autowired
+    ISystemDataNoService systemDataNoService;
     /**
      * 鏌ヨ鎶ヤ环鏄庣粏
      *
@@ -102,7 +113,47 @@
     @Override
     public int insertTmsQuoteDetail(TmsQuoteDetail tmsQuoteDetail)
     {
+        Integer quotePlanId = tmsQuoteDetail.getQuotePlanId();
+        if (quotePlanId == null){
+            throw new RuntimeException("璇峰厛閫夋嫨鎶ヤ环鏂规涓嶈兘涓虹┖");
+        }
+        TmsQuotePlan tmsQuotePlan = tmsQuotePlanMapper.selectTmsQuotePlanById(quotePlanId);
+        if (tmsQuotePlan == null){
+            throw new RuntimeException("鎶ヤ环鏂规涓嶅瓨鍦�");
+        }
+        // 1銆佸悓涓�鎶ヤ环娓呭崟锛屼笉鑳芥坊鍔犵浉鍚屻�愯矾绾�-杞﹀瀷銆戞暟鎹�
+        Long l = tmsQuoteDetailMapper.selectCount(new LambdaQueryWrapper<TmsQuoteDetail>()
+                .eq(TmsQuoteDetail::getQuotePlanId, quotePlanId)
+                .eq(TmsQuoteDetail::getVehicleType, tmsQuoteDetail.getVehicleType())
+                .eq(TmsQuoteDetail::getTransportRoute, tmsQuoteDetail.getTransportRoute())
+                .eq(TmsQuoteDetail::getPlanType, tmsQuotePlan.getPlanType())
+
+        );
+        if (l > 0){
+            throw new RuntimeException("鍚屼竴鎶ヤ环娓呭崟锛屼笉鑳芥坊鍔犵浉鍚屻�愯矾绾�-杞﹀瀷銆戞暟鎹�");
+        }
+        // 2銆佷笉鍚屾姤浠锋柟妗堬紝涓嶈兘娣诲姞鐩稿悓銆愬鎴�-璺嚎-杞﹀瀷銆戞暟鎹�
+        Long l1 = tmsQuoteDetailMapper.selectCount(new LambdaQueryWrapper<TmsQuoteDetail>()
+                .ne(TmsQuoteDetail::getQuotePlanId, quotePlanId)
+                .eq(TmsQuoteDetail::getCustomerId, tmsQuotePlan.getCustomerId())
+                .eq(TmsQuoteDetail::getTransportRoute, tmsQuoteDetail.getTransportRoute())
+                .eq(TmsQuoteDetail::getPlanType, tmsQuotePlan.getPlanType())
+                .eq(TmsQuoteDetail::getVehicleType, tmsQuoteDetail.getVehicleType())
+        );
+
+
+        if (l1 > 0){
+            throw new RuntimeException("涓嶅悓鎶ヤ环鏂规锛屼笉鑳芥坊鍔犵浉鍚屻�愬鎴�-璺嚎-杞﹀瀷銆戞暟鎹�");
+        }
+        tmsQuoteDetail.setQuotePlanCode(tmsQuotePlan.getSystemCode());
+        tmsQuoteDetail.setCustomerId(tmsQuotePlan.getCustomerId());
+        SystemDataNoEnum systemDataNoEnum = tmsQuotePlan.getPlanType() == 1 ? SystemDataNoEnum.YF : SystemDataNoEnum.YS;
+        String noByKey = systemDataNoService.getNoByKey(systemDataNoEnum);
+        tmsQuoteDetail.setSystemCode(noByKey);
+        tmsQuoteDetail.setCreateBy(SecurityUtils.getUsername());
         tmsQuoteDetail.setCreateTime(DateUtils.getNowDate());
+        tmsQuoteDetail.setPlanType(tmsQuotePlan.getPlanType());
+        tmsQuoteDetail.setCustomerId(tmsQuotePlan.getCustomerId());
         return tmsQuoteDetailMapper.insertTmsQuoteDetail(tmsQuoteDetail);
     }
 
@@ -119,6 +170,7 @@
         return rows;
     }
 
+
     /**
      * 淇敼鎶ヤ环鏄庣粏
      *
@@ -128,6 +180,38 @@
     @Override
     public int updateTmsQuoteDetail(TmsQuoteDetail tmsQuoteDetail)
     {
+        Integer quotePlanId = tmsQuoteDetail.getQuotePlanId();
+        if (quotePlanId == null){
+            throw new RuntimeException("璇峰厛閫夋嫨鎶ヤ环鏂规涓嶈兘涓虹┖");
+        }
+        TmsQuotePlan tmsQuotePlan = tmsQuotePlanMapper.selectTmsQuotePlanById(quotePlanId);
+        if (tmsQuotePlan == null){
+            throw new RuntimeException("鎶ヤ环鏂规涓嶅瓨鍦�");
+        }
+        // 1銆佸悓涓�鎶ヤ环娓呭崟锛屼笉鑳芥坊鍔犵浉鍚屻�愯矾绾�-杞﹀瀷銆戞暟鎹�
+        Long l = tmsQuoteDetailMapper.selectCount(new LambdaQueryWrapper<TmsQuoteDetail>()
+                .eq(TmsQuoteDetail::getQuotePlanId, quotePlanId)
+                .eq(TmsQuoteDetail::getVehicleType, tmsQuoteDetail.getVehicleType())
+                .eq(TmsQuoteDetail::getTransportRoute, tmsQuoteDetail.getTransportRoute())
+                .ne(TmsQuoteDetail::getId, tmsQuoteDetail.getId())
+        );
+        if (l > 0){
+            throw new RuntimeException("鍚屼竴鎶ヤ环娓呭崟锛屼笉鑳芥坊鍔犵浉鍚屻�愯矾绾�-杞﹀瀷銆戞暟鎹�");
+        }
+        // 2銆佷笉鍚屾姤浠锋柟妗堬紝涓嶈兘娣诲姞鐩稿悓銆愬鎴�-璺嚎-杞﹀瀷銆戞暟鎹�
+        Long l1 = tmsQuoteDetailMapper.selectCount(new LambdaQueryWrapper<TmsQuoteDetail>()
+                .ne(TmsQuoteDetail::getQuotePlanId, quotePlanId)
+                .ne(TmsQuoteDetail::getId, tmsQuoteDetail.getId())
+                .eq(TmsQuoteDetail::getCustomerId, tmsQuotePlan.getCustomerId())
+                .eq(TmsQuoteDetail::getTransportRoute, tmsQuoteDetail.getTransportRoute())
+                .eq(TmsQuoteDetail::getPlanType, tmsQuotePlan.getPlanType())
+                .eq(TmsQuoteDetail::getVehicleType, tmsQuoteDetail.getVehicleType())
+        );
+
+        if (l1 > 0){
+            throw new RuntimeException("涓嶅悓鎶ヤ环鏂规锛屼笉鑳芥坊鍔犵浉鍚屻�愬鎴�-璺嚎-杞﹀瀷銆戞暟鎹�");
+        }
+        tmsQuoteDetail.setUpdateBy(SecurityUtils.getUsername());
         tmsQuoteDetail.setUpdateTime(DateUtils.getNowDate());
         return tmsQuoteDetailMapper.updateTmsQuoteDetail(tmsQuoteDetail);
     }

--
Gitblit v1.8.0