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

import com.prolog.framework.bz.core.model.BaseModel;
import com.prolog.framework.core.annotation.Column;
import com.prolog.framework.core.annotation.Id;
import com.prolog.framework.core.annotation.Ignore;
import com.prolog.framework.core.annotation.Table;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

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

/**
 * @Description 补货任务
 * @Date 2021-04-30
 */
@ApiModel
@Table(value = "wms_move_task")
public class MoveTaskDO extends BaseModel implements Serializable {
    private static final long serialVersionUID = 534777895705160407L;
    @Id
    @ApiModelProperty(value = "主键id")
    @Column(value = "move_task_id")
    private String moveTaskId;

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

    @ApiModelProperty(value = "状态 0:新生成 1:下架 2:上架 ")
    @Column(value = "status")
    private String status;

    @ApiModelProperty(value = "波次id")
    @Column(value = "waves_id")
    private String wavesId;

    @ApiModelProperty(value = "货主id")
    @Column(value = "cargo_owner_id")
    private String cargoOwnerId;

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

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

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

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

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

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


    @ApiModelProperty(value = "源库位id")
    @Column(value = "src_warehouse_locator_id")
    private String srcWarehouseLocatorId;

    @ApiModelProperty(value = "源库位编码")
    @Column(value = "src_warehouse_locator_num")
    private String srcWarehouseLocatorNum;

    @ApiModelProperty(value = "源库区id")
    @Column(value = "src_warehouse_area_id")
    private String srcWarehouseAreaId;

    @ApiModelProperty(value = "源库区编码")
    @Column(value = "src_warehouse_area_num")
    private String srcWarehouseAreaNum;

    @ApiModelProperty(value = "源库区类型")
    @Column(value = "src_warehouse_locator_type")
    private String srcWarehouseLocatorType;

    @ApiModelProperty(value = "目标库位id")
    @Column(value = "dest_warehouse_locator_id")
    private String destWarehouseLocatorId;

    @ApiModelProperty(value = "目标库位编码")
    @Column(value = "dest_warehouse_locator_num")
    private String destWarehouseLocatorNum;

    @ApiModelProperty(value = "目标库区id")
    @Column(value = "dest_warehouse_area_id")
    private String destWarehouseAreaId;

    @ApiModelProperty(value = "目标库区编码")
    @Column(value = "dest_warehouse_area_num")
    private String destWarehouseAreaNum;

    @ApiModelProperty(value = "目标库位类型")
    @Column(value = "dest_warehouse_locator_type")
    private String destWarehouseLocatorType;

    @ApiModelProperty(value = "补货规则（策略）")
    @Column(value = "pick_rule")
    private String pickRule;

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

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

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

    @ApiModelProperty(value = "建筑物编码")
    @Column(value = "bldg_code")
    private String bldgCode;

    @ApiModelProperty(value = "补货类型 1主动补货 2紧急补货 3波次补货 4被动补货")
    @Column(value = "move_type")
    private String moveType;

    @ApiModelProperty(value = "单位因子（包装数量）")
    @Column("conversion_rate")
    private BigDecimal conversionRate;

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

    @ApiModelProperty(value = "目标库区类别")
    @Column(value = "dest_warehouse_area_category")
    private String destWarehouseAreaCategory;

    @ApiModelProperty(value = "源标库区类别")
    @Column(value = "src_warehouse_area_category")
    private String srcWarehouseAreaCategory;

    @ApiModelProperty(value = "对应库存服务产生的头id,下架确认使用")
    @Column(value = "header_id")
    private String headerId;

    @ApiModelProperty(value = "对应库存服务产生的行id,下架确认使用")
    @Column(value = "detail_id")
    private String detailId;

    @ApiModelProperty(value = "上架员工")
    @Column(value = "instore_worker_name")
    private String instoreWorkerName;

    @ApiModelProperty(value = "下架员工")
    @Column(value = "outstore_worker_name")
    private String outstoreWorkerName;

    @ApiModelProperty(value = "源库位楼层")
    @Column(value = "src_floor")
    private Integer srcFloor;

    @ApiModelProperty(value = "目标库位楼层")
    @Column(value = "dest_floor")
    private Integer destFloor;

    @ApiModelProperty(value = "源货位商品存放类型")
    @Column(value = "src_item_place_type")
    private String srcItemPlaceType;

    @ApiModelProperty(value = "目标货位商品存放类型")
    @Column(value = "dest_item_place_type")
    private String destItemPlaceType;

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

    public String getBarcode() {
        return barcode;
    }

    public void setBarcode(String barcode) {
        this.barcode = barcode;
    }

    public String getSrcItemPlaceType() {
        return srcItemPlaceType;
    }

    public void setSrcItemPlaceType(String srcItemPlaceType) {
        this.srcItemPlaceType = srcItemPlaceType;
    }

    public String getDestItemPlaceType() {
        return destItemPlaceType;
    }

