package com.prolog.upcloud.base.wh.operate.model;

import com.prolog.framework.bz.core.model.BaseModel;
import com.prolog.framework.core.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * WMS_REPLENISH_D
 *
 * @author
 */
@Data
@Table("WMS_REPLENISH_D")
public class WmsReplenishD extends BaseModel implements Serializable {
    /**
     * ID主键
     */
    @Id
    @AutoKey(type = AutoKey.TYPE_SNOWFLAKE)
    @Column("DETAIL_ID")
    private String detailId;

    /**
     * 主表ID
     */
    @Column("HEADER_ID")
    private String headerId;

    /**
     * 货主ID
     */
    @Column("CARGO_OWNER_ID")
    private String cargoOwnerId;

    /**
     * 行号
     */
    @Column("LINE_NUM")
    private String lineNum;

    /**
     * 行状态
     */
    @Column("STATUS")
    private String status;

    /**
     * 商品ID
     */
    @Column("ITEM_ID")
    private String itemId;

    /**
     * 商品编号
     */
    @Column("ITEM_CODE")
    private String itemCode;

    /**
     * 库别
     */
    @Column("WH_AREA_CATEGORY")
    private String whAreaCategory;

    /**
     * 库区ID
     */
    @Column("WH_AREA_ID")
    private String whAreaId;

    /**
     * 库区编号
     */
    @Column("WH_AREA_CODE")
    private String whAreaCode;

    /**
     * 货位ID
     */
    @Column("WH_LOCATOR_ID")
    private String whLocatorId;

    /**
     * 货位编号
     */
    @Column("WH_LOCATOR_CODE")
    private String whLocatorCode;

    @ApiModelProperty(value = "容器号")
    @Column("container_code")
    private String containerCode;

    /**
     * 商品批次ID
     */
    @Column("BATCH_ID")
    private String batchId;

    /**
     * 商品批次编号
     */
    @Column("BATCH_NUM")
    private String batchNum;

    /**
     * 批号
     */
    @Column("MANUFACTURER_LOT_NUM")
    private String manufacturerLotNum;

    /**
     * 生产日期
     */
    @Column("BATCH_PRODUCTION_DATE")
    private Date batchProductionDate;

    /**
     * 有效期至
     */
    @Column("BATCH_EXPIRED_DATE")
    private Date batchExpiredDate;

    /**
     * 单位
     */
    @Column("UOM")
    private String uom;

    /**
     * 转换因子
     */
    @Column("CONVERSION_RATE")
    private BigDecimal conversionRate;

    /**
     * 数量
     */
    @Column("QUANTITY")
    private BigDecimal quantity;

    /**
     * 最小单位数
     */
    @Column("PIECE_QUANTITY")
    private BigDecimal pieceQuantity;

    /**
     * 目标库别
     */
    @Column("TO_WH_AREA_CATEGORY")
    private String toWhAreaCategory;

    /**
     * 目标库区ID
     */
    @Column("TO_WH_AREA_ID")
    private String toWhAreaId;

    /**
     * 目标库区编号
     */
    @Column("TO_WH_AREA_CODE")
    private String toWhAreaCode;

    /**
     * 目标货位ID
     */
    @Column("TO_WH_LOCATOR_ID")
    private String toWhLocatorId;

    /**
     * 目标货位编号
     */
    @Column("TO_WH_LOCATOR_CODE")
    private String toWhLocatorCode;

    @ApiModelProperty(value = "目标容器")
    @Column("to_container_code")
    private String toContainerCode;

    @Column("OMS_BILL_NO")
    private String omsBillNo;

    @Column("ERP_SRC_ID")
    private String erpSrcId;

    @Column("ERP_SRC_NO")
    private String erpSrcNo;

    @Column("ERP_SRC_LINE_ID")
    private String erpSrcLineId;

    @Column("ASSIGN_UID")
    private String assignUid;

    /**
     * 类型：0=wms 1=补货到设备货位
     */
    @Column("type")
    private Integer type = 0;

    @ApiModelProperty(value = "是否已发出库指令（0-否；1-已发未达；2-已送达）")
    @Column("outbound_instruct")
    private Integer outboundInstruct;

    @Ignore
    private String id;
    @Ignore
    private String itemName;
    @Ignore
    private String bldgId;
    @Ignore
    private String bldgName;
    @Ignore
    private String bldgCode;
    @Ignore
    private BigDecimal length;
    @Ignore
    private BigDecimal width;
    @Ignore
    private BigDecimal height;
    @Ignore
    private BigDecimal volume;
    @Ignore
    private Integer isCaseOrPiece;
    @Ignore
    private BigDecimal weight;
    @Ignore
    private String whWarehouseLocatorType;
    @Ignore
    private String toWhWarehouseLocatorType;
    @Ignore
    private Long shelfLifeDays;
    @Ignore
    private String batchProductionDateShow;
    @Ignore
    private String batchExpiredDateShow;
    @Ignore
    private Integer floorNum;
    @Ignore
    private Integer toFloorNum;
    @Ignore
    private String itemPlaceType;
    @Ignore
    private String toItemPlaceType;
    @Ignore
    private String srcPickMode;
    @Ignore
    private String toPickMode;
    @Ignore
    private String warehouseId;

    private static final long serialVersionUID = 4322839246897974903L;
}
