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

import com.prolog.cs.biz.inbound.dto.IsSuperviseDTO;
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-03-25
 */
@Data
@ApiModel
public class PickTaskDDTO extends IsSuperviseDTO implements Serializable {

    private static final long serialVersionUID = -3128333689002262398L;
    @ApiModelProperty(value = "主键id")
    private String id;

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

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

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

    @ApiModelProperty(value = "商品规格")
    private String itemSpecs;

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

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

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

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

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

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

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

    @ApiModelProperty(value = "生产厂家")
    private String manufacturer;

    @ApiModelProperty(value = "件数")
    private BigDecimal uomQty;

    @ApiModelProperty(value = "零散数")
    private BigDecimal oddPieceQty;

    @ApiModelProperty(value = "收货单位(客户)编号")
    private String shipperCode;

    @ApiModelProperty(value = "收货单位(客户)名称")
    private String shipperName;

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

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

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

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

    @ApiModelProperty(value = "开票员")
    private String createby;

    @ApiModelProperty(value = "拣货类型 0-整件 1-零货 2-功能库房")
    private Integer pickTaskType;

    @ApiModelProperty(value = "来源订单编号")
    private String srcCode;

    @ApiModelProperty(value = "拣选任务明细id")
    private String pickTaskDId;

    @ApiModelProperty(value = "拣选任务主表id")
    private String pickTaskId;

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

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

    @ApiModelProperty(value = "已拣数量 - 拣选确认")
    private BigDecimal pickQty;

    @ApiModelProperty(value = "复核数量")
    private BigDecimal checkQty;

    @ApiModelProperty(value = "未拣数量")
    private BigDecimal unPickQty;

    @ApiModelProperty(value = "拣选人工号")
    private String pickerNo;

    @ApiModelProperty(value = "拣选人名称")
    private String pickerName;

    @ApiModelProperty(value = "状态 0：带索取 1：待拣选 2：待复核索取 3.待复核确认 10：完成")
    private String status;

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

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

    @ApiModelProperty(value = "订单编号")
    private String billNo;

    @ApiModelProperty(value = "wave_bill_d的id")
    private String billDId;

    @ApiModelProperty(value = "拣选单id/任务包号")
    private String pickOrderId;

    @ApiModelProperty(value = "复核台编号")
    private String stationCode;

    @ApiModelProperty(value = "状态（0-未打印，1-已打印）")
    private String printStatus;

    @ApiModelProperty(value = "条码")
    private String barcode;

    @ApiModelProperty(value = "条码头表id")
    private String barcodeId;

    @ApiModelProperty(value = "条码明细表id")
    private String barcodeDId;

    @ApiModelProperty(value = "索取人id")
    private String operatorId;

    @ApiModelProperty(value = "索取人工号")
    private String operatorCode;

    @ApiModelProperty(value = "索取人")
    private String operatorName;

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

    @ApiModelProperty(value = "冲红数量")
    private BigDecimal redQty;

    @ApiModelProperty(value = "冲红原因")
    private String redReason;

