package com.fastbee.iot.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import lombok.Data;
import lombok.EqualsAndHashCode;
import com.fastbee.common.annotation.Excel;
import com.fastbee.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * 设备上电审核前上报的基础信息对象 iot_device_report_info
 *
 * @author kerwincui
 * @date 2024-12-11
 */
@ApiModel(value = "DeviceReportInfo",description = "设备上电审核前上报的基础信息 iot_device_report_info")
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("iot_device_report_info")
public class DeviceReportInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 模组IMEI号 */
    @Excel(name = "模组IMEI号")
    @ApiModelProperty("模组IMEI号")
    private String imei;

    /** 流量卡iccid */
    @Excel(name = "流量卡iccid")
    @ApiModelProperty("流量卡iccid")
    private String iccid;

    /** MCU唯一id */
    @Excel(name = "MCU唯一id")
    @ApiModelProperty("MCU唯一id")
    private String mcuId;

    /** 硬件板型 */
    @Excel(name = "硬件板型")
    @ApiModelProperty("硬件板型")
    private String bspType;

    /** 模组型号 */
    @Excel(name = "模组型号")
    @ApiModelProperty("模组型号")
    private String lteType;

    /** MCU型号 */
    @Excel(name = "MCU型号")
    @ApiModelProperty("MCU型号")
    private String mcuType;

    /** MCU固件，包含了固件的名称和版本 */
    @Excel(name = "MCU固件，包含了固件的名称和版本")
    @ApiModelProperty("MCU固件，包含了固件的名称和版本")
    private String mcuFw;

    /** 模组固件，包含了固件的名称和版本 */
    @Excel(name = "模组固件，包含了固件的名称和版本")
    @ApiModelProperty("模组固件，包含了固件的名称和版本")
    private String lteFw;

    /** 显示屏厂家，上报1，2，3等类似的数值，通过后台进行录入数值和显示屏厂家对应关系例：1对应GT2116 */
    @Excel(name = "显示屏厂家，上报1，2，3等类似的数值，通过后台进行录入数值和显示屏厂家对应关系例：1对应GT2116")
    @ApiModelProperty("显示屏厂家，上报1，2，3等类似的数值，通过后台进行录入数值和显示屏厂家对应关系例：1对应GT2116")
    private Long lcdManufacturer;

    /** 语音厂家，上报1，2，3等类似的数值，通过后台进行录入数值和语音厂家对应关系例：1对应 */
    @Excel(name = "语音厂家，上报1，2，3等类似的数值，通过后台进行录入数值和语音厂家对应关系例：1对应")
    @ApiModelProperty("语音厂家，上报1，2，3等类似的数值，通过后台进行录入数值和语音厂家对应关系例：1对应")
    private Long voiceManufacturer;

    /** FRAM型号 */
    @Excel(name = "FRAM型号")
    @ApiModelProperty("FRAM型号")
    private String framModel;

    /** 代工厂家，上报1，2，3等类似的数值，通过后台进行录入数值和代工厂家对应关系例：1对应 */
    @Excel(name = "代工厂家，上报1，2，3等类似的数值，通过后台进行录入数值和代工厂家对应关系例：1对应")
    @ApiModelProperty("代工厂家，上报1，2，3等类似的数值，通过后台进行录入数值和代工厂家对应关系例：1对应")
    private Long replaceManufacturer;

    /** 记录测试的过程，包括了测试脉冲次数、第一次上电时间等待补充信息 */
    @Excel(name = "记录测试的过程，包括了测试脉冲次数、第一次上电时间等待补充信息")
    @ApiModelProperty("记录测试的过程，包括了测试脉冲次数、第一次上电时间等待补充信息")
    private String testRecord;

    /** 批号 */
    @Excel(name = "批号")
    @ApiModelProperty("批号")
    private String batchNumber;

    /** 设备编号 */
    @Excel(name = "设备编号")
    @ApiModelProperty("设备编号")
    private String serialNumber;

    /** 二维码 */
    @Excel(name = "二维码")
    @ApiModelProperty("二维码")
    private String qrCode;

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

    /** lcd厂家名称 */
    @Excel(name = "lcd厂家名称")
    @ApiModelProperty("lcd厂家名称")
    private String lcdManufacturerName;

    /** 语音厂家名称 */
    @Excel(name = "语音厂家名称")
    @ApiModelProperty("语音厂家名称")
    private String voiceManufacturerName;

    /** 代工厂家名称 */
    @Excel(name = "代工厂家名称")
    @ApiModelProperty("代工厂家名称")
    private String replaceManufacturerName;

    /** 对应设备id */
    @Excel(name = "对应设备id")
    @ApiModelProperty("对应设备id")
    private Long deviceId;

    /** 状态:0未审核，1已审核，2已打印 */
    @Excel(name = "状态:0未审核，1已审核，2已打印")
    @ApiModelProperty("状态:0未审核，1已审核，2已打印")
    private Integer status;

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

    //----------------------------------------------------------业务字段-----------------------------------------------------------
    /** 是否自动审核 */
    private Boolean autoReview ;


}
