package com.agri.system.domain;

import java.math.BigDecimal;
import java.time.LocalDate;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.baomidou.mybatisplus.annotation.TableName;
import com.agri.common.annotation.Excel;
import com.agri.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 自动模式日志对象 sys_imei_auto_log
 * 
 * @author lld
 * @date 2026-03-29
 */
@TableName("sys_imei_auto_log")
public class SysImeiAutoLog extends BaseEntity
{
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @TableId(type = IdType.ASSIGN_ID)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 设备IMEI */
    @Excel(name = "设备IMEI")
    private String imei;

    /** 卷膜 */
    @Excel(name = "卷膜")
    private String rollFilm;

    /** 监控时间段 */
    @Excel(name = "监控时间段")
    private String monitorPeriod;

    /** 当前温度 */
    @Excel(name = "当前温度")
    private BigDecimal currentTemp;

    /** 参考温度 */
    @Excel(name = "参考温度")
    private String refTemp;

    /** 适宜温度 */
    @Excel(name = "适宜温度")
    private BigDecimal suitableTemp;

    /** 运行风口 */
    @Excel(name = "运行风口")
    private BigDecimal fanStatus;

    /** 是否最后一条 0否1是 */
    @Excel(name = "是否最后一条 0否1是")
    private int isLast;

    /** 执行指令 */
    @Excel(name = "执行指令")
    private String execCmd;

    /** 操作日志ID */
    @Excel(name = "操作日志ID")
    private Long logId;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate monitorDate;

    public LocalDate getMonitorDate() {
        return monitorDate;
    }

    public void setMonitorDate(LocalDate monitorDate) {
        this.monitorDate = monitorDate;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setImei(String imei) 
    {
        this.imei = imei;
    }

    public String getImei() 
    {
        return imei;
    }

    public void setRollFilm(String rollFilm) 
    {
        this.rollFilm = rollFilm;
    }

    public String getRollFilm() 
    {
        return rollFilm;
    }

    public void setMonitorPeriod(String monitorPeriod) 
    {
        this.monitorPeriod = monitorPeriod;
    }

    public String getMonitorPeriod() 
    {
        return monitorPeriod;
    }

    public void setCurrentTemp(BigDecimal currentTemp) 
    {
        this.currentTemp = currentTemp;
    }

    public BigDecimal getCurrentTemp() 
    {
        return currentTemp;
    }

    public String getRefTemp() {
        return refTemp;
    }

    public void setRefTemp(String refTemp) {
        this.refTemp = refTemp;
    }

    public BigDecimal getSuitableTemp() {
        return suitableTemp;
    }

    public void setSuitableTemp(BigDecimal suitableTemp) {
        this.suitableTemp = suitableTemp;
    }

    public BigDecimal getFanStatus() {
        return fanStatus;
    }

    public void setFanStatus(BigDecimal fanStatus) {
        this.fanStatus = fanStatus;
    }


    public int getIsLast() {
        return isLast;
    }

    public void setIsLast(int isLast) {
        this.isLast = isLast;
    }

    public void setExecCmd(String execCmd)
    {
        this.execCmd = execCmd;
    }

    public String getExecCmd() 
    {
        return execCmd;
    }

    public void setLogId(Long logId) 
    {
        this.logId = logId;
    }

    public Long getLogId() 
    {
        return logId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("imei", getImei())
            .append("rollFilm", getRollFilm())
            .append("monitorPeriod", getMonitorPeriod())
            .append("currentTemp", getCurrentTemp())
            .append("refTemp", getRefTemp())
            .append("suitableTemp", getSuitableTemp())
            .append("fanStatus", getFanStatus())
            .append("isLast", getIsLast())
            .append("execCmd", getExecCmd())
            .append("logId", getLogId())
            .append("remark", getRemark())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
