From a7f86b6000033c135f233d9fbf4131532b1ff95c Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 13 八月 2026 16:27:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_business' into dev_business

---
 yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/enums/TenderStatusEnum.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 56 insertions(+), 1 deletions(-)

diff --git a/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/enums/TenderStatusEnum.java b/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/enums/TenderStatusEnum.java
index f567c33..5ab62d6 100644
--- a/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/enums/TenderStatusEnum.java
+++ b/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/enums/TenderStatusEnum.java
@@ -13,7 +13,11 @@
     BIDDING(2, "鎶曟爣涓�"),
     EVALUATING(3, "璇勬爣涓�"),
     AWARDED(4, "宸插畾鏍�"),
-    CLOSED(5, "宸插叧闂�");
+    CLOSED(5, "宸插叧闂�"),
+
+    // 绠�鏄撴ā寮忕姸鎬�
+    PRICE_COMPARING(10, "姣斾环涓�"),
+    CONFIRMED(20, "宸茬‘璁�");
 
     TenderStatusEnum(Integer code, String name) {
         this.code = code;
@@ -23,4 +27,55 @@
     private final Integer code;
     private final String name;
 
+    // ========== 鐘舵�佸伐鍏锋柟娉� ==========
+
+    /** DRAFT 鍏佽鍏ㄥ瓧娈电紪杈� */
+    public static boolean canEditFullProject(Integer status) {
+        return DRAFT.getCode().equals(status);
+    }
+
+    /** PUBLISHED 鎴� BIDDING 鍏佽閮ㄥ垎缂栬緫锛堟嫑鏍囪鏄庛�佽祫璐ㄨ姹傦級 */
+    public static boolean canEditPartialProject(Integer status) {
+        return PUBLISHED.getCode().equals(status) || BIDDING.getCode().equals(status);
+    }
+
+    /** DRAFT 鍏佽缂栬緫鐗╂枡娓呭崟 */
+    public static boolean canEditMaterial(Integer status) {
+        return DRAFT.getCode().equals(status);
+    }
+
+    /** BIDDING锛堝畬鏁寸増锛夛紝鎴� PRICE_COMPARING锛堢畝鏄撶増锛夊厑璁镐緵搴斿晢鎶曟爣 */
+    public static boolean canCreateBid(Integer status) {
+        return BIDDING.getCode().equals(status)
+                || PRICE_COMPARING.getCode().equals(status);
+    }
+
+    /** PUBLISHED 鎴� BIDDING锛堝畬鏁寸増锛夛紝鎴� PRICE_COMPARING锛堢畝鏄撶増锛夊厑璁镐緵搴斿晢鎶ヤ环 */
+    public static boolean canCreateOrUpdateQuote(Integer status) {
+        return PUBLISHED.getCode().equals(status) || BIDDING.getCode().equals(status)
+                || PRICE_COMPARING.getCode().equals(status);
+    }
+
+    /** EVALUATING 鍏佽璇勬爣鎿嶄綔 */
+    public static boolean canEvaluate(Integer status) {
+        return EVALUATING.getCode().equals(status);
+    }
+
+    /** EVALUATING 鍏佽瀹氭爣鎿嶄綔 */
+    public static boolean canAward(Integer status) {
+        return EVALUATING.getCode().equals(status);
+    }
+
+    // ========== 绠�鏄撴ā寮忓伐鍏锋柟娉� ==========
+
+    /** DRAFT 涓旂畝鏄撴ā寮忓厑璁稿紑濮嬫瘮浠� */
+    public static boolean canStartPriceComparing(Integer status) {
+        return DRAFT.getCode().equals(status);
+    }
+
+    /** PRICE_COMPARING 鍏佽纭鎺堟爣 */
+    public static boolean canConfirm(Integer status) {
+        return PRICE_COMPARING.getCode().equals(status);
+    }
+
 }

--
Gitblit v1.9.3