package com.sw.mes.yb.production.dto.InspectionRecord;

import java.math.BigDecimal;
import java.util.Date;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @Author 李儒 @Description：
 * @Date: Create in
 * @Modified By:
 */
@Data
@ApiModel(value = "送验记录Dto")
public class InspectionRecordDto {

    private Long id;

    @ApiModelProperty(value = "设备号")
    @NotBlank(message = "请输入设备号")
    String equipmentCode;

    @ApiModelProperty(value = "炉次号")
    @NotBlank(message = "请输入炉次号")
    String lotNo;

    @ApiModelProperty(value = "所属系列")
    @NotBlank(message = "请输入所属系列")
    String series;

    @ApiModelProperty(value = "所属模块")
    // @NotBlank(message = "请输入所属模块")
    String area;

    @ApiModelProperty(value = "单晶编号")
    @NotBlank(message = "请输入单晶编号")
    String crystalNo;

    @ApiModelProperty(value = "收尾方式")
    String windUp;

    @ApiModelProperty(value = "复投次数")
    Integer againNum;

    @ApiModelProperty(value = "单晶颗数")
    Integer crystalNum;

    @ApiModelProperty(value = "晶体长度")
    @NotNull(message = "请输入送验长度")
    BigDecimal length;

    @ApiModelProperty(value = "重量")
    @NotNull(message = "请输入送验重量")
    BigDecimal weight;

    @ApiModelProperty(value = "送验车编号")
    @NotBlank(message = "请输入送验车编号")
    String pailNum;

    @ApiModelProperty(value = "地标码")
    String landmarkCode;

    @ApiModelProperty(value = "送验异常")
    String abnormal;

    @ApiModelProperty(value = "工位号")
    @NotBlank(message = "请输入工位号")
    String locationNo;

    @ApiModelProperty(value = "送验人")
    @NotBlank(message = "请输入送验人")
    String userName;

    @ApiModelProperty(value = "班次")
    @NotBlank(message = "请输入班次")
    String classNo;

    @ApiModelProperty(value = "班组")
    @NotBlank(message = "请输入班组")
    String teamGroup;

    @ApiModelProperty(value = "绑定时间", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date buildTime;

    @ApiModelProperty(value = "送检时间", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date inspectionTime;

    @ApiModelProperty(value = "送检完成时间", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date inspectionSuccessTime;

    @ApiModelProperty(value = "长晶棒id(production_long_crystal.id)")
    @NotNull(message = "请输入长晶棒id")
    Long longCrystalId;

    @ApiModelProperty(value = "是否单颗人工送验")
    // @NotBlank(message = "请输入是否单颗人工送验")
    Boolean isSingleCrystal;

    @ApiModelProperty(value = "是否自动送验")
    Boolean isAuto = false;
}