package com.tmerclub.cloud.common.order.vo;

import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author gaozijie
 * @since 2023-11-27
 */
public class EsAllotOrderVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "调拨订单id")
    private Long allotOrderId;

    @Schema(description = "调出点仓库id")
    private Long outWarehouseId;

    @Schema(description = "调出点仓库名称")
    private String outWarehouseName;

    @Schema(description = "调出点库存点类型(1:仓库, 2:门店)")
    private Integer outStockPointType;

    @Schema(description = "调入点仓库id")
    private Long inWarehouseId;

    @Schema(description = "调入点仓库名称")
    private String inWarehouseName;

    @Schema(description = "调入点库存点类型(1:仓库, 2:门店)")
    private Integer inStockPointType;

    @Schema(description = "物流公司id")
    private Long dvyCompanyId;

    @Schema(description = "物流方式(1:快递, 3:无需快递)")
    private Integer dvyType;

    @Schema(description = "物流单号")
    private String dvyOrderNumber;

    @Schema(description = "状态")
    private Integer status;

    @Schema(description = "总调拨数量")
    private Integer totalAllotCount;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "创建时间")
    private Date createTime;

    @Schema(description = "更新时间")
    private Date updateTime;

    @Schema(description = "调拨订单项")
    List<EsAllotOrderItemVO> allotOrderItems;

    public EsAllotOrderVO() {
    }

    public Long getAllotOrderId() {
        return allotOrderId;
    }

    public void setAllotOrderId(Long allotOrderId) {
        this.allotOrderId = allotOrderId;
    }

    public Long getOutWarehouseId() {
        return outWarehouseId;
    }

    public void setOutWarehouseId(Long outWarehouseId) {
        this.outWarehouseId = outWarehouseId;
    }

    public String getOutWarehouseName() {
        return outWarehouseName;
    }

    public void setOutWarehouseName(String outWarehouseName) {
        this.outWarehouseName = outWarehouseName;
    }

    public Integer getOutStockPointType() {
        return outStockPointType;
    }

    public void setOutStockPointType(Integer outStockPointType) {
        this.outStockPointType = outStockPointType;
    }

    public Long getInWarehouseId() {
        return inWarehouseId;
    }

    public void setInWarehouseId(Long inWarehouseId) {
        this.inWarehouseId = inWarehouseId;
    }

    public String getInWarehouseName() {
        return inWarehouseName;
    }

    public void setInWarehouseName(String inWarehouseName) {
        this.inWarehouseName = inWarehouseName;
    }

    public Integer getInStockPointType() {
        return inStockPointType;
    }

    public void setInStockPointType(Integer inStockPointType) {
        this.inStockPointType = inStockPointType;
    }

    public Long getDvyCompanyId() {
        return dvyCompanyId;
    }

    public void setDvyCompanyId(Long dvyCompanyId) {
        this.dvyCompanyId = dvyCompanyId;
    }

    public Integer getDvyType() {
        return dvyType;
    }

    public void setDvyType(Integer dvyType) {
        this.dvyType = dvyType;
    }

    public String getDvyOrderNumber() {
        return dvyOrderNumber;
    }

    public void setDvyOrderNumber(String dvyOrderNumber) {
        this.dvyOrderNumber = dvyOrderNumber;
    }

    public Integer getStatus() {
        return status;
    }

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

    public Integer getTotalAllotCount() {
        return totalAllotCount;
    }

    public void setTotalAllotCount(Integer totalAllotCount) {
        this.totalAllotCount = totalAllotCount;
    }

    public String getRemark() {
        return remark;
    }

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

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public List<EsAllotOrderItemVO> getAllotOrderItems() {
        return allotOrderItems;
    }

    public void setAllotOrderItems(List<EsAllotOrderItemVO> allotOrderItems) {
        this.allotOrderItems = allotOrderItems;
    }

    @Override
    public String toString() {
        return "EsAllotOrderVO{" +
                "allotOrderId=" + allotOrderId +
                ", outWarehouseId=" + outWarehouseId +
                ", outWarehouseName='" + outWarehouseName + '\'' +
                ", outStockPointType=" + outStockPointType +
                ", inWarehouseId=" + inWarehouseId +
                ", inWarehouseName='" + inWarehouseName + '\'' +
                ", inStockPointType=" + inStockPointType +
                ", dvyCompanyId=" + dvyCompanyId +
                ", dvyType=" + dvyType +
                ", dvyOrderNumber='" + dvyOrderNumber + '\'' +
                ", status=" + status +
                ", totalAllotCount=" + totalAllotCount +
                ", remark='" + remark + '\'' +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", allotOrderItems=" + allotOrderItems +
                '}';
    }
}
