
package com.tmerclub.cloud.api.order.bo;

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

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

/**
 * 采购订单信息
 *
 * @author YXF
 * @date 20222-09-20
 */
@Data
public class EsPurchaseOrderBO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 采购id
     */
    private Long purchaseOrderId;

    /**
     * 店铺id
     */
    private Long shopId;

    /**
     * 店铺名称
     */
    private String shopName;

    /**
     * 订单创建时间
     */
    private Date createTime;

    /**
     * 订单更新时间
     */
    private Date updateTime;

    /**
     * 送达时间
     */
    private Date deliverTime;

    /**
     * 发货时间
     */
    private Date deliveryTime;

    /**
     * 供应商id
     */
    private Long supplierId;

    /**
     * 供应商名称
     */
    private String supplierName;

    /**
     * 总采购金额
     */
    private Double totalAmount;

    /**
     * 总采购库存数量
     */
    private Integer totalStock;

    /**
     * 实际总库存数量
     */
    private Integer actualTotalStock;

    /**
     * 状态 0:已作废 1:待入库 2:已发货 3.部分入库 4:待付款 5:已完成
     */
    private Integer status;

    /**
     * 备注
     */
    private String remark;

    /**
     * 操作员工id
     */
    private Long employeeId;

    /**
     * 配送类型 1:快递 2:自提 3：无需快递 4同城配送
     */
    private Integer deliveryType;

    /**
     * 收货人姓名
     */
    private String consignee;

    /**
     * 收货人手机号
     */
    private String mobile;

    /**
     * 商品名称
     */
    private String spuName;

    /**
     * 商品中文名称
     */
    private String spuNameZh;

    /**
     * 商品英文名称
     */
    private String spuNameEn;

    /**
     * 付款凭证图片 多个图片逗号分隔
     */
    private String voucherImgUrls;

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

    /**
     * 仓库id
     */
    private Long warehouseId;

    /**
     * 供应商仓库id
     */
    private Long supplierWarehouseId;

    /**
     * 库存点类型
     */
    private Integer stockPointType;


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