package org.dromara.ems.record.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import cn.idev.excel.annotation.format.DateTimeFormat;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 物联网数据对象 record_iotenv_instant
 * 
 * @author zch
 * @date 2025-04-28
 */
@Data
@ExcelIgnoreUnannotated
public class RecordIotenvInstant extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

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

    
    /** 计量设备编号 */
    @ExcelProperty(value = "计量设备编号")
    private String monitorCode;

    /** 设备名称 */
    @ExcelProperty(value = "设备名称")
    private String monitorName;


    /** 温度 */
    @ExcelProperty(value = "温度")
    private BigDecimal temperature;

    /** 湿度 */
    @ExcelProperty(value = "湿度")
    private BigDecimal humidity;

    /** 照度 */
    @ExcelProperty(value = "照度")
    private BigDecimal illuminance;

    /** 噪声 */
    @ExcelProperty(value = "噪声")
    private BigDecimal noise;

    /** 硫化氢浓度 */
    @ExcelProperty(value = "硫化氢浓度")
    private BigDecimal concentration;

    /** 振动-速度(mm/s) */
    @ExcelProperty(value = "振动-速度(mm/s)")
    private BigDecimal vibrationSpeed;

    /** 振动-位移(um) */
    @ExcelProperty(value = "振动-位移(um)")
    private BigDecimal vibrationDisplacement;

    /** 振动-加速度(g) */
    @ExcelProperty(value = "振动-加速度(g)")
    private BigDecimal vibrationAcceleration;

    /** 振动-温度(℃) */
    @ExcelProperty(value = "振动-温度(℃)")
    private BigDecimal vibrationTemp;

    /** 采集时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    // @Excel(name = "采集时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date collectTime;

    /** 记录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "记录时间")
    private Date recodeTime;


    private String[] monitorIds;



    /** 能源类型 */
    private Long monitorType;
    private String energyName;
    
    /** 采样间隔（分钟），用于数据抽稀 */
    private Integer samplingInterval;
    
    /** 振动参数选择（用于查询过滤）：vibrationSpeed/vibrationDisplacement/vibrationAcceleration/vibrationTemp */
    private String vibrationParam;

//
//    public void setObjid(Long objid)
//    {
//        this.objid = objid;
//    }
//
//    public Long getObjid()
//    {
//        return objid;
//    }
//    public void setMonitorId(String monitorId)
//    {
//        this.monitorId = monitorId;
//    }
//
//    public String getMonitorId()
//    {
//        return monitorId;
//    }
//    public void setTemperature(BigDecimal temperature)
//    {
//        this.temperature = temperature;
//    }
//
//    public BigDecimal getTemperature()
//    {
//        return temperature;
//    }
//    public void setHumidity(BigDecimal humidity)
//    {
//        this.humidity = humidity;
//    }
//
//    public BigDecimal getHumidity()
//    {
//        return humidity;
//    }
//    public void setIlluminance(BigDecimal illuminance)
//    {
//        this.illuminance = illuminance;
//    }
//
//    public BigDecimal getIlluminance()
//    {
//        return illuminance;
//    }
//    public void setNoise(BigDecimal noise)
//    {
//        this.noise = noise;
//    }
//
//    public BigDecimal getNoise()
//    {
//        return noise;
//    }
//    public void setConcentration(BigDecimal concentration)
//    {
//        this.concentration = concentration;
//    }
//
//    public BigDecimal getConcentration()
//    {
//        return concentration;
//    }
//    public void setVibrationSpeed(BigDecimal vibrationSpeed)
//    {
//        this.vibrationSpeed = vibrationSpeed;
//    }
//
//    public BigDecimal getVibrationSpeed()
//    {
//        return vibrationSpeed;
//    }
//    public void setVibrationDisplacement(BigDecimal vibrationDisplacement)
//    {
//        this.vibrationDisplacement = vibrationDisplacement;
//    }
//
//    public BigDecimal getVibrationDisplacement()
//    {
//        return vibrationDisplacement;
//    }
//    public void setVibrationAcceleration(BigDecimal vibrationAcceleration)
//    {
//        this.vibrationAcceleration = vibrationAcceleration;
//    }
//
//    public BigDecimal getVibrationAcceleration()
//    {
//        return vibrationAcceleration;
//    }
//    public void setVibrationTemp(BigDecimal vibrationTemp)
//    {
//        this.vibrationTemp = vibrationTemp;
//    }
//
//    public BigDecimal getVibrationTemp()
//    {
//        return vibrationTemp;
//    }
//    public void setCollectTime(Date collectTime)
//    {
//        this.collectTime = collectTime;
//    }
//
//    public Date getCollectTime()
//    {
//        return collectTime;
//    }
//    public void setRecodeTime(Date recodeTime)
//    {
//        this.recodeTime = recodeTime;
//    }
//
//    public Date getRecodeTime()
//    {
//        return recodeTime;
//    }
//
//    @Override
//    public String toString() {
//        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
//            .append("objid", getObjid())
//            .append("monitorId", getMonitorId())
//            .append("temperature", getTemperature())
//            .append("humidity", getHumidity())
//            .append("illuminance", getIlluminance())
//            .append("noise", getNoise())
//            .append("concentration", getConcentration())
//            .append("vibrationSpeed", getVibrationSpeed())
//            .append("vibrationDisplacement", getVibrationDisplacement())
//            .append("vibrationAcceleration", getVibrationAcceleration())
//            .append("vibrationTemp", getVibrationTemp())
//            .append("collectTime", getCollectTime())
//            .append("recodeTime", getRecodeTime())
//            .toString();
//    }
}
