
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 YXF
 * @date 20222-09-20
 */
public class EsPurchaseOrderVO 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 createTime;

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

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

    @Schema(description = "发货时间")
    private Date deliveryTime;

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

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

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

    @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 = "操作员工id")
    private Long employeeId;

    @Schema(description = "配送类型 1:快递 2:自提 3：无需快递 4同城配送")
    private Integer deliveryType;

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

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

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


    @Schema(description = "采购订单项列表")
    private List<EsPurchaseOrderItemVO> purchaseOrderItems;

    @Schema(description = "付款凭证图片")
    private String voucherImgUrls;

    @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 Date getDeliveryTime() {
        return deliveryTime;
    }

    public void setDeliveryTime(Date deliveryTime) {
        this.deliveryTime = deliveryTime;
    }

    public Integer getDeliveryType() {
        return deliveryType;
    }

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

    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 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 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 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 String getShopName() {
        return shopName;
    }

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

    public String getSupplierName() {
        return supplierName;
    }

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

    public String getSpuName() {
        return spuName;
    }

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

    public List<EsPurchaseOrderItemVO> getPurchaseOrderItems() {
        return purchaseOrderItems;
    }

    public void setPurchaseOrderItems(List<EsPurchaseOrderItemVO> purchaseOrderItems) {
        this.purchaseOrderItems = purchaseOrderItems;
    }

    public String getContactPhone() {
        return contactPhone;
    }

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

    public String getVoucherImgUrls() {
        return voucherImgUrls;
    }

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

    public Long getWarehouseId() {
        return warehouseId;
    }

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

    public String getWarehouseName() {
        return warehouseName;
    }

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

    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;
    }

    @Override
    public String toString() {
        return "EsPurchaseOrderVO{" +
                "purchaseOrderId=" + purchaseOrderId +
                ", shopId=" + shopId +
                ", shopName='" + shopName + '\'' +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", deliverTime=" + deliverTime +
                ", deliveryTime=" + deliveryTime +
                ", supplierId=" + supplierId +
                ", supplierName='" + supplierName + '\'' +
                ", contactPhone='" + contactPhone + '\'' +
                ", totalAmount=" + totalAmount +
                ", totalStock=" + totalStock +
                ", actualTotalStock=" + actualTotalStock +
                ", status=" + status +
                ", remark='" + remark + '\'' +
                ", employeeId=" + employeeId +
                ", deliveryType=" + deliveryType +
                ", consignee='" + consignee + '\'' +
                ", mobile='" + mobile + '\'' +
                ", spuName='" + spuName + '\'' +
                ", purchaseOrderItems=" + purchaseOrderItems +
                ", voucherImgUrls='" + voucherImgUrls + '\'' +
                ", warehouseId=" + warehouseId +
                ", warehouseName='" + warehouseName + '\'' +
                ", supplierWarehouseId=" + supplierWarehouseId +
                ", stockPointType=" + stockPointType +
                '}';
    }
}