    public void setDestItemPlaceType(String destItemPlaceType) {
        this.destItemPlaceType = destItemPlaceType;
    }

    public Integer getSrcFloor() {
        return srcFloor;
    }

    public void setSrcFloor(Integer srcFloor) {
        this.srcFloor = srcFloor;
    }

    public Integer getDestFloor() {
        return destFloor;
    }

    public void setDestFloor(Integer destFloor) {
        this.destFloor = destFloor;
    }

    public String getOutstoreWorkerName() {
        return outstoreWorkerName;
    }

    public void setOutstoreWorkerName(String outstoreWorkerName) {
        this.outstoreWorkerName = outstoreWorkerName;
    }

    public String getInstoreWorkerName() {
        return instoreWorkerName;
    }

    public void setInstoreWorkerName(String instoreWorkerName) {
        this.instoreWorkerName = instoreWorkerName;
    }

    public String getHeaderId() {
        return headerId;
    }

    public void setHeaderId(String headerId) {
        this.headerId = headerId;
    }

    public String getDetailId() {
        return detailId;
    }

    public void setDetailId(String detailId) {
        this.detailId = detailId;
    }

    public String getDestWarehouseAreaCategory() {
        return destWarehouseAreaCategory;
    }

    public void setDestWarehouseAreaCategory(String destWarehouseAreaCategory) {
        this.destWarehouseAreaCategory = destWarehouseAreaCategory;
    }

    public String getSrcWarehouseAreaCategory() {
        return srcWarehouseAreaCategory;
    }

    public void setSrcWarehouseAreaCategory(String srcWarehouseAreaCategory) {
        this.srcWarehouseAreaCategory = srcWarehouseAreaCategory;
    }

    public String getBillDId() {
        return billDId;
    }

    public void setBillDId(String billDId) {
        this.billDId = billDId;
    }

    public String getBldgId() {
        return bldgId;
    }

    public void setBldgId(String bldgId) {
        this.bldgId = bldgId;
    }

    public String getBldgName() {
        return bldgName;
    }

    public void setBldgName(String bldgName) {
        this.bldgName = bldgName;
    }

    public String getBldgCode() {
        return bldgCode;
    }

    public void setBldgCode(String bldgCode) {
        this.bldgCode = bldgCode;
    }

    public String getMoveType() {
        return moveType;
    }

    public void setMoveType(String moveType) {
        this.moveType = moveType;
    }

    public BigDecimal getConversionRate() {
        return conversionRate;
    }

    public void setConversionRate(BigDecimal conversionRate) {
        this.conversionRate = conversionRate;
    }

    public String getMoveTaskId() {
        return this.moveTaskId;
    }

    public void setMoveTaskId(String moveTaskId) {
        this.moveTaskId = moveTaskId;
    }

    public String getWarehouseId() {
        return this.warehouseId;
    }

    public void setWarehouseId(String warehouseId) {
        this.warehouseId = warehouseId;
    }

