package com.casic.missiles.dto.business.originRecord;

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.casic.missiles.annotation.DictCodeField;
import com.casic.missiles.constants.MeterDictCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@ApiModel
@ColumnWidth(30)
@HeadRowHeight(15)
@ContentRowHeight(20)
@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
@ExcelIgnoreUnannotated
public class OriginRecordResponse {

    @ApiModelProperty(value = "记录id", dataType = "Long")
    private Long id;

    @ApiModelProperty(value = "原始记录编号", dataType = "String")
    @ExcelProperty(value = "原始记录编号", order = 0)
    private String originalRecordCode;

    @ApiModelProperty(value = "原始记录名称", dataType = "String")
    @ExcelProperty(value = "原始记录名称", order = 1)
    private String originalRecordName;

    @ApiModelProperty(value = "样品编号", dataType = "String")
    @ExcelProperty(value = "样品编号", order = 2)
    private String sampleNo;

    @ApiModelProperty(value = "样品名称", dataType = "String")
    @ExcelProperty(value = "样品名称", order = 3)
    private String sampleName;

    @ApiModelProperty(value = "样品型号", dataType = "String")
    @ExcelProperty(value = "型号", order = 5)
    private String sampleModel;

    @ApiModelProperty(value = "出厂编号", dataType = "String")
    @ExcelProperty(value = "出厂编号", order = 4)
    private String manufacturingNo;

    @ApiModelProperty(value = "检校类别", dataType = "String")
    @DictCodeField(message = "检校类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY)
    private String measureCategory;

    @ApiModelProperty(value = "检校类别", dataType = "String")
    @ExcelProperty(value = "检校类别", order = 6)
    private String measureCategoryName;

    @ApiModelProperty(value = "检校时间", dataType = "String")
    private String calibrationTime;


    @ApiModelProperty(value = "环境记录单id", dataType = "Long")
    private Long environmentId;


    @ApiModelProperty(value = "检校地点", dataType = "String")
    private String calibrationPlace;


    @ApiModelProperty(value = "委托书id", dataType = "Long")
    private Long orderId;


    @ApiModelProperty(value = "样品id", dataType = "Long")
    private Long sampleId;


    @ApiModelProperty(value = "原始记录模板id", dataType = "Long")
    private Long templateId;

    @ApiModelProperty(value = "原始记录附件", dataType = "String")
    private String originalRecordFile;


    @ApiModelProperty(value = "备注", dataType = "String")
    @ExcelProperty(value = "备注", order = 9)
    private String remark;

    @ApiModelProperty(value = "创建人", dataType = "String")
    @ExcelProperty(value = "创建人", order = 7)
    private String createUserName;

    @ApiModelProperty(value = "创建时间", dataType = "String")
    @ExcelProperty(value = "创建时间", order = 8)
    private String createTime;

}
