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

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.fastjson.annotation.JSONField;
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;

@ApiModel("样品扫描列表")
@Data
public class DeviceScanVO {


    private static final long serialVersionUID = 1L;

    private Long orderId;

    private Long sampleId;

    @ApiModelProperty(value = "样品状态", dataType = "String")
    @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS)
    private String sampleStatus;

    @ApiModelProperty(value = "样品状态", dataType = "String")
    private String sampleStatusName;

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

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

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

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

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

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

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

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

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

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

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

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

    @ApiModelProperty(value = "标签", dataType = "Integer")
    private String labelBind;

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

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

    @JSONField(serialize = false)
    private Integer measureType;

}
