package cn.estsh.i3plus.ext.mes.pcn.pojo.bean;

import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.ColumnDefault;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;
import java.io.Serializable;

/**
 * @Description :
 * @Reference :
 * @Author : steven.peng
 * @CreateDate : 2023-01-10 13:14
 * @Modify:
 **/
@Data
@Entity
@DynamicUpdate
@DynamicInsert
@EqualsAndHashCode(callSuper = true)
@Table(name = "MES_OUTER_PACKAGE", indexes = {
    @Index(columnList = "OUTER_PACKAGE_NO")
    })
@Api("大包装条码表")
public class MesOuterPackage extends BaseBean implements Serializable {
    private static final long serialVersionUID = 730507520101633655L;


    @Column(name = "OUTER_PACKAGE_NO")
    @ApiParam("大包装条码")
    private String outerPackageNo ;

    /** 容器编号 */
    @Column(name = "CT_NO")
    @ApiParam("容器编号")
    private String ctNo ;
    /** 是否封箱 */
    @Column(name = "IS_SEALED")
    @ApiParam("是否封箱")
    private Integer isSealed ;
    /** 打印状态10：未打印 20：已打印 */
    @Column(name = "PRINT_STATUS")
    @ApiParam("打印状态10：未打印 20：已打印")
    private Integer printStatus ;
    /** 生产工单号 */
    @Column(name = "WORK_ORDER_NO")
    @ApiParam("生产工单号")
    private String workOrderNo ;
    /** 工单类型 */
    @Column(name = "WORK_ORDER_TYPE")
    @ApiParam("工单类型")
    private Integer workOrderType ;
    /** 工作单元代码 */
    @Column(name = "WORK_CELL_CODE")
    @ApiParam("工作单元代码")
    private String workCellCode ;
    /** 工作单元名称 */
    @Column(name = "WORK_CELL_NAME")
    @ApiParam("工作单元名称")
    private String workCellName ;
    /** 工作中心代码 */
    @Column(name = "WORK_CENTER_CODE")
    @ApiParam("工作中心代码")
    private String workCenterCode ;
    /** 生产线名称 */
    @Column(name = "WORK_CENTER_NAME")
    @ApiParam("生产线名称")
    private String workCenterName ;
    /** 班次代码 */
    @Column(name = "SHIFT_CODE")
    @ApiParam("班次代码")
    private String shiftCode ;
    /** 作业时间 */
    @Column(name = "WORK_TIME")
    @ApiParam("作业时间")
    private String workTime ;
    /** 数量 */
    @Column(name = "QTY")
    @ApiParam("数量")
    private Double qty ;
    /** 备注 */
    @Column(name = "MEMO")
    @ApiParam("备注")
    private String memo ;
    /** 物料名称 */
    @Column(name = "PART_NAME_RDD")
    @ApiParam("物料名称")
    private String partNameRdd ;
    /** 物料号 */
    @Column(name = "PART_NO")
    @ApiParam("物料号")
    private String partNo ;
    /** 条码类型 默认为10 */
    @Column(name = "SAMPLE_TYPE")
    @ApiParam("条码类型 默认为10")
    private String sampleType ;
    /** 系统同步标志 */
    @Column(name = "SYSTEM_SYNC_STATUS")
    @ApiParam("系统同步标志")
    @ColumnDefault("2")
    private Integer systemSyncStatus = 2;

    @Column(name = "PACKAGE_LABEL_TEMPLATE")
    @ApiParam("包装标签模板")
    private String packageLabelTemplate;

    @Column( name = "LOT_NO")
    @ApiParam("批号")
    private String lotNo;

    @Transient
    @ApiParam("小包装条码")
    private String innerPackageNo;

}
