package cn.iocoder.yudao.module.bpm.enums.oa;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 工单状态枚举
 *
 * @author 系统
 */
@Getter
@AllArgsConstructor
public enum WorkOrderStatusEnum {

    PENDING_ASSIGN(1, "待分配"),
    PROCESSING(2, "处理中"),
    COMPLETED(3, "已完成"),
    CANCELLED(4, "已取消"),
    CLOSED(5, "已关闭");

    /**
     * 状态值
     */
    private final Integer status;

    /**
     * 状态名称
     */
    private final String name;

    /**
     * 根据状态值获取枚举
     */
    public static WorkOrderStatusEnum valueOf(Integer status) {
        for (WorkOrderStatusEnum statusEnum : values()) {
            if (statusEnum.getStatus().equals(status)) {
                return statusEnum;
            }
        }
        return null;
    }

    /**
     * 判断是否为处理中状态
     */
    public static boolean isProcessing(Integer status) {
        return PROCESSING.getStatus().equals(status);
    }

    /**
     * 判断是否为已完成状态
     */
    public static boolean isCompleted(Integer status) {
        return COMPLETED.getStatus().equals(status);
    }

    /**
     * 判断是否为待分配状态
     */
    public static boolean isPendingAssign(Integer status) {
        return PENDING_ASSIGN.getStatus().equals(status);
    }

} 