package com.mortals.xhx.module.monitor.model;

import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.monitor.model.vo.MonitorAlarmRecordVo;
/**
* 监测预警记录详细记录实体对象
*
* @author zxfei
* @date 2023-04-15
*/

public class MonitorAlarmRecordEntity extends MonitorAlarmRecordVo {
    private static final long serialVersionUID = 1L;

    /**
    * 告警Id
    */
    private Long alarmId;
    /**
    * 预约业务
    */
    @Excel(name = "预约业务")
    private String reservationService;
    /**
    * 预约编号
    */
    @Excel(name = "预约编号")
    private String reservationNumber;
    /**
    * 监测时间
    */
    @Excel(name = "监测时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date monitorTime;
    /**
    * 监测设备
    */
    @Excel(name = "监测设备")
    private Long monitorDeviceId;
    /**
    * 监测设备名称
    */
    @Excel(name = "监测设备名称")
    private String monitorDevice;
    /**
    * 签到方式(0.自动签到，1.手动签到)
    */
    @Excel(name = "签到方式", readConverterExp = "0=自动签到,1=手动签到")
    private Integer checkInMethod;
    /**
    * 监测凭证
    */
    @Excel(name = "监测凭证")
    private String monitorCertificate;
    /**
    * 相对图片pic
    */
    private String picUri;
    /**
    * 图片资源唯一标识
    */
    private String serverIndexCode;



    public MonitorAlarmRecordEntity(){}
    /**
    * 获取 告警Id
    * @return Long
    */
    public Long getAlarmId(){
        return alarmId;
    }
    /**
    * 设置 告警Id
    * @param alarmId
    */
    public void setAlarmId(Long alarmId){
        this.alarmId = alarmId;
    }
    /**
    * 获取 预约业务
    * @return String
    */
    public String getReservationService(){
        return reservationService;
    }
    /**
    * 设置 预约业务
    * @param reservationService
    */
    public void setReservationService(String reservationService){
        this.reservationService = reservationService;
    }
    /**
    * 获取 预约编号
    * @return String
    */
    public String getReservationNumber(){
        return reservationNumber;
    }
    /**
    * 设置 预约编号
    * @param reservationNumber
    */
    public void setReservationNumber(String reservationNumber){
        this.reservationNumber = reservationNumber;
    }
    /**
    * 获取 监测时间
    * @return Date
    */
    public Date getMonitorTime(){
        return monitorTime;
    }
    /**
    * 设置 监测时间
    * @param monitorTime
    */
    public void setMonitorTime(Date monitorTime){
        this.monitorTime = monitorTime;
    }
    /**
    * 获取 监测设备
    * @return Long
    */
    public Long getMonitorDeviceId(){
        return monitorDeviceId;
    }
    /**
    * 设置 监测设备
    * @param monitorDeviceId
    */
    public void setMonitorDeviceId(Long monitorDeviceId){
        this.monitorDeviceId = monitorDeviceId;
    }
    /**
    * 获取 监测设备名称
    * @return String
    */
    public String getMonitorDevice(){
        return monitorDevice;
    }
    /**
    * 设置 监测设备名称
    * @param monitorDevice
    */
    public void setMonitorDevice(String monitorDevice){
        this.monitorDevice = monitorDevice;
    }
    /**
    * 获取 签到方式(0.自动签到，1.手动签到)
    * @return Integer
    */
    public Integer getCheckInMethod(){
        return checkInMethod;
    }
    /**
    * 设置 签到方式(0.自动签到，1.手动签到)
    * @param checkInMethod
    */
    public void setCheckInMethod(Integer checkInMethod){
        this.checkInMethod = checkInMethod;
    }
    /**
    * 获取 监测凭证
    * @return String
    */
    public String getMonitorCertificate(){
        return monitorCertificate;
    }
    /**
    * 设置 监测凭证
    * @param monitorCertificate
    */
    public void setMonitorCertificate(String monitorCertificate){
        this.monitorCertificate = monitorCertificate;
    }
    /**
    * 获取 相对图片pic
    * @return String
    */
    public String getPicUri(){
        return picUri;
    }
    /**
    * 设置 相对图片pic
    * @param picUri
    */
    public void setPicUri(String picUri){
        this.picUri = picUri;
    }
    /**
    * 获取 图片资源唯一标识
    * @return String
    */
    public String getServerIndexCode(){
        return serverIndexCode;
    }
    /**
    * 设置 图片资源唯一标识
    * @param serverIndexCode
    */
    public void setServerIndexCode(String serverIndexCode){
        this.serverIndexCode = serverIndexCode;
    }




    @Override
    public int hashCode() {
         return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof MonitorAlarmRecordEntity) {
            MonitorAlarmRecordEntity tmp = (MonitorAlarmRecordEntity) obj;
            if (this.getId() == tmp.getId()) {
                 return true;
            }
        }
        return false;
    }

    public String toString(){
        StringBuilder sb = new StringBuilder("");
        sb.append(",alarmId:").append(getAlarmId());
        sb.append(",reservationService:").append(getReservationService());
        sb.append(",reservationNumber:").append(getReservationNumber());
        sb.append(",monitorTime:").append(getMonitorTime());
        sb.append(",monitorDeviceId:").append(getMonitorDeviceId());
        sb.append(",monitorDevice:").append(getMonitorDevice());
        sb.append(",checkInMethod:").append(getCheckInMethod());
        sb.append(",monitorCertificate:").append(getMonitorCertificate());
        sb.append(",picUri:").append(getPicUri());
        sb.append(",serverIndexCode:").append(getServerIndexCode());
        return sb.toString();
    }

    public void initAttrValue(){

            this.alarmId = null;

            this.reservationService = "";

            this.reservationNumber = "";

            this.monitorTime = null;

            this.monitorDeviceId = null;

            this.monitorDevice = "";

            this.checkInMethod = 0;

            this.monitorCertificate = "";

            this.picUri = "";

            this.serverIndexCode = "";
    }
}