package com.casic.missiles.model.business;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 现场检测记录表
 * </p>
 *
 * @author zt
 * @since 2023-03-23
 */
@ColumnWidth(30)
@HeadRowHeight(15)
@ContentRowHeight(20)
@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
@ExcelIgnoreUnannotated
@Data
@TableName("business_site_executive_log")
public class BusinessSiteExecutiveLog implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("id")
    private Long id;

    /**
     * 现场检测记录单编号
     */
    @ExcelProperty("现场检测记录单编号")
    @ApiModelProperty(value = "现场检测记录单编号", dataType = "String")
    @TableField("log_no")
    private String logNo;

    /**
     * 现场检测记录单编号
     */
    @ExcelProperty("现场检测记录单名称")
    @ApiModelProperty(value = "现场检测记录单名称", dataType = "String")
    @TableField("log_name")
    private String logName;


    /**
     * 现场检测id
     */
    @ApiModelProperty(value = "现场检测id", dataType = "String")
    @TableField("site_executive_id")
    private String siteExecutiveId;

    /**
     * 现场检测id
     */
    @ApiModelProperty(value = "现场检测编号", dataType = "String")
    @TableField("site_executive_no")
    private String siteExecutiveNo;

    /**
     * 联系人
     */
    @ApiModelProperty(value = "联系人", dataType = "String")
    @TableField("contacts")
    private String contacts;

    /**
     * 电话
     */
    @ApiModelProperty(value = "电话", dataType = "String")
    @TableField("contact_hone")
    private String contactHone;

    /**
     * 现场工作地点
     */
    @ApiModelProperty(value = "现场工作地点", dataType = "String")
    @ExcelProperty("现场工作地点")
    @TableField("executive_address")
    private String executiveAddress;

    /**
     * 输出电压
     */
    @ApiModelProperty(value = "输出电压", dataType = "String")
    @TableField("output_voltage")
    private String outputVoltage;

    /**
     * 零地电压
     */
    @ApiModelProperty(value = "零地电压", dataType = "String")
    @TableField("zero_ground_voltage")
    private String zeroGroundVoltage;

    /**
     * 温度
     */
    @ApiModelProperty(value = "温度", dataType = "String")
    @TableField("temperature")
    private String temperature;

    /**
     * 湿度
     */
    @ApiModelProperty(value = "湿度", dataType = "String")
    @TableField("humidity")
    private String humidity;

    /**
     * 打印文件名称
     */
    @ApiModelProperty(value = "打印文件名称", dataType = "String")
    @TableField("print_file_name")
    private String printFileName;

    /**
     * 打印文件名称
     */
    @ApiModelProperty(value = "委托方名称", dataType = "String")
    @TableField(exist = false)
    @ExcelProperty("委托方名称")
    private String customerName;


    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", dataType = "String")
    @TableField("remark")
    private String remark;

    /**
     * 删除标记
     */
    @ApiModelProperty(value = "删除标记", dataType = "String")
    @TableField("is_del")
    private String isDel;

    /**
     * 创建时间
     */
    @TableField("create_time")
    @ExcelProperty("创建时间")
    private String createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private String updateTime;

    @ApiModelProperty(hidden = true)

    @TableField("create_user")
    private Long createUser;

    /**
     * 记录人
     */
    @ApiModelProperty(value = "记录人", dataType = "Long")
    @TableField("recorder")
    private Long recorder;

    /**
     * 记录时间
     */
    @ApiModelProperty(value = "记录时间", dataType = "String")
    @TableField("record_time")
    private String recordTime;

    /**
     * 实验室
     */
    @ApiModelProperty(value = "实验室", dataType = "String")
    @TableField("laboratory_id")
    private Long laboratoryId;


    @TableField(exist = false)
    @ApiModelProperty(value = "携带仪器设备", dataType = "List")
    private List<BusinessSiteExecutiveEquipmentRelation> siteExecutiveEquipmentRelationList;

    @TableField(exist = false)
    @ApiModelProperty(value = "记录人名称", dataType = "String")
    @ExcelProperty("记录人")
    private String recorderName;

    @TableField(exist = false)
    @ApiModelProperty(value = "实验室名称", dataType = "String")
    private String laboratoryName;
}
