package com.zcloud.zcGbsServicer.domain.enums;

import lombok.Getter;

import java.util.Map;

@Getter
public enum DeviceTypeEnum {

    //控制室
    CONTROL_ROOM(1, "控制室"),
    //泵房
    PUMP_ROOM(2, "泵房"),;

    private final Integer code;
    private final String description;

    DeviceTypeEnum(Integer code, String description) {
        this.code = code;
        this.description = description;
    }
    /**
     * 根据 Code 查找枚举对象
     * @param code 设备类型码
     * @return 对应的枚举，若未找到返回 null
     */
    public static DeviceTypeEnum getByCode(Integer code) {
        if (code == null) {
            return null;
        }
        for (DeviceTypeEnum value : values()) {
            if (value.getCode().equals(code)) {
                return value;
            }
        }
        return null;
    }

    /**
     * 根据 Code 获取描述（空指针安全）
     * 常用于日志打印或导出 Excel 时转换字段
     */
    public static String getDescByCode(Integer code) {
        DeviceTypeEnum item = getByCode(code);
        return item == null ? "" : item.getDescription();
    }

}
