package cn.estsh.i3plus.pojo.mes.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.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @Description:
 * @Reference:
 * @Author: joke.wang
 * @CreateDate: 2019\11\14 19:36
 * @Modify:
 **/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name = "IF_DISMENTLE_RECORD")
@Api("物料拆解表")
public class IfDismantleRecord extends BaseBean implements Serializable {

    private static final long serialVersionUID = -4111096221719995107L;
    @Column(name = "DISMANTLE_ID")
    @ApiParam("拆解编号")
    private String dismantleId;

    @Column(name = "WORK_CENTER_CODE")
    @ApiParam("产线")
    private String workCenterCode;

    @Column(name = "WORK_CELL_CODE")
    @ApiParam("工位")
    private String workCellCode;

    @Column(name = "PARENT_PART_NO")
    @ApiParam("产品物料编码")
    private String parentPartNo;

    @Column(name = "PARENT_PART_NAME")
    @ApiParam("产品物料名称")
    private String parentPartName;

    @Column(name = "SN")
    @ApiParam("产品条码")
    private String sn;

    @Column(name = "QTY", columnDefinition = "decimal(18,8)")
    @ColumnDefault("0")
    @ApiParam("产品数量")
    private Double qty;

    @Column(name = "DISMANTLE_QTY")
    @ApiParam("拆解数")
    private BigDecimal dismantleQty;

    @Column(name = "ITEM_PART_NO")
    @ApiParam("子物料编码")
    private String itemPartNo;

    @Column(name = "ITEM_PART_NAME")
    @ApiParam("子物料名称")
    private String itemPartName;

    @Column(name = "OK_QTY")
    @ApiParam("合格数")
    private BigDecimal okQty;

    @Column(name = "MISS_QTY")
    @ApiParam("缺失数")
    private BigDecimal missQty;

    @Column(name = "SCRAP_QTY")
    @ApiParam("报废数")
    private BigDecimal scrapQty;

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

    @Column(name = "SYNC_STATUS")
    @ApiParam("同步状态")
    private Integer syncStatus;

    @Column(name = "ERROR_MESSAGE")
    @ApiParam("异常消息")
    private String errorMessage;

    @Column(name = "ACTION_CODE")
    @ApiParam("动作代码")
    private String actionCode;

    @Column(name = "IF_CODE")
    @ApiParam("接口代码")
    private String ifCode;

    @Column(name = "DEFECT_CODE")
    @ApiParam("缺陷代码")
    private String defectCode;
}
