
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 lombok.Data;
import lombok.ToString;

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
 */
@Data
@ToString
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;

}
