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

import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.mes.model.MesButtonFlagModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.*;
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 javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;

/**
 * @Description :
 * @Reference :
 * @Author : joke
 * @CreateDate : 2020-03-06 10:16 上午
 * @Modify:
 **/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name = "MES_QUEUE_JIT_ACTUAL")
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Api("MES_客户JIT生产队列")
public class MesQueueJitActual extends BaseBean implements Serializable {
    private static final long serialVersionUID = 655875369308810110L;

    @Column(name = "JIS_ACTUAL_NO")
    @ApiParam("队列编号")
    private String jisActualNo;

    @Column(name = "PROD_CFG_CODE")
    @ApiParam("配置代码")
    private String prodCfgCode;

    @Column(name = "VIN_CODE")
    @ApiParam("vin")
    private String vinCode;

    @Column(name = "CUST_FLAG_NO")
    @ApiParam("客户标识号")
    private String custFlagNo;

    @Column(name = "SEQ", columnDefinition = "decimal(18,8)")
    @ColumnDefault("0")
    @ApiParam("排序号")
    private Double seq;

    @Column(name = "STATUS")
    @ApiParam("状态")
    private Integer status;

    @Column(name = "SPECIAL_FLAG")
    @ApiParam("特殊标识")
    private Integer specialFlag;

    @Column(name = "CUST_POINT_DATE")
    @ApiParam("客户需求时间")
    private String custPointDate;

    @Column(name = "CUST_CODE")
    @ApiParam("客户代码")
    private String custCode;

    @Column(name = "CUST_PLANT_CODE")
    @ApiParam("客户工厂代码")
    private String custPlantCode;

    @Column(name = "MEMO")
    @ApiParam("备注")
    private String memo;

    @Column(name = "PG_CODE")
    @ApiParam("生产组代码")
    private String pgCode;

    @Column(name = "JIT_SEQ")
    @ApiParam("JIT排序号")
    private String jitSeq;

    @Column(name = "JIA_SEQ")
    @ApiParam("JIA排序号")
    private String jiaSeq;

    @Column(name = "SUPPLIER_CODE")
    @ApiParam("供应商代码")
    private String supplierCode;

    @Column(name = "SUPPLIER_NAME")
    @ApiParam("供应商名称")
    private String supplierName;

    @Column(name = "VEHICLE_CODE")
    @ApiParam("车型代码")
    private String vehicleCode;

    @Column(name = "VEHICLE_NAME")
    @ApiParam("车型名称")
    private String vehicleName;

    @Column(name = "MODEL_YEAR")
    @ApiParam("年度型")
    private String modelYear;

    @Column(name = "CAR_MODEL_CODE")
    @ApiParam("车系编号")
    private String carModelCode;

    @Column(name = "CAR_SERIES")
    @ApiParam("车系名称")
    private String carSeries;

    @Column(name = "CUST_PROD_LINE_CODE")
    @ApiParam("客户产线代码")
    private String custProdLineCode;

    @Column(name = "PROD_CFG_TYPE_CODE")
    @ApiParam("项目代码")
    private String prodCfgTypeCode;

    @Column(name = "IS_LOCK")
    @ApiParam("锁定标识")
    private Integer isLock;

    @Column(name = "WO_TYPE")
    @ApiParam("工单类型")
    private Integer woType;

    @Column(name = "OFFLINE_TIME")
    @ApiParam("下线时间")
    private String offlineTime;

    @Column(name = "NOTICE_SIGN")
    @ApiParam("通知标识")
    private Integer noticeSign = 10;

    @Column(name = "REPLACE_VIN_CODE")
    @ApiParam("替换vin")
    private String replaceVinCode;

    @Transient
    @ApiParam("创建时间")
    private String cdtTruncated;

    @Transient
    @ApiParam("客户需求开始时间")
    private String custPointStartDate;

    @Transient
    @ApiParam("客户需求结束时间")
    private String custPointEndDate;

    @Transient
    @ApiParam("产品配置名称")
    private String prodCfgName;

    @Transient
    @ApiParam("状态名称")
    private String statusName;

    @Transient
    @ApiParam("特殊标识名称")
    private String specialFlagName;

    @Transient
    @ApiParam(value = "下达按钮编号")
    public String buttonCode;

    @Transient
    @ApiParam(value = "零件号")
    public String partNo;

    @Transient
    @ApiParam(value = "客户零件号")
    public String custPartNo;

    @Transient
    @ApiParam(value = "qty")
    public Integer qty;

    @Transient
    @ApiParam("工单类型")
    private String woTypeName;

}
