/**
 * Copyright 2019 DH
 * All right reserved.
 * 项目名称: 大恒泰山系统
 * 创建日期:2023/10/31
 */
package org.ts.ddcs.common.metadata;

/*** 
 * Date:2023/10/31
 * Title:文件所属模块（必须填写）
 * Description：对本文件的详细描述，原则上不能少于30字
 * @author dylan
 * @version 1.0
 * Remark：认为有必要的其他信息
 */
public enum TaishanV2JsonPackMetadataEnum {
    /**
     * 接收时间
     */
    PACK_METADATA_FROM_TIME(0, "from_time"),
    /**
     * 上报时间
     */
    PACK_METADATA_UP_TIME(1, "up_time"),
    /**
     * 原始报文
     */
    PACK_METADATA_DATAGRAM(2, "datagram_text"),
    /**
     * 测站编码
     */
    PACK_METADATA_RTU_CODE(3, "rtu_code"),
    /**
     * 报文类型
     */
    PACK_METADATA_DATAGRAM_TYPE(4, "datagram_type"),
    /**
     * 规约
     */
    PACK_METADATA_AGREEMENT_TYPE(5, "agreement_type"),
    /**
     * 站类型
     */
    PACK_METADATA_SITE_TYPE(6, "site_type"),
    /**
     * 观测时间
     */
    PACK_METADATA_COLLECT_TIME(7, "collect_time"),
    /**
     * 数据项
     */
    PACK_METADATA_DATA(8, "data");

    private int code;

    private String name;

    TaishanV2JsonPackMetadataEnum(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 (TaishanV2JsonPackMetadataEnum point : TaishanV2JsonPackMetadataEnum.values()) {
            if (point.code == code) {
                return point.name;
            }
        }
        return "";
    }

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