package com.sw.mes.yb.pc.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;

/**
 * 整棒信息
 */
@Data
@Entity
@Table(name = "zhxx_data_section")
@DynamicUpdate
@DynamicInsert
public class Section {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 长度集合
     */
    @Column(length=255)
    private String lengthGroup;

    /**
     * 操作时间
     */
    @Column(length=19)
    @Temporal(TemporalType.TIMESTAMP)
    private Date operateTime;

    /**
     * 出库时间
     */
    @Column(length=19)
    @Temporal(TemporalType.TIMESTAMP)
    private Date outStoreTime;

    /**
     * 产品等级
     */
    @Column(length=100)
    private String productRank;

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

    /**
     * 记录人id
     */
    @Column(length=100)
    private String workNo;

    /**
     * 记录人
     */
    @Column(length=100)
    private String recordUser;

    /**
     * 晶段编号(短棒)
     */
    @Column(length=50)
    private String sectionNo;

    /**
     * 晶段编号集合
     */
    @Column(length=255)
    private String sectionNoGroup;

    /**
     * 段数
     */
    @Column(length=10)
    private Integer stickCount;

    /**
     * 状态 0未解绑 1已解绑
     */
    @Column(length=3)
    private Integer state;

    /**
     * 总长
     */
    @Column(length=19)
    private BigDecimal totalLength;

    /**
     * 托盘编号
     */
    @Column(length=100)
    private String trayCode;

    /**
     * rfid
     */
    @Column(length=255)
    private String rfid;

    /**
     * 产品实验等级
     */
    @Column(length=100)
    private String productRankExperiment;

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

    /**
     * 圆棒称重
     */
    @Column(length=19)
    private BigDecimal actualWeight;

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

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

    /**
     * 解绑人id
     */
    @Column(length=10)
    private Integer unbundlingUserId;

    /**
     * 解绑人姓名
     */
    @Column(length=255)
    private String unbundlingUserName;

    /**
     * 解绑时间
     */
    @Column(length=19)
    @Temporal(TemporalType.TIMESTAMP)
    private Date unbundlingTime;

    /**
     * 重量集合
     */
    @Transient
    private String weightGroup;

    /**
     * 解绑原因
     */
    @Column(length=255)
    private String relieveReason;

    /**
     * 拼棒来源 1：自动拼棒，0：人工拼棒
     */
    @Column(length=2)
    private Integer source;

    public Section() {
    }

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

}
