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

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

import javax.persistence.Column;
import javax.persistence.Lob;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@ApiModel(value = "创建划线记录参数")
public class LineDetailedParamDto {
    @ApiModelProperty(value = "单晶编号")
    String crystalNo;
    @ApiModelProperty(value = "直径开始，直径异常长度")
    List<int[]> unusualLengths;
    @ApiModelProperty(value = "鸾晶开始，鸾晶长度")
    List<int[]> unusualLength1s;
    @ApiModelProperty(value = "样片数")
    int samplesCount;
    @ApiModelProperty(value = "画线段数")
    int crystalCount;
    @ApiModelProperty(value = "画线长度")
    private int length;
    @ApiModelProperty(value = "有效长度")
    int effectiveLength;
    List<LineDetailedDto> lineDetailedDtos;
    @ApiModelProperty(value = "温度")
    String temperature;
    @ApiModelProperty(value = "载具编号")
    String vehicleCode;
    /**
     * 最小直径
     */
    @ApiModelProperty(value = "最小直径")
    private BigDecimal minDiam;

    /**
     * 最大直径
     */
    @ApiModelProperty(value = "最大直径")
    private BigDecimal maxDiam;

    @ApiModelProperty(value = "画线实验标记")
    private String drawLine;
    /**
     * 打磨电阻率
     */
    @ApiModelProperty(value = "打磨电阻率")
    String resistivity;
    @ApiModelProperty(value = "画线去头长度")
    BigDecimal noTopLength;
    @ApiModelProperty(value = "画线去尾长度")
    BigDecimal lineTailLength;
    @ApiModelProperty(value = "班次")
    String classNo;
    @ApiModelProperty(value = "班组")
    String teamGroup;
    @ApiModelProperty(value = "去头原因")
    String topCause;
    @ApiModelProperty(value = "去尾原因")
    String endCause;
    @ApiModelProperty(value = "开始时间")
    @Temporal(TemporalType.TIMESTAMP)
    Date startTime;
    @ApiModelProperty(value = "结束时间")
    @Temporal(TemporalType.TIMESTAMP)
    Date endTime;
    @ApiModelProperty(value = "备注")
    String remarks;
    @ApiModelProperty(value = "打印份数")
    Integer printNum;
    @ApiModelProperty(value = "打印标签类型")
    String printType;
    @ApiModelProperty(value = "划线类型")
    String program;
    @ApiModelProperty("操作人")
    private String operatorUser;

    @ApiModelProperty("画线方向")
    private String startLinePostion;

    @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("试加工【0：默认，否；1：是；】")
    private Integer trialProcess;

    @ApiModelProperty("头电阻")
    BigDecimal headResistance;
    @ApiModelProperty("尾电阻")
    BigDecimal tailResistance;

    @ApiModelProperty(value = "结果判定")
    private String assessment;

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

    @ApiModelProperty(value = "回收料总长度")
    BigDecimal totalLength;

    @ApiModelProperty(value = "中间损失原因")
    String middleAbnormalReason;

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