/**
 * There are <a href="https://github.com/ketayao/keta-custom">keta-custom</a> code generation
 */
package com.sw.mes.yb.pad.entity;

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

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

import javax.persistence.*;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

/**
 * @Author
 * @Description： 画线记录表
 * @Date: Create in
 * @Modified By:
 */
@Data
@Entity
@Table(name = "production_painting_line")
@DynamicUpdate
@DynamicInsert
public class ProductionPaintingLine {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 炉次号
     */
    @Column(length = 50)
    private String lotNo;

    /**
     * 单晶编号
     */
    @Column(length = 50)
    private String crystalNo;

    /**
     * 画线人员
     */
    @Column(length = 50)
    private String userName;

    /**
     * 是否见锅底 (1代表是,0代表否)
     */
    @Column(length = 3)
    private Integer isSeeBottom;

    /**
     * 温度
     */
    @Column(length = 16)
    private String temperature;

    /**
     * 打磨电阻率
     */
    @Column(length = 32)
    private String resistivity;

    /**
     * 掺杂剂
     */
    @Column(length = 32)
    private String dopant;

    /**
     * 最小直径
     */
    @Column(length = 19)
    private BigDecimal minDiam;

    /**
     * 最大直径
     */
    @Column(length = 19)
    private BigDecimal maxDiam;

    /**
     * 是否收尾
     */
    @Column(length = 3)
    private Integer isWindUp;

    /**
     * 送验长度
     */
    @Column(length = 19)
    private BigDecimal submitLength;

    /**
     * 画线有效长度
     */
    @Column(length = 19)
    private BigDecimal validLength;

    /**
     * 画线去头长度
     */
    @Column(length = 19)
    private BigDecimal noTopLength;

    /**
     * 样片数
     */
    @Column(length = 10)
    private Integer pieceNum;

    /**
     * 画线段数
     */
    @Column(length = 10)
    private Integer lineNum;

    /**
     * 班次
     */
    @Column(length = 50)
    private String classNo;

    /**
     * 班组
     */
    @Column(length = 50)
    private String teamGroup;

    /**
     * 投料量
     */
    @Column(length = 19)
    private BigDecimal materialCount;

    /**
     * 去头原因
     */
    @Column(length = 100)
    private String topCause;

    /**
     * 去尾原因
     */
    @Column(length = 100)
    private String endCause;

    /**
     * 开始时间
     */
    @Column(length = 19)
    @Temporal(TemporalType.TIMESTAMP)
    private Date startTime;

    /**
     * 结束时间
     */
    @Column(length = 19)
    @Temporal(TemporalType.TIMESTAMP)
    private Date endTime;

    /**
     * 尾部返切长度
     */
    @Column(length = 19)
    private BigDecimal unEndLength;

    /**
     * 断苞长度
     */
    @Column(length = 19)
    private BigDecimal bractLength;

    /**
     * 其他直径异常
     */
    @Column(length = 50)
    private String otherDiam;

    /**
     * 其他直径异常损失长度
     */
    @Column(length = 19)
    private BigDecimal lossLength;

    /**
     * 实验备注
     */
    @Column(length = 255)
    private String experRemark;

    /**
     * 载具编号
     */
    @Column(length = 255)
    private String vehicleCode;

    /**
     * 备注
     */
    @Column(length = 255)
    private String remark;

    /**
     * 画线去尾长度
     */
    @Column(length = 19)
    private BigDecimal lineTailLength;

    /**
     * 是否孪晶
     */
    @Column(length = 3)
    private Integer isTwinCrystal;

    /**
     * 孪晶位置
     */
    @Column(length = 50)
    private String twinCrystalSite;

    /**
     * 孪晶长度
     */
    @Column(length = 19)
    private BigDecimal twinCrystalLength;

    /**
     * 画线实验标记
     */
    @Column(length = 30)
    private String drawLine;

    /**
     * 标签打印类型(0头、1尾、2晶段、3样片)
     */
    @Column(length = 3)
    private String printType;

    @Column(length = 11)
    private Integer printNum;

    /**
     * 等径长度
     */
    @Column(length = 19)
    private BigDecimal isometricLength;

    /**
     * 划线类型
     */
    @Column(length = 19)
    private String program;

    /**
     * 氧化程度-字典取值：正常；轻微；严重
     */
    @Column(length = 50)
    private String oxidize;


    @ApiModelProperty(value = "去尾原因位错")
    String positionStaggered;

    @ApiModelProperty(value = "去尾原因晶裂")
    String crystalSplitting;

    @ApiModelProperty(value = "去尾原因多晶")
    String multipleCrystals;

    @ApiModelProperty(value = "位错长度")
    BigDecimal positionStaggeredLength;

    @ApiModelProperty(value = "晶裂长度")
    BigDecimal crystalSplittingLength;

    @ApiModelProperty(value = "多晶长度")
    BigDecimal multipleCrystalsLength;


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

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

    /**
     * 型号
     */
    @Column(length = 19)
    private String conductiveType;

    /**
     * 重量
     */
    @Column(length = 19)
    private BigDecimal weight;
    /**
     * 头长度
     */
    @Column(length = 19)
    private BigDecimal headLen;

    /**
     * 尾长度
     */
    @Column(length = 19)
    private BigDecimal tailLen;

    /**
     * 是否氧化【0：默认，否；1：是；】
     */
    @Column(length = 19)
    private Integer oxidate;

    /**
     * 是否发白【0：默认，否；1：是；】
     */
    @Column(length = 19)
    private Integer turnPale;

    /**
     * 是否完结
     */
    @Column(length = 20)
    private String complete;
    /**
     * 划线方案Id
     */
    @Column(length = 20)
    private Integer paintingLineId;

    /**
     * 中间段原因
     */
    @Column(length = 100)
    private String middleAbnormalReason;

    /**
     * '中间段长度
     */
    @Column(length = 100)
    private String middleAbnormalLength;


    /**
     * 试加工【0：默认，否；1：是；】
     */
    @Column(length = 2)
    private Integer trialProcess;

    /**
     * 头电阻
     */
    @Column(length = 19)
    private BigDecimal headResistance;
    /**
     * 尾电阻
     */
    @Column(length = 19)
    private BigDecimal tailResistance;

    /**
     * 理论重量
     */
    @Column(length = 19)
    private BigDecimal theoryWeight;

    /**
     * 结果判定
     */
    @Column(length = 20)
    private String assessment;

    /**
     * 设备所属片区
     */
    @Column(length = 50)
    private String series;

    /**
     * 所属模块
     */
    @Column(length = 50)
    private String area;

    /**
     * 损耗中间异常展示
     */
    @Transient
    private String middleAbnormalReasonShow;

    /**
     * 高氧晶棒【0：默认，否；1：是；】
     */
    @Column(length = 2)
    private Integer highOxygen;


    public ProductionPaintingLine() {
    }

    public ProductionPaintingLine(Long id) {
        this.id = id;
    }

}
