/**
 * 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 ElementDataMetadataEnum {
    /**
     * 元素编码
     */
    ELEMENT_METADATA_CODE(0, "key"),

    /**
     * 参数名称
     */
    ELEMENT_METADATA_NAME(1, "name"),

    /**
     * 参数编码
     */
    ELEMENT_METADATA_SUB_CODE(2, "code"),

    /**
     * 参数值
     */
    ELEMENT_METADATA_VALUE(3, "value"),
    /**
     * 参数单位
     */
    ELEMENT_METADATA_UNIT(4, "unit"),

    /**
     * 参数说明
     */
    ELEMENT_METADATA_DESC(5, "desc"),

    /**
     * 数据状态
     */
    ELEMENT_METADATA_ERROR(6, "error")
    ;

    private int code;

    private String name;

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

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