7 天以前 e1797a873bf114329f4870062201d388155ef014
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);
    }
}