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

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

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

/**
 * @Author: JS111816
 * @Description:
 * @Date: 2022/8/2
 * @Modified By:
 **/
@Data
@ApiModel("圆棒画线头")
public class DrawLineDto {
    @ApiModelProperty(name = "托盘号")
    private String vehicleCode;
    @ApiModelProperty(name = "晶体编号",required = true)
    private String crystalNo;
    @ApiModelProperty("样片数")
    private int samplesCount;
    @ApiModelProperty("画线段数")
    private int crystalCount;
    @ApiModelProperty("有效长度")
    private int effectiveLength;
    @ApiModelProperty(name = "画线长度",required = true)
    private int length;
    @ApiModelProperty("打印份数")
    private Integer printNum;
    @ApiModelProperty("打印标签类型")
    private String printType;
    @ApiModelProperty("去头原因")
    private String topCause;
    @ApiModelProperty("去尾原因")
    private String endCause;
    @ApiModelProperty("画线去头长度")
    private BigDecimal noTopLength;
    @ApiModelProperty("画线去尾长度")
    private BigDecimal lineTailLength;
    @ApiModelProperty("画线方向")
    private String startLinePostion;
    @ApiModelProperty("班次")
    private String classNo;
    @ApiModelProperty("班组")
    private String teamGroup;
    @ApiModelProperty("直径最大值")
    private BigDecimal maxDiam;
    @ApiModelProperty("直径最小值")
    private BigDecimal minDiam;
    @ApiModelProperty("备注")
    private String remarks;
    @ApiModelProperty("开始时间")
    private Date startTime;
    @ApiModelProperty("结束时间")
    private Date endTime;
    @ApiModelProperty("操作人")
    private String operatorUser;
    @ApiModelProperty("氧化程度-字典取值：正常；轻微；严重")
    private String oxidize;


    @ApiModelProperty("去尾明细")
    List<LineCutTail>lineCutTails;
    @ApiModelProperty("去头明细")
    List<LineCutTail>lineCutHeads;
    @ApiModelProperty("中间段异常明细")
    List<DrawLineExceptionDto>lineCutMiddles;

    @ApiModelProperty("缺陷异常长度")
    private BigDecimal defectLength;

    @ApiModelProperty("缺陷异常原因")
    private String defectReason;


    @ApiModelProperty(name = "画线明细", required = true)
    private List<DrawLineDetailDto> lineDetailedDtos = new ArrayList<>();

    @ApiModelProperty(value = "等径长度")
    BigDecimal isometricLength;

    @ApiModelProperty(value = "型号")
    String conductiveType;
    @ApiModelProperty(value = "重量")
    BigDecimal weight;
    @ApiModelProperty(value = "头长度")
    BigDecimal headLen;

    @ApiModelProperty(value = "尾长度")
    BigDecimal tailLen;

    @ApiModelProperty(value = "是否氧化【0：默认，否；1：是；】")
    Integer oxidate;

    @ApiModelProperty(value = "是否发白【0：默认，否；1：是；】")
    Integer turnPale;

    @ApiModelProperty("试加工【0：默认，否；1：是；】")
    Integer trialProcess;

    @ApiModelProperty("头电阻")
    BigDecimal headResistance;
    @ApiModelProperty("尾电阻")
    BigDecimal tailResistance;
    @ApiModelProperty(value = "结果判定")
    private String assessment;

    @ApiModelProperty(value = "整根报废标识")
    private Boolean scrapIdentification;

    @ApiModelProperty("高氧晶棒【0：默认，否；1：是；】")
    Integer highOxygen;
}
