package com.aucma.dms.domain;

//import com.hw.common.core.annotation.Excel;
//import com.hw.common.core.web.domain.DmsBaseEntity;

import com.aucma.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 设备报警规则对象 dms_base_alarm_rule
 *
 * @author Yinq
 * @date 2024-08-13
 */
public class DmsBaseAlarmRule extends DmsBaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键标识
     */
    private Long alarmRuleId;

    /**
     * 设备台账id,关联dms_base_device_ledger的device_id
     */
    @Excel(name = "设备台账id,关联dms_base_device_ledger的device_id")
    private Long deviceId;

    /**
     * 报警类型（1AGV 2PLC 3其他设备）
     */
    @Excel(name = "报警类型", readConverterExp = "1=AGV,2=PLC,3=其他设备")
    private String alarmType;


    /**
     * 报警级别（1一级 2二级 3三级）
     */
    @Excel(name = "报警级别", readConverterExp = "1=一级,2=二级,3=三级")
    private String alarmLevel;

    /**
     * 通知方式（1WEB 2公众号 3PLC）可多选
     */
    @Excel(name = "通知方式", readConverterExp = "1=WEB,2=公众号,3=PLC")
    private String noticeType;

    /**
     * 自动恢复标识（0否 1是）
     */
    @Excel(name = "自动恢复标识", readConverterExp = "0=否,1=是")
    private String recoverType;

    /**
     * 报警持续时间（ms）
     */
    @Excel(name = "报警持续时间（ms）")
    private Long continueTime;

    /**
     * 报警状态字
     */
    @Excel(name = "报警状态字")
    private String alarmStatusWord;

    /**
     * 报警原因
     */
    @Excel(name = "报警原因")
    private String alarmReason;

    /**
     * 处理建议
     */
    @Excel(name = "处理建议")
    private String handleSuggest;

    /** 设备编号 */
    @Excel(name = "设备编号")
    private String deviceCode;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    public String getDeviceCode() {
        return deviceCode;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public void setAlarmRuleId(Long alarmRuleId) {
        this.alarmRuleId = alarmRuleId;
    }

    public Long getAlarmRuleId() {
        return alarmRuleId;
    }

    public void setDeviceId(Long deviceId) {
        this.deviceId = deviceId;
    }

    public Long getDeviceId() {
        return deviceId;
    }

    public void setAlarmType(String alarmType) {
        this.alarmType = alarmType;
    }

    public String getAlarmType() {
        return alarmType;
    }

    public void setAlarmLevel(String alarmLevel) {
        this.alarmLevel = alarmLevel;
    }

    public String getAlarmLevel() {
        return alarmLevel;
    }

    public void setNoticeType(String noticeType) {
        this.noticeType = noticeType;
    }

    public String getNoticeType() {
        return noticeType;
    }

    public void setRecoverType(String recoverType) {
        this.recoverType = recoverType;
    }

    public String getRecoverType() {
        return recoverType;
    }

    public void setContinueTime(Long continueTime) {
        this.continueTime = continueTime;
    }

    public Long getContinueTime() {
        return continueTime;
    }

    public void setAlarmStatusWord(String alarmStatusWord) {
        this.alarmStatusWord = alarmStatusWord;
    }

    public String getAlarmStatusWord() {
        return alarmStatusWord;
    }

    public void setAlarmReason(String alarmReason) {
        this.alarmReason = alarmReason;
    }

    public String getAlarmReason() {
        return alarmReason;
    }

    public void setHandleSuggest(String handleSuggest) {
        this.handleSuggest = handleSuggest;
    }

    public String getHandleSuggest() {
        return handleSuggest;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("alarmRuleId", getAlarmRuleId())
                .append("deviceId", getDeviceId())
                .append("alarmType", getAlarmType())
                .append("alarmLevel", getAlarmLevel())
                .append("noticeType", getNoticeType())
                .append("recoverType", getRecoverType())
                .append("continueTime", getContinueTime())
                .append("alarmStatusWord", getAlarmStatusWord())
                .append("alarmReason", getAlarmReason())
                .append("handleSuggest", getHandleSuggest())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
