From 8eeaa57003ac24e053a648d695de1b8da2a22763 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期一, 24 八月 2026 10:05:37 +0800
Subject: [PATCH] 投标移除"供应商必须已准入"校验。供应商已停用,无法参与投标。

---
 yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/enums/ErrorCodeConstants.java                |    1 +
 yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/supplier/SrmSupplierServiceImpl.java |    5 +++++
 yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/tender/SrmTenderBidServiceImpl.java  |   16 +++++++++++-----
 3 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/enums/ErrorCodeConstants.java b/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/enums/ErrorCodeConstants.java
index fcfe101..3c112d2 100644
--- a/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/enums/ErrorCodeConstants.java
+++ b/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/enums/ErrorCodeConstants.java
@@ -13,6 +13,7 @@
     ErrorCode SUPPLIER_CODE_EXISTS = new ErrorCode(1_040_100_001, "渚涘簲鍟嗙紪鐮佸凡瀛樺湪");
     ErrorCode SUPPLIER_EXISTS_REFERENCE = new ErrorCode(1_040_100_002, "渚涘簲鍟嗚涓氬姟寮曠敤锛屾棤娉曞垹闄�");
     ErrorCode SUPPLIER_CONTACT_NOT_EXISTS = new ErrorCode(1_040_100_003, "渚涘簲鍟嗚仈绯讳汉涓嶅瓨鍦�");
+    ErrorCode SUPPLIER_NOT_ENABLE = new ErrorCode(1_040_100_004, "渚涘簲鍟嗗凡鍋滅敤锛屾棤娉曞弬涓庢姇鏍�");
 
     // ========== 渚涘簲鍟嗗噯鍏� 1_040_200_000 ==========
     ErrorCode APPLY_NOT_EXISTS = new ErrorCode(1_040_200_000, "鍑嗗叆鐢宠涓嶅瓨鍦�");
diff --git a/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/supplier/SrmSupplierServiceImpl.java b/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/supplier/SrmSupplierServiceImpl.java
index c9d5858..6c4c50f 100644
--- a/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/supplier/SrmSupplierServiceImpl.java
+++ b/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/supplier/SrmSupplierServiceImpl.java
@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.srm.service.supplier;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
@@ -110,6 +111,10 @@
     @Override
     public List<SrmSupplierDO> getSupplierAllList() {
         return supplierMapper.selectList(new LambdaQueryWrapperX<SrmSupplierDO>()
+                // 杩囨护鍋滅敤渚涘簲鍟嗭紝淇濈暀鏈缃姸鎬佷笌鍚敤鐘舵�佺殑妗f渚涘簲鍟嗭紙浠呯敤浜庢嫑鎶曟爣鍦烘櫙锛�
+                .and(w -> w.isNull(SrmSupplierDO::getStatus)
+                        .or()
+                        .ne(SrmSupplierDO::getStatus, CommonStatusEnum.DISABLE.getStatus()))
                 .orderByAsc(SrmSupplierDO::getId));
     }
 
diff --git a/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/tender/SrmTenderBidServiceImpl.java b/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/tender/SrmTenderBidServiceImpl.java
index 6410946..4dd6b76 100644
--- a/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/tender/SrmTenderBidServiceImpl.java
+++ b/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/tender/SrmTenderBidServiceImpl.java
@@ -1,12 +1,14 @@
 package cn.iocoder.yudao.module.srm.service.tender;
 
+import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.srm.controller.admin.tender.vo.SrmSupplierQuoteSaveReqVO;
 import cn.iocoder.yudao.module.srm.controller.admin.tender.vo.SrmTenderBidSaveReqVO;
+import cn.iocoder.yudao.module.srm.dal.dataobject.SrmSupplierDO;
 import cn.iocoder.yudao.module.srm.dal.dataobject.SrmSupplierQuoteDO;
 import cn.iocoder.yudao.module.srm.dal.dataobject.SrmTenderBidDO;
 import cn.iocoder.yudao.module.srm.dal.dataobject.SrmTenderProjectDO;
-import cn.iocoder.yudao.module.srm.dal.mysql.SrmSupplierApplyMapper;
+import cn.iocoder.yudao.module.srm.dal.mysql.SrmSupplierMapper;
 import cn.iocoder.yudao.module.srm.dal.mysql.SrmSupplierQuoteMapper;
 import cn.iocoder.yudao.module.srm.dal.mysql.SrmTenderBidMapper;
 import cn.iocoder.yudao.module.srm.dal.mysql.SrmTenderProjectMapper;
@@ -43,7 +45,7 @@
     private SrmTenderProjectMapper tenderProjectMapper;
 
     @Resource
-    private SrmSupplierApplyMapper supplierApplyMapper;
+    private SrmSupplierMapper supplierMapper;
 
     // ========== 鎶曟爣绠$悊 ==========
 
@@ -58,9 +60,13 @@
         if (project.getEndTime() != null && LocalDateTime.now().isAfter(project.getEndTime())) {
             throw ServiceExceptionUtil.exception(ErrorCodeConstants.TENDER_END_TIME_PASSED);
         }
-        // 鏍¢獙渚涘簲鍟嗘槸鍚﹀凡閫氳繃鍑嗗叆瀹℃壒
-        if (!supplierApplyMapper.existsApprovedBySupplierId(createReqVO.getSupplierId())) {
-            throw ServiceExceptionUtil.exception(ErrorCodeConstants.BID_SUPPLIER_NOT_APPROVED);
+        // 鏍¢獙鎶曟爣渚涘簲鍟嗗瓨鍦ㄤ笖鏈仠鐢紙鍑嗗叆鐘舵�佷笉闄愬埗鎶曟爣锛屼腑鏍囩敓鎴愰噰璐鍗曟椂鑷姩鍑嗗叆锛�
+        SrmSupplierDO supplier = supplierMapper.selectById(createReqVO.getSupplierId());
+        if (supplier == null) {
+            throw ServiceExceptionUtil.exception(ErrorCodeConstants.SUPPLIER_NOT_EXISTS);
+        }
+        if (CommonStatusEnum.isDisable(supplier.getStatus())) {
+            throw ServiceExceptionUtil.exception(ErrorCodeConstants.SUPPLIER_NOT_ENABLE, supplier.getName());
         }
         // 鏍¢獙鎶曟爣缂栧彿鏄惁閲嶅
         if (tenderBidMapper.existsByBidNo(createReqVO.getBidNo())) {

--
Gitblit v1.9.3