package cn.wise.sc.energy.power.plant.business.domain.eum;

import cn.wise.sc.energy.power.plant.common.core.exception.ResponseEnum;
import lombok.Getter;

/**
 * @description: 监测单元指出的功能 类别
 * @author: qh
 * @create: 2020-07-14 15:11
 **/
@Getter
public enum FunctionEnum {

    /**
     * 支持趋势分析
     */
    TrendAnalys(1, "TrendAnalys"),
    /**
     * 支持波形频谱分析
     */
    BinaryTreeAnalys(2, "BinaryTreeAnalys"),
    /**
     * 支持二叉树分析诊断（作废)
     */
    @Deprecated
    VibrationAnalys(3, "VibrationAnalys"),
    /**
     * 支持雷达图监测（作废）
     */
    @Deprecated
    RadarMonitor(3, "RadarMonitor");

    private Integer code;

    private String name;

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

    /**
     * 根据名字获取监测单元指出的功能枚举
     *
     * @param name 条件
     * @return FunctionEnum
     */
    public static FunctionEnum getFunctionEnumByName(String name) {
        ResponseEnum.LICENCE_NOT_FOUND.assertNotEmpty(name);
        FunctionEnum[] values = FunctionEnum.values();
        FunctionEnum rts = null;
        for (FunctionEnum itemNameEnum : values) {
            if (itemNameEnum.getName().equals(name)) {
                rts = itemNameEnum;
            }
        }
        return rts;
    }

    /**
     * 返回枚举名字
     *
     * @return getName()
     */
    @Override
    public String toString() {
        return getName();
    }

}
