package org.ts.ddcs.common.enums;

/***
 * Date:2022/3/9
 * Title:测站类别枚举类
 * Description：对本文件的详细描述，原则上不能少于30字
 * @author swp
 * @mender：（文件的修改者，文件创建者之外的人）
 * @version 1.0
 * Remark：认为有必要的其他信息
 */
public enum SwSiteKindEnum {

    /**
     * 降水,①降水;②蒸发③气象
     */
    RTU_KIND_P(0x50, "P"),

    /**
     * 河道,①降水;②蒸发;③河道水情④气象⑤水质
     */
    RTU_KIND_H(0x48, "H"),

    /**
     * 水库(湖泊),①降水;②蒸发;③水库水情④气象⑤水质
     */
    RTU_KIND_K(0x4b, "K"),

    /**
     * 闸坝,①降水;②蒸发;③闸坝水情④气象⑤水质
     */
    RTU_KIND_Z(0x5a, "Z"),

    /**
     * 泵站,①降水;②蒸发;③泵站水情④气象⑤水质
     */
    RTU_KIND_D(0x44, "D"),

    /**
     * 潮汐,①降水;②蒸发;③潮汐水情④气象
     */
    RTU_KIND_T(0x54, "T"),
    /**
     * 墒情,①降水;②蒸发;③墒情
     */
    RTU_KIND_M(0x4d, "M"),
    /**
     * 地下水,①埋深;②水质;③开采量
     */
    RTU_KIND_G(0x47, "G"),
    /**
     * 水质,①水质;②流量;③降水
     */
    RTU_KIND_Q(0x51, "Q"),
    /**
     * 取水口,①水位; ②水质;③水量④水压等
     */
    RTU_KIND_I(0x49, "I"),
    /**
     * 排水口,①水位; ②水质;③水量④水压等
     */
    RTU_KIND_O(0x4f, "O")
    ;

    private int code;

    private String name;

    SwSiteKindEnum(int code, String name) {
        this.code = code;
        this.name = name;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    /**
     * 根据CODE查名称
     *
     * @param code
     * @return
     */
    public static String getName(int code) {
        for (SwSiteKindEnum point : SwSiteKindEnum.values()) {
            if (point.code == code) {
                return point.name;
            }
        }
        return "";
    }

    /**
     * 根据名称查代码
     * @param name
     * @return
     */
    public static int getCode(String name) {
        for (SwSiteKindEnum point : SwSiteKindEnum.values()) {
            if (point.name.equals(name)) {
                return point.code;
            }
        }
        return -1;
    }
}
