package com.aucma.dms.domain;

import com.aucma.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 设备实时状态对象历史 dms_realtime_status_history
 *
 * @author Yinq
 * @date 2024-09-02
 */
@Data
public class DmsRealtimeStatusHistory extends DmsBaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键标识
     */
    private Long historyId;
    private Long statusId;

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

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

    /**
     * 设备状态值
     */
    @Excel(name = "设备状态值")
    private String statusValue;

    /**
     * 所属设备id
     */
    @Excel(name = "所属设备id")
    private Long deviceId;

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


    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creatTime;
    private Date updateTime;
    private Date syncTime;
    private Date realBeginTime;
    private Date realEndTime;

    public String getDeviceName() {
        return deviceName;
    }

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

    public void setStatusId(Long statusId) {
        this.statusId = statusId;
    }

    public Long getStatusId() {
        return statusId;
    }

    public void setStatusCode(String statusCode) {
        this.statusCode = statusCode;
    }

    public String getStatusCode() {
        return statusCode;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusValue(String statusValue) {
        this.statusValue = statusValue;
    }

    public String getStatusValue() {
        return statusValue;
    }

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

    public Long getDeviceId() {
        return deviceId;
    }

    public void setCreatTime(Date creatTime) {
        this.creatTime = creatTime;
    }

    public Date getCreatTime() {
        return creatTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("statusId", getStatusId())
                .append("statusCode", getStatusCode())
                .append("statusName", getStatusName())
                .append("statusValue", getStatusValue())
                .append("deviceId", getDeviceId())
                .append("creatTime", getCreatTime())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
