package com.prolog.cs.biz.outbound.model.dto;

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

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

/**
 * @Description 波次库存预占
 * @Date 2021-04-30
 */
@Data
@ApiModel
public class WaveStorageDTO extends BaseModel implements Serializable {
    private static final long serialVersionUID = 6826294012843365546L;

    @ApiModelProperty(value = "主键id")
    private String id;

    @ApiModelProperty(value = "波次订单明细id")
    private String waveBillDId;

    @ApiModelProperty(value = "仓库id")
    private String warehouseId;

    @ApiModelProperty(value = "批次id")
    private String batchId;

    @ApiModelProperty(value = "批次号")
    private String batchNum;

    @ApiModelProperty(value = "数量")
    private BigDecimal qty;

    @ApiModelProperty(value = "单位")
    private String uom;

    @ApiModelProperty(value = "最大包装含量")
    private BigDecimal caseConversionRate;

    @ApiModelProperty(value = "库位id")
    private String warehouseLocatorId;

    @ApiModelProperty(value = "库位类型（0-整件/1-散件/2-整散合一）")
    private String warehouseLocatorType;

    @ApiModelProperty(value = "有效期至")
    private Date expiredDate;

    @ApiModelProperty(value = "生产日期")
    private Date productionDate;

    @ApiModelProperty(value = "保质期天数")
    private BigDecimal shelfLifeDays;

    @ApiModelProperty(value = "总体积")
    private BigDecimal volume;

    @ApiModelProperty(value = "总重量")
    private BigDecimal weight;

    @ApiModelProperty(value = "库区编码")
    private String warehouseAreaCode;

    @ApiModelProperty(value = "拣货模式(Device-AGV拣货)-库区属性")
    private String pickModel;

    @ApiModelProperty(value = "楼层")
    private BigDecimal floorNum;

    @ApiModelProperty(value = "库位巷道编码")
    private String locatorLaneCode;

    @ApiModelProperty(value = "拣货顺序-货位属性")
    private BigDecimal outIndex;

    @ApiModelProperty(value = "分组(01,02) - 库区属性")
    private String pickPieceGroup;

    private String segment1;

    private String segment2;

    private String segment3;

    private String segment4;

    private String segment5;

    @ApiModelProperty(value = "状态（0：待组包 1：已组包）")
    private String status;

    @ApiModelProperty(value = "波次id")
    private String waveId;

    @ApiModelProperty(value = "订单id")
    private String billId;

    @ApiModelProperty(value = "订单明细id")
    private String billDId;

    @ApiModelProperty(value = "批号")
    private String manufacturerLotNum;

    @ApiModelProperty(value = "库位编码")
    private String locatorCode;

    @ApiModelProperty(value = "建筑物id")
    private String bldgId;

    @ApiModelProperty(value = "建筑物名称")
    private String bldgName;

    @ApiModelProperty(value = "合并后的订单号")
    private String mergedBillId;

    @ApiModelProperty(value = "type：0，拣货任务,1 补货任务")
    private Integer type;

    @ApiModelProperty(value = "库别")
    private String areaCategory;

    @ApiModelProperty(value = "商品id")
    private String itemId;

    @ApiModelProperty(value = "商品编码")
    private String itemCode;

    @ApiModelProperty(value = "拣货方式 3：整单拣货")
    private Integer pickType;

    @ApiModelProperty(value = "显示有效期至")
    private String expiredDateShow;

    @ApiModelProperty(value = "显示生产日期")
    private String productionDateShow;

    @ApiModelProperty(value = "货主id")
    private String consignorId;

    @ApiModelProperty(value = "是否是功能库房：0-不是 默认，1-是")
    private String isFunctionRoom;

    @ApiModelProperty("托盘号")
    private String containerCode;

    @ApiModelProperty("托盘总量")
    private BigDecimal containerCodeQty;

    @ApiModelProperty(value = "订单紧急等级")
    private Integer priority;

    @ApiModelProperty(value = "是否合单")
    private Integer isMerged;

    @ApiModelProperty(value = "补货单ID")
    private String moveTaskId;
}