    @ApiModelProperty(value = "错误处理方式 0-还货回库  1-冲红")
    private Integer messageType;

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

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

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "红冲数量")
    private BigDecimal saleRedQty;

    @ApiModelProperty(value = "账期类型")
    private String paymentType;

    @ApiModelProperty(value = "收货地址")
    private String receiveAddress;

    @ApiModelProperty(value = "采购员/业务员名称")
    private String salespersonName;

    @ApiModelProperty(value = "波次订单类型")
    private String billType;

    @ApiModelProperty(value = "波次订单类型")
    private String billTypeName;

    //整单拣选,临时解决
    @ApiModelProperty(value = "任务明细ids")
    private String pickTaskDIds;

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

    @ApiModelProperty(value = "托盘号")
    private String containerNo;

    @ApiModelProperty(value = "拣货模式")
    private String pickModel;

    @ApiModelProperty(value = "拣货模式类型名称 0平库任务 1立库任务")
    private String pickModelTypeName;

    @ApiModelProperty("顺带补货件数")
    private BigDecimal replenishPcs;

    @ApiModelProperty(value = "件数")
    private BigDecimal pcs;

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

    @ApiModelProperty(value = "企业ID")
    private String enterpriseId;

    @ApiModelProperty(value = "erp单据id")
    private String refBillId;

    public BigDecimal getPcs() {
        return pcs;
    }

    public void setPcs(BigDecimal pcs) {
        this.pcs = pcs;
    }

    public String getPickTaskDIds() {
        return pickTaskDIds;
    }

    public void setPickTaskDIds(String pickTaskDIds) {
        this.pickTaskDIds = pickTaskDIds;
    }

    public String getCreateby() {
        return createby;
    }

    public void setCreateby(String createby) {
        this.createby = createby;
    }

    public Integer getPickTaskType() {
        return pickTaskType;
    }

    public void setPickTaskType(Integer pickTaskType) {
        this.pickTaskType = pickTaskType;
    }

    @Override
    public String getBillType() {
        return billType;
    }

    @Override
    public void setBillType(String billType) {
        this.billType = billType;
    }

    public String getBillTypeName() {
        return billTypeName;
    }

    public void setBillTypeName(String billTypeName) {
        this.billTypeName = billTypeName;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSalespersonName() {
        return salespersonName;
    }

    public void setSalespersonName(String salespersonName) {
        this.salespersonName = salespersonName;
    }

    public String getReceiveAddress() {
        return receiveAddress;
    }

    public void setReceiveAddress(String receiveAddress) {
        this.receiveAddress = receiveAddress;
    }

    public String getPaymentType() {
        return paymentType;
    }

    public void setPaymentType(String paymentType) {
        this.paymentType = paymentType;
    }

    public BigDecimal getSaleRedQty() {
        return saleRedQty;
    }

    public void setSaleRedQty(BigDecimal saleRedQty) {
        this.saleRedQty = saleRedQty;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getStationCode() {
        return stationCode;
    }

    public void setStationCode(String stationCode) {
        this.stationCode = stationCode;
    }

    public String getConsignorId() {
        return consignorId;
    }

    public void setConsignorId(String consignorId) {
        this.consignorId = consignorId;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Date getExpiredDate() {
        return expiredDate;
    }

    public void setExpiredDate(Date expiredDate) {
        this.expiredDate = expiredDate;
    }

    public Date getProductionDate() {
        return productionDate;
    }

    public void setProductionDate(Date productionDate) {
        this.productionDate = productionDate;
    }

    public String getConsignorName() {
        return consignorName;
    }

    public void setConsignorName(String consignorName) {
        this.consignorName = consignorName;
    }

    public BigDecimal getRedQty() {
        return redQty;
    }

    public void setRedQty(BigDecimal redQty) {
        this.redQty = redQty;
    }

    public String getRedReason() {
        return redReason;
    }

    public void setRedReason(String redReason) {
        this.redReason = redReason;
    }

    public Integer getMessageType() {
        return messageType;
    }

    public void setMessageType(Integer messageType) {
        this.messageType = messageType;
    }

    public String getShipperName() {
        return shipperName;
    }

    public void setShipperName(String shipperName) {
        this.shipperName = shipperName;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public BigDecimal getUomQty() {
        return uomQty;
    }

    public void setUomQty(BigDecimal uomQty) {
        this.uomQty = uomQty;
    }

    public BigDecimal getOddPieceQty() {
        return oddPieceQty;
    }

    public void setOddPieceQty(BigDecimal oddPieceQty) {
        this.oddPieceQty = oddPieceQty;
    }

    public String getBarcodeId() {
        return barcodeId;
    }

    public void setBarcodeId(String barcodeId) {
        this.barcodeId = barcodeId;
    }

    public String getBarcodeDId() {
        return barcodeDId;
    }

    public void setBarcodeDId(String barcodeDId) {
        this.barcodeDId = barcodeDId;
    }

    public String getWarehouseId() {
        return warehouseId;
    }

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

    public String getPickerNo() {
        return pickerNo;
    }

    public void setPickerNo(String pickerNo) {
        this.pickerNo = pickerNo;
    }

    public String getOperatorCode() {
        return operatorCode;
    }

    public void setOperatorCode(String operatorCode) {
        this.operatorCode = operatorCode;
    }

    public String getSrcCode() {
        return srcCode;
    }

    public void setSrcCode(String srcCode) {
        this.srcCode = srcCode;
    }

    public String getPickerName() {
        return pickerName;
    }

    public void setPickerName(String pickerName) {
        this.pickerName = pickerName;
    }

    public String getBillId() {
        return billId;
    }

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

    public String getPickOrderId() {
        return pickOrderId;
    }

    public void setPickOrderId(String pickOrderId) {
        this.pickOrderId = pickOrderId;
    }

    public String getPrintStatus() {
        return printStatus;
    }

    public void setPrintStatus(String printStatus) {
        this.printStatus = printStatus;
    }

    public String getBarcode() {
        return barcode;
    }

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

    public String getOperatorName() {
        return operatorName;
    }

    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }

    public BigDecimal getUnPickQty() {
        return unPickQty;
    }

    public void setUnPickQty(BigDecimal unPickQty) {
        this.unPickQty = unPickQty;
    }

    public String getLocatorCode() {
        return locatorCode;
    }

    public void setLocatorCode(String locatorCode) {
        this.locatorCode = locatorCode;
    }

    public String getPickTaskDId() {
        return pickTaskDId;
    }

    public void setPickTaskDId(String pickTaskDId) {
        this.pickTaskDId = pickTaskDId;
    }

    public String getPickTaskId() {
        return pickTaskId;
    }

    public void setPickTaskId(String pickTaskId) {
        this.pickTaskId = pickTaskId;
    }

    public String getItemId() {
        return itemId;
    }

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

    public String getItemCode() {
        return itemCode;
    }

    public void setItemCode(String itemCode) {
        this.itemCode = itemCode;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public String getItemSpecs() {
        return itemSpecs;
    }

    public void setItemSpecs(String itemSpecs) {
        this.itemSpecs = itemSpecs;
    }

    public BigDecimal getConversionRate() {
        return conversionRate;
    }

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

    public String getUom() {
        return uom;
    }

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

    public String getManufacturerLotNum() {
        return manufacturerLotNum;
    }

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

    public String getBatchNum() {
        return batchNum;
    }

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

    public String getWarehouseAreaCode() {
        return warehouseAreaCode;
    }

    public void setWarehouseAreaCode(String warehouseAreaCode) {
        this.warehouseAreaCode = warehouseAreaCode;
    }

    public BigDecimal getQty() {
        return qty;
    }

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

    public BigDecimal getPieceQty() {
        return pieceQty;
    }

    public void setPieceQty(BigDecimal pieceQty) {
        this.pieceQty = pieceQty;
    }

    public BigDecimal getPickQty() {
        return pickQty;
    }

    public void setPickQty(BigDecimal pickQty) {
        this.pickQty = pickQty;
    }

    public BigDecimal getCheckQty() {
        return checkQty;
    }

    public void setCheckQty(BigDecimal checkQty) {
        this.checkQty = checkQty;
    }

    public String getStatus() {
        return status;
    }

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

    public String getContainerCode() {
        return containerCode;
    }

    public void setContainerCode(String containerCode) {
        this.containerCode = containerCode;
    }

    public String getExpiredDateShow() {
        return expiredDateShow;
    }

    public void setExpiredDateShow(String expiredDateShow) {
        this.expiredDateShow = expiredDateShow;
    }

    public String getProductionDateShow() {
        return productionDateShow;
    }

    public void setProductionDateShow(String productionDateShow) {
        this.productionDateShow = productionDateShow;
    }

    public String getAreaCategory() {
        return areaCategory;
    }

    public void setAreaCategory(String areaCategory) {
        this.areaCategory = areaCategory;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getContainerNo() {
        return containerNo;
    }

    public void setContainerNo(String containerNo) {
        this.containerNo = containerNo;
    }

    public String getPickModel() {
        return pickModel;
    }

    public void setPickModel(String pickModel) {
        this.pickModel = pickModel;
    }

    public String getPickModelTypeName() {
        return pickModelTypeName;
    }

    public void setPickModelTypeName(String pickModelTypeName) {
        this.pickModelTypeName = pickModelTypeName;
    }

    public String getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(String operatorId) {
        this.operatorId = operatorId;
    }

    public BigDecimal getReplenishPcs() {
        return replenishPcs;
    }

    public void setReplenishPcs(BigDecimal replenishPcs) {
        this.replenishPcs = replenishPcs;
    }

    public String getBillDId() {
        return billDId;
    }

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