package com.sw.mes.yb.pad.dto;

import com.sw.mes.base.factory.inspect.entity.PaintingLine;
import com.sw.mes.base.factory.inspect.entity.PickingRule;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

@Data
@ApiModel("圆棒画线匹配入参(自动化)")
public class AutoDrawLineDto {
    @ApiModelProperty(name = "晶体编号", required = true)
    @NotNull(message = "晶体编号不能为空")
    private String crystalNo;
    @ApiModelProperty("托盘")
    private String trayNo;
    @ApiModelProperty(name = "有效长度", required = true)
    @NotNull(message = "有效长度不能为空")
    private int effectiveLength;
    @ApiModelProperty(name = "已选择的画线规则")
    private List<PaintingLine> paintingLine;
    @ApiModelProperty(name = "已选择取片规则，没有传就取默认")
    private List<PickingRule> pickingRule;
    @ApiModelProperty(name = "中间段异常")
    @Valid
    private List<DrawLineExceptionDto> midExeceptionLen;
    @ApiModelProperty("去头长度")
    private int headLength;
    @ApiModelProperty("去尾长度")
    private int tailLength;
    @ApiModelProperty(name = "长度", required = true)
    @NotNull(message = "长度不能为空")
    private int length;
    @ApiModelProperty(value = "等径长度")
    BigDecimal isometricLength;
    @ApiModelProperty(value = "型号")
    String conductiveType;
    @ApiModelProperty(value = "重量")
    BigDecimal weight;
    @ApiModelProperty(value = "头长度")
    BigDecimal headLen;
    @ApiModelProperty(value = "尾长度")
    BigDecimal tailLen;
    @ApiModelProperty(value = "是否氧化【0：默认，否；1：是；】", required = true)
    @NotNull(message = "是否氧化不能为空")
    Integer oxidate;
    @ApiModelProperty(value = "是否发白【0：默认，否；1：是；】")
    Integer turnPale;
    @ApiModelProperty(value = "是否完结【0：默认，否；1：是；】")
    Integer complete;
    @ApiModelProperty(value = "最小直径", required = true)
    @NotNull(message = "最小直径不能为空")
    BigDecimal minDiam;
    @ApiModelProperty(value = "最大直径", required = true)
    @NotNull(message = "最大直径不能为空")
    BigDecimal maxDiam;
    @ApiModelProperty(value = "结果判定", required = true)
    @NotNull(message = "结果判定不能为空")
    private String assessment;
    @ApiModelProperty(value = "高氧晶棒【0：默认，否；1：是；】", required = true)
    @NotNull(message = "是否高氧不能为空")
    Integer highOxygen;
    @ApiModelProperty(value = "试加工【0：默认，否；1：是；】", required = true)
    @NotNull(message = "试加工不能为空")
    Integer trialProcess;

}
