package cn.iocoder.yudao.module.asset.enums;

/**
 * 资产状态枚举
 * 用于标识资产的不同状态，每种状态都有一个相应的代码和描述
 */
public enum AssetStateEnum {
    /**
     * 可用状态的资产
     */
    AVAILABLE("0", "可用"),
    /**
     * 已被占用的资产
     */
    OCCUPIED("1", "占用"),
    /**
     * 已报废的资产
     */
    RETIRED("2", "已报废");

    // 状态代码，用于系统内部标识不同的资产状态
    private final String state;
    // 状态描述，用于用户界面或其他需要人类可读信息的场景
    private final String desc;

    /**
     * 枚举构造函数，初始化状态代码和描述
     *
     * @param state 状态代码
     * @param desc  状态描述
     */
    AssetStateEnum(String state, String desc) {
        this.state = state;
        this.desc = desc;
    }

    /**
     * 获取状态代码
     *
     * @return 状态代码
     */
    public String getState() {
        return state;
    }

    /**
     * 获取状态描述
     *
     * @return 状态描述
     */
    public String getDesc() {
        return desc;
    }
}
