package org.springblade.enums;

public enum WarnKindEnum {

	/**
	 * 测站离线
	 */
	WARN_OFFLINE(1, "测站离线"),

	/**
	 * 测站时钟异常
	 */
	WARN_CLOCK(2, "测站时钟异常"),

	/**
	 * 测站雨量小时报漏报
	 */
	WARN_RAIN_MISS_OUT(3, "测站雨量小时报漏报"),

	/**
	 * 测站水位小时报漏报
	 */
	WARN_WL_MISS_OUT(4, "测站水位小时报漏报"),

	/**
	 * 5分钟上报延时
	 */
	WARN_UP_MIN_DELAY(5, "雨量5分钟上报延时"),

	/**
	 * 小时上报延时
	 */
	WARN_RAIN_UP_HOUR_DELAY(6, "雨量站小时上报延时"),

	/**
	 * 水位站小时上报延时
	 */
	WARN_WL_UP_HOUR_DELAY(7, "水位站小时上报延时"),

	/**
	 * 雨量疑似异常值
	 */
	WARN_OUTLIER_VALUE(8, "雨量疑似异常值");

	private int code;

	private String name;

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

	/**
	 * Function:根据code来获取对应的name
	 * Author: Admin
	 * Date:2021/6/26
	 *
	 * @param code
	 * @return java.lang.String
	 * @throws Exception
	 */
	public static String getName(int code) {
		for (WarnKindEnum type : WarnKindEnum.values()) {
			if (type.code == code) {
				return type.name;
			}
		}
		return "";
	}

	/**
	 * Function:根据code来获取对应的枚举常量
	 * Author: Admin
	 * Date:2021/6/26
	 *
	 * @param code
	 * @return com.zhgzjg.web.enums.DeleteFlag
	 * @throws Exception
	 */
	public static WarnKindEnum getEnumByCode(int code) {
		for (WarnKindEnum type : WarnKindEnum.values()) {
			if (type.code == code) {
				return type;
			}
		}
		return null;
	}


	/**
	 * Function:根据name来获取对应的枚举常量
	 * Author: Admin
	 * Date:2021/6/26
	 *
	 * @param name
	 * @return com.zhgzjg.web.enums.DeleteFlag
	 * @throws Exception
	 */
	public static WarnKindEnum getEnumByName(String name) {
		for (WarnKindEnum type : WarnKindEnum.values()) {
			if (type.name.equals(name)) {
				return type;
			}
		}
		return null;
	}


	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;
	}
}
