package com.gci.boot.enums;

import java.util.Arrays;
import java.util.List;

/**
 * @author 24642
 */

public enum AlarmType {
    /**
     * 车机告警
     */
    TEMPERATURE_DIFFERENCE_ALARM("temperatureDifferenceAlarm", "温度差异告警", 1),
    BATTERY_HIGH_TEMPERATURE_ALARM("batteryHighTemperatureAlarm", "电池高温报警", 2),
    OVER_VOLTAGE_ALARM("overVoltageAlarm", "车载储能装置过压报警", 3),
    UNDER_VOLTAGE_ALARM("underVoltageAlarm", "车载储能装置欠压报警", 4),
    LOW_SOC_ALARM("lowSocAlarm", "SOC过低报警", 5),
    OVER_VOLTAGE_SINGLE_BATTERY_ALARM("overVoltageSingleBatteryAlarm", "单体电池过压报警", 6),
    UNDER_VOLTAGE_SINGLE_BATTERY_ALARM("underVoltageSingleBatteryAlarm", "单体电池欠压报警", 7),
    HIGH_SOC_ALARM("highSocAlarm", "SOC过高报警", 8),
    SOC_JUMP_ALARM("socJumpAlarm", "SOC跳变报警", 9),
    MISMATCHED_ENERGY_STORAGE_ALARM("mismatchedEnergyStorageAlarm", "可充电储能不匹配报警", 10),
    BATTERY_INCONSISTENCY_ALARM("batteryInconsistencyAlarm", "电池单体一致性差报警", 11),
    INSULATION_ALARM("insulationAlarm", "绝缘报警", 12),
    DC_DC_TEMPERATURE_ALARM("dcDcTemperatureAlarm", "DC-DC温度报警", 13),
    BRAKE_SYSTEM_ALARM("brakeSystemAlarm","制动系统报警",14),
    DC_DC_STATUS_ALARM("dcDcStatusAlarm","DC-DC状态报警",15),
    MOTOR_CONTROLLER_TEMPERATURE_ALARM("motorControllerTemperatureAlarm", "驱动电机控制器温度报警", 16),
    HIGH_VOLTAGE_INTERLOCK_STATUS_ALARM("highVoltageInterlockStatusAlarm", "高压互锁状态报警", 17),
    DRIVE_MOTOR_TEMPERATURE_ALARM("driveMotorTemperatureAlarm", "驱动电机温度报警", 18),
    OVER_CHARGE_ALARM("overChargeAlarm", "车载储能装置过充报警", 19);


    private final String prop;
    private final String description;
    private final Integer typeValue;

    AlarmType(String prop, String description, Integer typeValue) {
        this.prop = prop;
        this.description = description;
        this.typeValue = typeValue;
    }

    public Integer getTypeValue() {
        return typeValue;
    }

    public String getProp() {
        return prop;
    }

    public String getDescription() {
        return description;
    }


}
