
package com.tmerclub.cloud.order.vo;

import com.tmerclub.cloud.api.order.vo.PurchaseOrderAddrVO;
import com.tmerclub.cloud.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;

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

/**
 * 采购订单VO
 *
 * @author lhd
 * @date 2022-06-22 17:12:02
 */
public class PurchaseOrderVO extends BaseVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "采购id")
    private Long purchaseOrderId;

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

    @Schema(description = "店铺名称")
    private String shopName;

    @Schema(description = "送达时间")
    private Date deliverTime;

    @Schema(description = "配送类型 1:快递 3无需快递")
    private Integer deliveryType;

    @Schema(description = "配送方式ID")
    private Long purchaseOrderAddrId;

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

    @Schema(description = "供应商id")
    private Long supplierId;

    @Schema(description = "总采购金额")
    private Double totalAmount;

    @Schema(description = "总采购库存数量")
    private Integer totalStock;

    @Schema(description = "实际总库存数量")
    private Integer actualTotalStock;

    @Schema(description = "状态 0:已作废 1:待入库 2:已发货 3.部分入库 5:已完成")
    private Integer status;

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

    @Schema(description = "供应商名称")
    private String supplierName;

    @Schema(description = "联系方式")
    private String contactPhone;

    @Schema(description = "商品名称")
    private String spuName;

    @Schema(description = "操作员工id")
    private Long employeeId;

    @Schema(description = "收货人")
    private String consignee;

    @Schema(description = "收货人手机号")
    private String mobile;

    @Schema(description = "付款凭证图片 多个图片逗号分隔")
    private String voucherImgUrls;

    @Schema(description = "采购项")
    private List<PurchaseOrderItemVO> purchaseOrderItemList;

    @Schema(description = "订单收货地址信息")
    private PurchaseOrderAddrVO purchaseOrderAddr;

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

    @Schema(description = "仓库名称")
    private String warehouseName;

    @Schema(description = "供应商仓库id")
    private Long supplierWarehouseId;

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

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public String getConsignee() {
        return consignee;
    }

    public void setConsignee(String consignee) {
        this.consignee = consignee;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getVoucherImgUrls() {
        return voucherImgUrls;
    }

    public void setVoucherImgUrls(String voucherImgUrls) {
        this.voucherImgUrls = voucherImgUrls;
    }

    public String getSpuName() {
        return spuName;
    }

    public void setSpuName(String spuName) {
        this.spuName = spuName;
    }

    public String getContactPhone() {
        return contactPhone;
    }

    public void setContactPhone(String contactPhone) {
        this.contactPhone = contactPhone;
    }


    public PurchaseOrderAddrVO getPurchaseOrderAddrVO() {
        return purchaseOrderAddr;
    }

    public void setPurchaseOrderAddrVO(PurchaseOrderAddrVO purchaseOrderAddr) {
        this.purchaseOrderAddr = purchaseOrderAddr;
    }

    public List<PurchaseOrderItemVO> getPurchaseOrderItemList() {
        return purchaseOrderItemList;
    }

    public void setPurchaseOrderItemList(List<PurchaseOrderItemVO> purchaseOrderItemList) {
        this.purchaseOrderItemList = purchaseOrderItemList;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public Long getPurchaseOrderId() {
        return purchaseOrderId;
    }

    public void setPurchaseOrderId(Long purchaseOrderId) {
        this.purchaseOrderId = purchaseOrderId;
    }

    public Long getShopId() {
        return shopId;
    }

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

    public Date getDeliverTime() {
        return deliverTime;
    }

    public void setDeliverTime(Date deliverTime) {
        this.deliverTime = deliverTime;
    }

    public Integer getDeliveryType() {
        return deliveryType;
    }

    public void setDeliveryType(Integer deliveryType) {
        this.deliveryType = deliveryType;
    }

    public Long getPurchaseOrderAddrId() {
        return purchaseOrderAddrId;
    }

    public void setPurchaseOrderAddrId(Long purchaseOrderAddrId) {
        this.purchaseOrderAddrId = purchaseOrderAddrId;
    }

    public PurchaseOrderAddrVO getPurchaseOrderAddr() {
        return purchaseOrderAddr;
    }

    public void setPurchaseOrderAddr(PurchaseOrderAddrVO purchaseOrderAddr) {
        this.purchaseOrderAddr = purchaseOrderAddr;
    }

    public String getDvyFlowId() {
        return dvyFlowId;
    }

    public void setDvyFlowId(String dvyFlowId) {
        this.dvyFlowId = dvyFlowId;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public Double getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(Double totalAmount) {
        this.totalAmount = totalAmount;
    }

    public Integer getTotalStock() {
        return totalStock;
    }

    public void setTotalStock(Integer totalStock) {
        this.totalStock = totalStock;
    }

    public Integer getActualTotalStock() {
        return actualTotalStock;
    }

    public void setActualTotalStock(Integer actualTotalStock) {
        this.actualTotalStock = actualTotalStock;
    }

    public Integer getStatus() {
        return status;
    }

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

    public String getRemark() {
        return remark;
    }

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

    public Long getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(Long employeeId) {
        this.employeeId = employeeId;
    }

    public Long getWarehouseId() {
        return warehouseId;
    }

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

    public Long getSupplierWarehouseId() {
        return supplierWarehouseId;
    }

    public void setSupplierWarehouseId(Long supplierWarehouseId) {
        this.supplierWarehouseId = supplierWarehouseId;
    }

    public Integer getStockPointType() {
        return stockPointType;
    }

    public void setStockPointType(Integer stockPointType) {
        this.stockPointType = stockPointType;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    @Override
    public String toString() {
        return "PurchaseOrderVO{" +
                "purchaseOrderId=" + purchaseOrderId +
                ", shopId=" + shopId +
                ", shopName='" + shopName + '\'' +
                ", deliverTime=" + deliverTime +
                ", deliveryType=" + deliveryType +
                ", purchaseOrderAddrId=" + purchaseOrderAddrId +
                ", dvyFlowId='" + dvyFlowId + '\'' +
                ", supplierId=" + supplierId +
                ", totalAmount=" + totalAmount +
                ", totalStock=" + totalStock +
                ", actualTotalStock=" + actualTotalStock +
                ", status=" + status +
                ", remark='" + remark + '\'' +
                ", supplierName='" + supplierName + '\'' +
                ", contactPhone='" + contactPhone + '\'' +
                ", spuName='" + spuName + '\'' +
                ", employeeId=" + employeeId +
                ", consignee='" + consignee + '\'' +
                ", mobile='" + mobile + '\'' +
                ", voucherImgUrls='" + voucherImgUrls + '\'' +
                ", purchaseOrderItemList=" + purchaseOrderItemList +
                ", purchaseOrderAddr=" + purchaseOrderAddr +
                ", warehouseId=" + warehouseId +
                ", warehouseName='" + warehouseName + '\'' +
                ", supplierWarehouseId=" + supplierWarehouseId +
                ", stockPointType=" + stockPointType +
                '}';
    }
}
