package com.sw.mes.fb.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 = "fb_recheck_inspect_receive_detail")
@DynamicUpdate
@DynamicInsert
public class RecheckInspectReceiveDetail {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    /**
     * 退库复检接收ID(fb_recheck_inspect_receive.id)
     */
    @Column(length = 10)
    private Integer recheckReceiveId;
    /**
     * 托号
     */
    @Column(length = 50)
    private String trayNo;

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

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

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

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

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

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

    /**
     * 称重(KG)
     */
    @Column(length = 19)
    private BigDecimal weight;

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

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

    /**
     * 崩损(mm)
     */
    @Column(length = 19)
    private BigDecimal collapseLoss;

    /**
     * 长度斜(mm)
     */
    @Column(length = 19)
    private BigDecimal lengthSlope;

    /**
     * 晶体灰皮长度(mm)
     */
    @Column(length = 19)
    private BigDecimal crystalGrayness;

    /**
     * 方棒灰皮长度(mm)
     */
    @Column(length = 19)
    private BigDecimal fbCrystalGrayness;

    /**
     * 线痕长度(mm)
     */
    @Column(length = 19)
    private BigDecimal lineScratch;

    /**
     * 划痕长度(mm)
     */
    @Column(length = 19)
    private BigDecimal scratch;

    /**
     * 未磨到长度(mm)
     */
    @Column(length = 19)
    private BigDecimal noFriction;

    /**
     * 尺寸异常长度(mm)
     */
    @Column(length = 19)
    private BigDecimal sizeException;

    /**
     * 方棒备注
     */
    @Column(length = 100)
    private String squareRodRemark;

    /**
     * 检验类型
     */
    @Column(length = 50)
    private String checkoutName;

    /**
     * 入库类别
     */
    @Column(length = 5)
    private String inputType;

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

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

    /**
     * 状态【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;


    /**
     * 新增  20220830
     */

    /**
     * 料号
     */
    @Column(length = 50)
    private String materialNumber;

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

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


    /**
     * 产品类型
     */
    @Column(length=80)
    private String productType;

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

    /**
     * 检验时间
     */
    @Column(length = 19)
    @Temporal(TemporalType.TIMESTAMP)
    private Date checkTime;

    /**
     * 去向
     */
    @Column(length=40)
    private String hasGone;

    /**
     * 工单定向标识
     */
    @Column
    private String workOrderDirectionalIdentification;
    /**
     * 库存地点
     */
    @Column
    private String warehouseCode;
    /**
     * 批次号
     */
    @Column(length=50)
    private String batchNo;
    /**
     * sap返工工单
     */
    @Column(length=50)
    private String sapWorkOrder;

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


    public RecheckInspectReceiveDetail() {
    }

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