package com.tmerclub.cloud.order.dto;

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

import java.util.List;

/**
 * 调拨订单dto
 * @author gaozijie
 * @date 2023-11-20
 */
public class AllotOrderDTO {

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

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

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

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

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

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

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

    @Schema(description = "调拨订单商品集合")
    private List<AllotOrderItemDTO> allotOrderItemDTOList;

    @Hidden
    @Schema(description = "店铺id")
    private Long shopId;

    @Hidden
    @Schema(description = "系统类型(1:商家, 3:供应商)")
    private Integer sysType;

    @Hidden
    @Schema(description = "调出点库存点类型")
    private Integer outStockPointType;

    @Hidden
    @Schema(description = "调入掉库存点类型")
    private Integer inStockPointType;

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

    @Hidden
    @Schema(description = "用户Id")
    private Long userId;

    @Hidden
    @Schema(description = "仓库id")
    private Long warehouseId;

    @Hidden
    @Schema(description = "状态集合")
    private List<Integer> statuses;

    public AllotOrderDTO() {
    }

    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 Long getInWarehouseId() {
        return inWarehouseId;
    }

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

    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 String getRemark() {
        return remark;
    }

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

    public List<AllotOrderItemDTO> getAllotOrderItemDTOList() {
        return allotOrderItemDTOList;
    }

    public void setAllotOrderItemDTOList(List<AllotOrderItemDTO> allotOrderItemDTOList) {
        this.allotOrderItemDTOList = allotOrderItemDTOList;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public Integer getSysType() {
        return sysType;
    }

    public void setSysType(Integer sysType) {
        this.sysType = sysType;
    }

    public Integer getOutStockPointType() {
        return outStockPointType;
    }

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

    public Integer getInStockPointType() {
        return inStockPointType;
    }

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

    public Integer getStatus() {
        return status;
    }

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

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getWarehouseId() {
        return warehouseId;
    }

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

    public List<Integer> getStatuses() {
        return statuses;
    }

    public void setStatuses(List<Integer> statuses) {
        this.statuses = statuses;
    }

    @Override
    public String toString() {
        return "AllotOrderDTO{" +
                "allotOrderId=" + allotOrderId +
                ", outWarehouseId=" + outWarehouseId +
                ", inWarehouseId=" + inWarehouseId +
                ", dvyCompanyId=" + dvyCompanyId +
                ", dvyType=" + dvyType +
                ", dvyOrderNumber='" + dvyOrderNumber + '\'' +
                ", remark='" + remark + '\'' +
                ", allotOrderItemDTOList=" + allotOrderItemDTOList +
                ", shopId=" + shopId +
                ", sysType=" + sysType +
                ", outStockPointType=" + outStockPointType +
                ", inStockPointType=" + inStockPointType +
                ", status=" + status +
                ", userId=" + userId +
                ", warehouseId=" + warehouseId +
                ", statuses=" + statuses +
                '}';
    }
}
