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

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @author wujunjie
 */
@Data
@ApiModel
public class ReplenishListVO {

    /**
     * 自动单号
     */
    private String autoBillNum;

    /**
     * 手动单号
     */
    private String customBillNum;

    /**
     * 数据来源
     */
    @ApiModelProperty("数据来源")
    private String sourceType;

    /**
     * 仓库ID
     */
    @ApiModelProperty("仓库ID")
    private String warehouseId;

    /**
     * 仓库ID
     */
    @ApiModelProperty("仓库名称")
    private String warehouseName;

    /**
     * 单据类型
     */
    @ApiModelProperty("单据类型")
    private String billType;

    /**
     * 业务类型
     */
    @ApiModelProperty("业务类型")
    private String businessType;

    /**
     * ID主键
     */
    @ApiModelProperty("明细编码")
    private String detailId;

    /**
     * 主表ID
     */
    @ApiModelProperty("头表编码")
    private String headerId;

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

    /**
     * 货主ID
     */
    @ApiModelProperty("货主名称")
    private String cargoOwnerName;

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

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

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

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

    @ApiModelProperty(value = "商品名称")
    private String itemName;

    @ApiModelProperty(value = "生产商ID")
    private String manufacturerId;

    @ApiModelProperty(value = "生产商名称")
    private String manufacturerName;

    @ApiModelProperty(value = "产地")
    private String countryOriginId;

    @ApiModelProperty(value = "商品大类")
    private String itemHealthCategory;

    @ApiModelProperty(value = "包装数量")
    private BigDecimal caseConversionRate;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /**
     * oms单号
     */
    @ApiModelProperty("oms单号")
    private String omsBillNo;
    /**
     * 源单ID
     */
    @ApiModelProperty("源单ID")
    private String erpSrcId;
    /**
     * 源单号
     */
    @ApiModelProperty("源单号")
    private String erpSrcNo;
    /**
     * 源单ID
     */
    @ApiModelProperty("源单ID")
    private String erpSrcLineId;

    @ApiModelProperty("商品规格")
    private String specification;

    @ApiModelProperty(value = "产地")
    private String productionPlace;

    @ApiModelProperty(value = "整件数")
    private Integer caseQuantity;

    @ApiModelProperty(value = "标签")
    private String barcode;
}
