package com.sw.mes.yb.turnstore.entity;

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

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author
 * @Description：
 * @Date: Create in
 * @Modified By:
 */
@Data
@Entity
@Table(name = "recheck_inspect_receive_detail")
@DynamicUpdate
@DynamicInsert
public class RecheckInspectReceiveDetail {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 托号
     */
    @Column(length = 50)
    private String trayNo;

    /**
     * 晶段编码
     */
    @Column(length = 100)
    private String crystalNo;

    /**
     * 圆棒产品等级
     */
    @Column(length = 32)
    private String productLevel;

    /**
     * 实验等级
     */
    @Column(length = 150)
    private String experGrade;

    /**
     * 规格
     */
    @Column(length = 50)
    private String specs;

    /**
     * 导电型号/型号
     */
    @Column(length = 5)
    private String conductiveType;

    /**
     * 入库长度(mm)
     */
    @Column(length = 19)
    private BigDecimal inputLength;

    /**
     * 入库重量(KG)
     */
    @Column(length = 19)
    private BigDecimal instoreWeight;

    /**
     * 圆棒重量
     */
    @Column(length=19)
    private BigDecimal weight;

    /**
     * 圆棒长度(mm)
     */
    @Column(length = 19)
    private BigDecimal length;

    /**
     * 细减长(mm)
     */
    @Column(length = 19)
    private BigDecimal fineCutLength;

    /**
     * 崩晶线(mm)
     */
    @Column(length = 19)
    private BigDecimal collapseLine;

    /**
     * 退料备注
     */
    @Column(length = 255)
    private String returnRemark;

    /**
     * 退料类型
     */
    @Column(length = 10)
    private String quitType;

    /**
     * 晶段类型
     */
    @Column(length=20)
    private String sectionType;

    /**
     * 复检类型
     */
    @Column(length=40)
    private String reCheckType;

    /**
     * 状态【0：默认，待确认；1：已入库；2：拒收；】
     */
    @Column(length = 10)
    private Integer state = 0;

    /**
     * 确认人
     */
    @Column(length = 50)
    private String confirmUser;

    /**
     * 确认时间
     */
    @Column(length = 19)
    @Temporal(TemporalType.TIMESTAMP)
    private Date confirmTime;


    public RecheckInspectReceiveDetail() {
    }

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