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

import com.prolog.framework.bz.core.model.BaseModel;
import com.prolog.framework.core.annotation.AutoKey;
import com.prolog.framework.core.annotation.Column;
import com.prolog.framework.core.annotation.Id;
import com.prolog.framework.core.annotation.Table;
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
@Table(value = "wms_wave_storage", appendDefaultJdbcType = true, camelToUnderline = true)
public class WaveStorageDO extends BaseModel implements Serializable {
    private static final long serialVersionUID = 6826294064843365546L;
    @Id
    @ApiModelProperty(value = "主键id")
    @Column(value = "id")
    private String id;

    @ApiModelProperty(value = "波次订单明细商品id")
    @Column(value = "item_id")
    private String itemId;

    @ApiModelProperty(value = "波次订单id")
    @Column(value = "bill_id")
    private String billId;

    @ApiModelProperty(value = "波次订单明细ID")
    @Column(value = "bill_d_id")
    private String billDId;

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

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

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

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

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

    @ApiModelProperty(value = "库位id")
    @Column(value = "locator_id")
    private String locatorId;

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

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

    @ApiModelProperty(value = "生成日期")
    @Column(value = "production_date")
    private Date productionDate;

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

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

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

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

    @ApiModelProperty(value = "拣货模式(灯光 ，设备 ，RF 01 02 03)-库区属性")
    @Column(value = "pick_model")
    private String pickModel;

    @ApiModelProperty(value = "楼层")
    @Column(value = "floor_num")
    private Integer floorNum;

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

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

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

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


    @ApiModelProperty(value = "波次ID")
    @Column(value = "wave_id")
    private String waveId;

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


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

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

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

    @ApiModelProperty(value = "补货任务ID")
    @Column(value = "move_task_id")
    private String moveTaskId;

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

    @ApiModelProperty(value = "批号")
    @Column(value = "manufacturer_lot_num")
    private String manufactureLotNum;

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

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

    @Column(value = "item_place_type")
    private String itemPlaceType;

    @Column(value = "container_code")
    private String containerCode;

    @Column(value = "container_code_qty")
    private BigDecimal containerCodeQty;

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