package com.bonus.canteen.core.kitchen.domain;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;

/**
 * 厨房后场设备传感器记录对象 kitchen_device_sensor_record
 * 
 * @author xsheng
 * @date 2025-06-16
 */


@Data
@ToString
public class KitchenDeviceSensorRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long recordId;

    /** 检测批次号 */
    @Excel(name = "检测批次号")
    @ApiModelProperty(value = "检测批次号")
    private Long batchNo;

    /** 传感器id */
    @Excel(name = "传感器id")
    @ApiModelProperty(value = "传感器id")
    private Long deviceId;

    /** 设备类型 */
    @Excel(name = "设备类型")
    @ApiModelProperty(value = "设备类型")
    private Long deviceType;

    /** 测量指标 */
    @Excel(name = "测量指标")
    @ApiModelProperty(value = "测量指标")
    private String measureCode;

    /** 测量具体值 */
    @Excel(name = "测量具体值")
    @ApiModelProperty(value = "测量具体值")
    private String measureData;

    /** 网关设备id */
    @Excel(name = "网关设备id")
    @ApiModelProperty(value = "网关设备id")
    private Long gatewayDeviceId;

    /** 设备时间 */
    @ApiModelProperty(value = "设备时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "设备时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deviceTime;

    /** 位置 */
    @Excel(name = "位置")
    @ApiModelProperty(value = "位置")
    private Long subPlace;

    /** 食堂id */
    @Excel(name = "食堂id")
    @ApiModelProperty(value = "食堂id")
    private Long canteenId;

    /** 区域id */
    @Excel(name = "区域id")
    @ApiModelProperty(value = "区域id")
    private Long areaId;

    @ApiModelProperty(value = "设备名称")
    private String deviceName;

    @ApiModelProperty(value = "食堂名称")
    private String canteenName;

    @ApiModelProperty(value = "测量指标类型")
    private Integer measureType;

    @ApiModelProperty(value = "测量指标最大值")
    private BigDecimal measureMaxValue;

    @ApiModelProperty(value = "测量指标最小值")
    private BigDecimal measureMinValue;

    @ApiModelProperty(value = "测量结果类型")
    private List<Integer> sensorResultTypeList;

    @ApiModelProperty("开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startDateTime;

    @ApiModelProperty("结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endDateTime;
}
