package com.sw.mes.fb.checkout.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @Author
 * @Description：
 * @Date: Create in
 * @Modified By:
 */
@Data
@ApiModel(value = "FbCheckOutRecordDto")
public class FbCheckOutRecordDto {

    private Integer id;
    @ApiModelProperty(value = "当前提交日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date checkTime;
    @ApiModelProperty(value = "复检类型")
    String reCheckType;
    @ApiModelProperty(value = "当前录入人")
    String checkUserName;
    @ApiModelProperty(value = "检验类型id")
    Integer checkoutId;
    @ApiModelProperty(value = "检验类型name")
    String checkoutName;
    @ApiModelProperty(value = "检验类型")
    String checkType;
    @ApiModelProperty(value = "一体机编号")
    private String deviceNo;
    @ApiModelProperty(value = "弦长max ")
    BigDecimal chordLengthMax;
    @ApiModelProperty(value = "弦长min")
    BigDecimal chordLengthMin;
    @ApiModelProperty(value = "崩损(mm)")
    BigDecimal collapseLoss;
    @ApiModelProperty(value = "色差")
    BigDecimal colourDifference;
    @ApiModelProperty(value = "导电型号")
    String conductionType;
    @ApiModelProperty(value = "缝宽(mm)")
    BigDecimal crackWidth;
    @ApiModelProperty(value = "晶体灰皮长度(mm)")
    BigDecimal crystalGrayness;
    @ApiModelProperty(value = "平边晶向")
    String flatOrientation;
    @ApiModelProperty(value = "晶体晶向")
    String orientation;
    @ApiModelProperty(value = "直径max")
    BigDecimal diameterMax;
    @ApiModelProperty(value = "直径min")
    BigDecimal diameterMin;
    @ApiModelProperty(value = "方棒拼棒信息")
    String fbNoGroup;
    @ApiModelProperty(value = "平面手感")
    BigDecimal flatHandle;
    @ApiModelProperty(value = "头斜(mm)")
    BigDecimal headSlope;
    @ApiModelProperty(value = "尾斜(mm)")
    BigDecimal tailSlope;
    @ApiModelProperty(value = "亮斑")
    BigDecimal hotSpot;
    @ApiModelProperty(value = "棱崩")
    BigDecimal ridgeBroken;
    @ApiModelProperty(value = "圆棒入库长度(mm)")
    BigDecimal instoreLengthYb;
    @ApiModelProperty(value = "入库长度（方棒入库长度）")
    BigDecimal instoreLengthFb;
    @ApiModelProperty(value = "圆棒消耗长度")
    BigDecimal consumeLengthYb;
    @ApiModelProperty(value = "刀痕长度(mm)")
    BigDecimal knifeScratch;
    @ApiModelProperty(value = "方棒长度")
    BigDecimal length;
    @ApiModelProperty(value = "方棒长度")
    BigDecimal unmodifiedLength;
    @ApiModelProperty(value = "长度斜(mm)")
    BigDecimal lengthSlope;
    @ApiModelProperty(value = "线痕长度(mm)")
    BigDecimal lineScratch;
    @ApiModelProperty(value = "领料来源Name")
    String materialSourceName;
    @ApiModelProperty(value = "领料来源值(数据字典：方棒领料来源 ReceiveMaterials)")
    String materialSourceValue;
    @ApiModelProperty(value = "未磨到长度(mm)")
    BigDecimal noFriction;
    @ApiModelProperty(value = "平面锥度max")
    BigDecimal planeTaperMax;
    @ApiModelProperty(value = "平面锥度min")
    BigDecimal planeTaperMin;
    @ApiModelProperty(value = "圆棒实验等级")
    String ybExperiLevel;
    @ApiModelProperty(value = "入库类别")
    String productLevelFb;
    @ApiModelProperty(value = "产品等级/产品等级")
    String productLevel;
    @ApiModelProperty(value = "弧长投影max")
    BigDecimal projectionMax;
    @ApiModelProperty(value = "弧长投影min")
    BigDecimal projectionMin;
    @ApiModelProperty(value = "返切长度(mm)")
    BigDecimal recutLength;
    @ApiModelProperty(value = "外圆手感")
    BigDecimal roundHandle;
    @ApiModelProperty(value = "划痕长度(mm)")
    BigDecimal scratch;
    @ApiModelProperty(value = "拼缝处崩")
    private BigDecimal patchworkCollapse;
    @ApiModelProperty(value = "拼缝处裂")
    private BigDecimal patchworkCrack;
    @ApiModelProperty(value = "圆棒编号")
    String ybSectionNo;
    @ApiModelProperty(value = "方棒编号")
    String fbSectionNo;
    @ApiModelProperty(value = "边长max")
    BigDecimal sideLengthMax;
    @ApiModelProperty(value = "边长min")
    BigDecimal sideLengthMin;
    @ApiModelProperty(value = "尺寸异常长度(mm)")
    BigDecimal sizeException;
    @ApiModelProperty(value = "规格")
    String specification;
    @ApiModelProperty(value = "拼棒总长(mm)")
    BigDecimal spellBarLength;
    @ApiModelProperty(value = "方棒灰皮长度(mm)")
    BigDecimal squareRodGrayness;
    @ApiModelProperty(value = "方棒备注")
    String squareRodRemark;

    // 崩损灰皮边缘
    @ApiModelProperty(value = "崩损灰皮边缘")
    BigDecimal damageGreyHideEdge;
    @ApiModelProperty(value = "其他备注")
    String otherRemark;
    @ApiModelProperty(value = "方棒理论重量（kg）")
    BigDecimal theoryWeightFb;
    @ApiModelProperty(value = "垂直度max")
    BigDecimal verticalityMax;
    @ApiModelProperty(value = "垂直度min")
    BigDecimal verticalityMin;
    @ApiModelProperty(value = "水印")
    BigDecimal waterMark;
    @ApiModelProperty(value = "方棒称重")
    BigDecimal weight;
    @ApiModelProperty(value = "砂轮亮点")
    BigDecimal wheelHighLights;
    @ApiModelProperty(value = "砂轮印")
    BigDecimal wheelMark;
    @ApiModelProperty(value = "阴阳面")
    BigDecimal yinYangFace;
    @ApiModelProperty(value = "平抛生产编号")
    String flatThrowCode;
    @ApiModelProperty(value = "外圆生产编号")
    String outerCircleCode;
    @ApiModelProperty(value = "晶棒方向")
    String crystalDirection;
    @ApiModelProperty(value = "打托工位")
    String station;

    @ApiModelProperty(value = "掺杂剂")
    String dopant;
    @ApiModelProperty(value = "滚轮印")
    BigDecimal rollerPrint;
    @ApiModelProperty(value = "检验线编号")
    String checkLineNo;
    @ApiModelProperty(value = "放行长度（mm）")
    BigDecimal concessionLength;
    @ApiModelProperty(value = "塌边（mm）")
    BigDecimal collapse;
    @ApiModelProperty(value = "崩损灰皮非边缘")
    BigDecimal brokenGreyNoEdge;
    @ApiModelProperty(value = "灰皮非边缘")
    BigDecimal greyHideCenter;
    @ApiModelProperty(value = "灰皮边缘")
    BigDecimal greyHideEdge;
    @ApiModelProperty(value = "裂纹")
    BigDecimal crack;
    @ApiModelProperty(value = "细(细总长)")
    BigDecimal fineDiameter;
    @ApiModelProperty(value = "细减长")
    BigDecimal fineCutLength;
    @ApiModelProperty(value = "直径判定")
    String diamDecide;
    @ApiModelProperty(value = "拼数")
    Integer sticksCount;
    @ApiModelProperty(value = "订单号")
    String orderNo;
    @ApiModelProperty(value = "方棒尺寸是否抽检")
    Boolean isFbSizeCheck;
    @ApiModelProperty(value = "操作类型:0新增，1修改")
    private String operateType;
    @ApiModelProperty(value = "修改人")
    private String updateUser;
    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    @ApiModelProperty(value = "4M标识")
    private String flag4M;
    @ApiModelProperty(value = "缺陷代码")
    String defectCode;
    @ApiModelProperty(value = "缺陷描述")
    String defectDescription;
    @ApiModelProperty(value = "缺陷位置")
    String defectSite;
    @ApiModelProperty(value = "托盘编号")
    String trayCode;


    /**
     *
     */
    @ApiModelProperty(value = "崩边扣减上")
    private BigDecimal collapseLossSh;

    /**
     * 崩边扣减中(mm)
     */
    @ApiModelProperty(value = "崩边扣减中")
    private BigDecimal collapseLossZh;

    /**
     * 崩边扣减下(mm)
     */
    @ApiModelProperty(value = "崩边扣减下")
    private BigDecimal collapseLossXia;

    /**
     * 砂轮印扣减(mm)
     */
    @ApiModelProperty(value = "砂轮印扣减")
    private BigDecimal wheelPrintReduce;

    /**
     * 粗糙度异常(mm)
     */
    @ApiModelProperty(value = "粗糙度异常")
    private BigDecimal roughnessAbnormality;

    /**
     * 斜面扣减(mm)
     */
    @ApiModelProperty(value = "斜面扣减")
    private BigDecimal bevelDeduction;

    /**
     * 晶棒方向
     */
    @ApiModelProperty(value = "晶棒方向")
    private String crystalRodDirection;

    /**
     * 产品类型
     */
    @ApiModelProperty(value = "产品类型")
    private String productType;


    /**
     * EAP直径max(mm)
     */
    @Column(length=19)
    private BigDecimal eapDiameterMax;

    /**
     * EAP直径min(mm)
     */
    @Column(length=19)
    private BigDecimal eapDiameterMin;

    /**
     * EAP边长max(mm)
     */
    @Column(length=19)
    private BigDecimal eapSideMax;

    /**
     * EAP边长min(mm)
     */
    @Column(length=19)
    private BigDecimal eapSideMin;

    /**
     * 单晶段号
     */
    @Column(length = 10)
    private Integer piecewiseNum;

    /**
     * 头尾识别
     */
    @Column(length = 50)
    private String headTailRecognition;

    /**
     * 方棒边长
     */
    @ApiModelProperty(value = "方棒边长")
    private String sideLengthRange;

    /**
     * 方棒边长上限
     */
    @ApiModelProperty(value = "方棒边长上限")
    private String sideLengthRangeMax;

    /**
     * 方棒边长下限
     */
    @ApiModelProperty(value = "方棒边长下限")
    private String sideLengthRangeMin;

    /**
     * ip
     */
    @ApiModelProperty(value = "ip")
    private String point;


    @ApiModelProperty(value = "单晶段号" )
    String segmentNo;
    @ApiModelProperty(value = "是否外发【0：默认，否；1：是；】" )
    Integer outGoing;
    @ApiModelProperty(value = "是否外观检验返切【0：默认，否；1：是；】" )
    Integer backCut;
    @ApiModelProperty(value = "是否返切【0：默认，否；1：是；】" )
    Integer appearanceBackCut;
    @ApiModelProperty(value = "复检次数" )
    Integer retestNo;
    @ApiModelProperty(value = "评级时间" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date ratingTime;
    @ApiModelProperty(value = "检验日期" )
    String checkDate;
    @ApiModelProperty(value = "方棒减长长度(损耗)" )
    BigDecimal reducedLength;
    @ApiModelProperty(value = "晶段类型" )
    String sectionType;
    @ApiModelProperty(value = "等级码" )
    String levelCode;
    @ApiModelProperty(value = "损耗类型" )
    String consumeType;
    @ApiModelProperty(value = "A电阻率均值" )
    BigDecimal meanResistivityA;
    @ApiModelProperty(value = "B电阻率均值" )
    BigDecimal meanResistivityB;
    @ApiModelProperty(value = "A少子寿命均值" )
    BigDecimal meanCarrierLifetimeA;
    @ApiModelProperty(value = "B少子寿命均值" )
    BigDecimal meanCarrierLifetimeB;
    @ApiModelProperty(value = "T段电阻率" )
   @JsonProperty("tResistivity")
    BigDecimal tResistivity;
    @ApiModelProperty(value = "W段电阻率" )
   @JsonProperty("wResistivity")
    BigDecimal wResistivity;
    @ApiModelProperty(value = "T段少子寿命" )
   @JsonProperty("tCarrierLifetime")
    BigDecimal tCarrierLifetime;
    @ApiModelProperty(value = "W段少子寿命" )
   @JsonProperty("wCarrierLifetime")
    BigDecimal wCarrierLifetime;
    @ApiModelProperty(value = "T段氧含量" )
   @JsonProperty("tOxygenContent")
    BigDecimal tOxygenContent;
    @ApiModelProperty(value = "W段氧含量" )
   @JsonProperty("wOxygenContent")
    BigDecimal wOxygenContent;
    @ApiModelProperty(value = "T段碳含量" )
   @JsonProperty("tCarbonContent")
    BigDecimal tCarbonContent;
    @ApiModelProperty(value = "W段碳含量" )
   @JsonProperty("wCarbonContent")
    BigDecimal wCarbonContent;
    @ApiModelProperty(value = "棱孔距头位置" )
    Integer holePosition;
    @ApiModelProperty(value = "崩边距头位置" )
    Integer chipPosition;
    @ApiModelProperty(value = "未磨出距头位置" )
    Integer unfinishedPosition;
    @ApiModelProperty(value = "线痕距头位置" )
    Integer linePosition;
    @ApiModelProperty(value = "线痕长度" )
    Integer lineLength;
    @ApiModelProperty(value = "磨轮印距头位置" )
    Integer sealPosition;
    @ApiModelProperty(value = "磨轮印阶长度" )
    Integer sealLength;
    @ApiModelProperty(value = "刀痕/划伤距头位置" )
    Integer scratchesPosition;
    @ApiModelProperty(value = "刀痕/划伤长度" )
    Integer scratchesLength;
    @ApiModelProperty(value = "面内踏陷距头位置" )
    Integer stepPosition;
    @ApiModelProperty(value = "面内踏陷长度" )
    Integer stepLength;
    @ApiModelProperty(value = "边宽max" )
    BigDecimal sideWideMax;
    @ApiModelProperty(value = "边宽min" )
    BigDecimal sideWideMin;
    @ApiModelProperty(value = "倒角max" )
    BigDecimal chamferMax;
    @ApiModelProperty(value = "倒角min" )
    BigDecimal chamferMin;
    @ApiModelProperty(value = "单晶拉制异常" )
    String crystalAbnormal;
    @ApiModelProperty(value = "完结标识" )
    String closureIdentification;
    @ApiModelProperty(value = "拉晶车间" )
    String crystalWorkshop;
    @ApiModelProperty(value = "片区" )
    String area;
    @ApiModelProperty(value = "炉台类型【0:默认；0-量产;2-研发;】" )
    Integer furnaceType;
    @ApiModelProperty(value = "片区" )
    String factory;
    @ApiModelProperty(value = "炉次号" )
    String lotNo;
    @ApiModelProperty(value = "工单类型(开方工单)" )
    String workOrderType;
    @ApiModelProperty(value = "工单编号" )
    String workOrderNo;
    @ApiModelProperty(value = "物料编码" )
    String materialCode;
    @ApiModelProperty(value = "产品简称" )
    String abbreviation;
    @ApiModelProperty(value = "产品配方" )
    String formulation;
    @ApiModelProperty(value = "评级标准版本" )
    String gradeVersion;
    @ApiModelProperty(value = "检验班组" )
    String checkClass;

    @ApiModelProperty(value = "扩展字段数据" )
    List<FieldExtensionShowDto> fieldExtensionShowDtoList;


    @ApiModelProperty(value = "批次号")
    private String batchNo;

    @ApiModelProperty(value = "棱孔长度" )
    Integer holeLength;
    @ApiModelProperty(value = "崩边长度" )
    Integer chipLength;

    @ApiModelProperty(value = "未磨出长度" )
    Integer unfinishedLength;

    @ApiModelProperty(value = "线痕长度" )
    private Integer sawLength;
    @ApiModelProperty(value = "磨轮印长度" )
    private Integer wheelLength;
    @ApiModelProperty(value = "刀痕长度" )
    private Integer toolLength;
    @ApiModelProperty(value = "面内缺陷长度" )
    private Integer defectLength;
    @ApiModelProperty(value = "划痕长度" )
    private Integer scratchLength;
    @ApiModelProperty(value = "色差长度" )
    private Integer difcolorLength;
    @ApiModelProperty(value = "粗磨未磨出长度" )
    private Integer polishunfinishedLength;

    @ApiModelProperty(value = "来料少长度" )
    private Integer insufficientLength;

    @ApiModelProperty(value = "工单定向标识")
    String zorientationind;

}