    public String getStatus() {
        return this.status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getWavesId() {
        return this.wavesId;
    }

    public void setWavesId(String wavesId) {
        this.wavesId = wavesId;
    }

    public String getCargoOwnerId() {
        return this.cargoOwnerId;
    }

    public void setCargoOwnerId(String cargoOwnerId) {
        this.cargoOwnerId = cargoOwnerId;
    }

    public String getItemId() {
        return this.itemId;
    }

    public void setItemId(String itemId) {
        this.itemId = itemId;
    }

    public String getBatchId() {
        return this.batchId;
    }

    public void setBatchId(String batchId) {
        this.batchId = batchId;
    }

    public String getBatchNum() {
        return this.batchNum;
    }

    public void setBatchNum(String batchNum) {
        this.batchNum = batchNum;
    }

    public String getManufacturerLotNum() {
        return this.manufacturerLotNum;
    }

    public void setManufacturerLotNum(String manufacturerLotNum) {
        this.manufacturerLotNum = manufacturerLotNum;
    }

    public BigDecimal getQty() {
        return this.qty;
    }

    public void setQty(BigDecimal qty) {
        this.qty = qty;
    }

    public String getUom() {
        return this.uom;
    }

    public void setUom(String uom) {
        this.uom = uom;
    }

    public String getSrcWarehouseLocatorId() {
        return this.srcWarehouseLocatorId;
    }

    public void setSrcWarehouseLocatorId(String srcWarehouseLocatorId) {
        this.srcWarehouseLocatorId = srcWarehouseLocatorId;
    }

    public String getSrcWarehouseLocatorNum() {
        return this.srcWarehouseLocatorNum;
    }

    public void setSrcWarehouseLocatorNum(String srcWarehouseLocatorNum) {
        this.srcWarehouseLocatorNum = srcWarehouseLocatorNum;
    }

    public String getSrcWarehouseAreaId() {
        return this.srcWarehouseAreaId;
    }

    public void setSrcWarehouseAreaId(String srcWarehouseAreaId) {
        this.srcWarehouseAreaId = srcWarehouseAreaId;
    }

    public String getSrcWarehouseAreaNum() {
        return this.srcWarehouseAreaNum;
    }

    public void setSrcWarehouseAreaNum(String srcWarehouseAreaNum) {
        this.srcWarehouseAreaNum = srcWarehouseAreaNum;
    }

    public String getSrcWarehouseLocatorType() {
        return this.srcWarehouseLocatorType;
    }

    public void setSrcWarehouseLocatorType(String srcWarehouseLocatorType) {
        this.srcWarehouseLocatorType = srcWarehouseLocatorType;
    }

    public String getDestWarehouseLocatorId() {
        return this.destWarehouseLocatorId;
    }

    public void setDestWarehouseLocatorId(String destWarehouseLocatorId) {
        this.destWarehouseLocatorId = destWarehouseLocatorId;
    }

    public String getDestWarehouseLocatorNum() {
        return this.destWarehouseLocatorNum;
    }

    public void setDestWarehouseLocatorNum(String destWarehouseLocatorNum) {
        this.destWarehouseLocatorNum = destWarehouseLocatorNum;
    }

    public String getDestWarehouseAreaId() {
        return this.destWarehouseAreaId;
    }

    public void setDestWarehouseAreaId(String destWarehouseAreaId) {
        this.destWarehouseAreaId = destWarehouseAreaId;
    }

    public String getDestWarehouseAreaNum() {
        return this.destWarehouseAreaNum;
    }

    public void setDestWarehouseAreaNum(String destWarehouseAreaNum) {
        this.destWarehouseAreaNum = destWarehouseAreaNum;
    }

    public String getDestWarehouseLocatorType() {
        return this.destWarehouseLocatorType;
    }

    public void setDestWarehouseLocatorType(String destWarehouseLocatorType) {
        this.destWarehouseLocatorType = destWarehouseLocatorType;
    }

    public String getPickRule() {
        return this.pickRule;
    }

    public void setPickRule(String pickRule) {
        this.pickRule = pickRule;
    }


    public void setBillId(String billId) {
        this.billId = billId;
    }

    public String getBillId() {
        return billId;
    }


    @Override
    public String toString() {
        return "MoveTaskDO{" +
                "moveTaskId='" + moveTaskId + '\'' +
                ", warehouseId='" + warehouseId + '\'' +
                ", status='" + status + '\'' +
                ", wavesId='" + wavesId + '\'' +
                ", cargoOwnerId='" + cargoOwnerId + '\'' +
                ", itemId='" + itemId + '\'' +
                ", batchId='" + batchId + '\'' +
                ", batchNum='" + batchNum + '\'' +
                ", manufacturerLotNum='" + manufacturerLotNum + '\'' +
                ", qty=" + qty +
                ", uom='" + uom + '\'' +
                ", srcWarehouseLocatorId='" + srcWarehouseLocatorId + '\'' +
                ", srcWarehouseLocatorNum='" + srcWarehouseLocatorNum + '\'' +
                ", srcWarehouseAreaId='" + srcWarehouseAreaId + '\'' +
                ", srcWarehouseAreaNum='" + srcWarehouseAreaNum + '\'' +
                ", srcWarehouseLocatorType='" + srcWarehouseLocatorType + '\'' +
                ", destWarehouseLocatorId='" + destWarehouseLocatorId + '\'' +
                ", destWarehouseLocatorNum='" + destWarehouseLocatorNum + '\'' +
                ", destWarehouseAreaId='" + destWarehouseAreaId + '\'' +
                ", destWarehouseAreaNum='" + destWarehouseAreaNum + '\'' +
                ", destWarehouseLocatorType='" + destWarehouseLocatorType + '\'' +
                ", pickRule='" + pickRule + '\'' +
                ", billId='" + billId + '\'' +
                ", bldgId='" + bldgId + '\'' +
                ", bldgName='" + bldgName + '\'' +
                ", bldgCode='" + bldgCode + '\'' +
                ", moveType='" + moveType + '\'' +
                ", conversionRate=" + conversionRate +
                ", billDId='" + billDId + '\'' +
                ", destWarehouseAreaCategory='" + destWarehouseAreaCategory + '\'' +
                ", srcWarehouseAreaCategory='" + srcWarehouseAreaCategory + '\'' +
                ", headerId='" + headerId + '\'' +
                ", detailId='" + detailId + '\'' +
                ", instoreWorkerName='" + instoreWorkerName + '\'' +
                ", outstoreWorkerName='" + outstoreWorkerName + '\'' +
                ", srcFloor=" + srcFloor +
                ", destFloor=" + destFloor +
                ", srcItemPlaceType='" + srcItemPlaceType + '\'' +
                ", destItemPlaceType='" + destItemPlaceType + '\'' +
                ", barcode='" + barcode + '\'' +
                '}';
    }
}
