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

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.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

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

    private static final long serialVersionUID = 1L;

    private Long id;

    private Long orderId;
    private Long sampleId;
    private String sampleStatus;

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

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

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

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

    @ApiModelProperty(value = "委托方代码", dataType = "String")
    @ExcelProperty(value = "委托方代码", order = 4)
    private String customerNo;

    @ApiModelProperty(value = "要求检完时间", dataType = "String")
    @ExcelProperty(value = "要求检完时间", order = 5)
    private String requireOverTime;

    @ApiModelProperty(value = "送检人", dataType = "String")
    @ExcelProperty(value = "送检人", order = 6)
    private String deliverer;

    @ApiModelProperty(value = "委托书编号", dataType = "String")
    @ExcelProperty(value = "委托书编号", order = 7)
    private String orderCode;

    @ApiModelProperty(value = "委托书名称", dataType = "String")
    @ExcelProperty(value = "委托书名称", order = 8)
    private String customerName;

    @ApiModelProperty(value = "计划送达时间", dataType = "String")
    @ExcelProperty(value = "计划送达时间", order = 9)
    private String planDeliverTime;

    //数据库暂时没有字段
    @ApiModelProperty(value = "实际送达时间", dataType = "String")
    @ExcelProperty(value = "实际送达时间", order = 10)
    private String realDeliverTime;

    //数据库暂时没有字段
    @ApiModelProperty(value = "样品归还时间", dataType = "String")
    @ExcelProperty(value = "样品归还时间", order = 10)
    private String returnTime;


    @ApiModelProperty(value = "样品所属", dataType = "String")
    @ExcelProperty(value = "样品所属", order = 11)
    private String sampleBelong;

    @ApiModelProperty(value = "当前检定环节", dataType = "String")
    @ExcelProperty(value = "当前检定环节", order = 12)
    private String currentSegment;

    @ApiModelProperty(value = "已出具证书", dataType = "Integer")
    @ExcelProperty(value = "已出具证书", order = 13)
    private Integer alreadyCertifications;

    @ApiModelProperty(value = "应出具证书", dataType = "Integer")
    @ExcelProperty(value = "应出具证书", order = 14)
    private Integer requireCertifications;

    @ApiModelProperty(value = "是否加急", dataType = "Integer")
    private Integer isUrgent;

    @ApiModelProperty(value = "是否自检", dataType = "boolean")
    private Boolean isSelfMeasure;

    @JSONField(serialize = false)
    private Integer measureType;

    //  终止、回退、收入、归还、催办按钮
    @ApiModelProperty(value = "回退状态（已收入的状态） 1真0假", dataType = "Integer")
    private Integer FallbackState;

}
