
package com.tmerclub.cloud.common.product.vo;

import com.tmerclub.cloud.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 出入库商品项VO
 *
 * @author lhd
 * @date 2022-06-22 16:57:27
 */
public class StockBillLogItemVO extends BaseVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "出入库商品项id")
    private Long stockBillLogItemId;

    @Schema(description = "出入库明细id")
    private Long stockBillLogId;

    @Schema(description = "实际出入库数量")
    private Integer stockCount;

    @Schema(description = "商品库存剩余量")
    private Integer afterStock;

    @Schema(description = "成本单价")
    private Long unitPrice;

    @Schema(description = "商品id")
    private Long spuId;

    @Schema(description = "skuId")
    private Long skuId;

    @Schema(description = "库存点id")
    private Long stockPointId;

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

    @Schema(description = "商品编码")
    private String partyCode;

    @Schema(description = "sku总库存")
    private Integer stock;

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

    @Schema(description = "主图：sku有图片使用sku图片，否则使用商品主图")
    private String mainImgUrl;

    @Schema(description = "sku图片")
    private String imgUrl;

    @Schema(description = "单位")
    private String measureUnit;

    @Schema(description = "1：出库 2：入库")
    private Integer stockType;

    @Schema(description = "单据类型")
    private Integer stockBillType;

    @Schema(description = "出入库单号")
    private String stockBillNo;

    @Schema(description = "关联订单号")
    private String sourceOrderNo;

    @Schema(description = "制单人手机号")
    private String makerMobile;

    @Schema(description = "规格")
    private String skuName;

    @Schema(description = "制单开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createStartTime;

    @Schema(description = "制单结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createEndTime;

    @Schema(description = "库存点类型")
    private Integer stockPointType;

    @Schema(description = "仓库类型 0默认仓库，1区域仓库")
    private Integer warehouseType;

    public Integer getWarehouseType() {
        return warehouseType;
    }

    public void setWarehouseType(Integer warehouseType) {
        this.warehouseType = warehouseType;
    }

    public Integer getStockPointType() {
        return stockPointType;
    }

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

    public Long getStockBillLogItemId() {
        return stockBillLogItemId;
    }

    public void setStockBillLogItemId(Long stockBillLogItemId) {
        this.stockBillLogItemId = stockBillLogItemId;
    }

    public Long getStockBillLogId() {
        return stockBillLogId;
    }

    public void setStockBillLogId(Long stockBillLogId) {
        this.stockBillLogId = stockBillLogId;
    }

    public Integer getStockCount() {
        return stockCount;
    }

    public void setStockCount(Integer stockCount) {
        this.stockCount = stockCount;
    }

    public Integer getAfterStock() {
        return afterStock;
    }

    public void setAfterStock(Integer afterStock) {
        this.afterStock = afterStock;
    }

    public Long getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(Long unitPrice) {
        this.unitPrice = unitPrice;
    }

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    public Long getSkuId() {
        return skuId;
    }

    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }

    public String getRemark() {
        return remark;
    }

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

    public String getPartyCode() {
        return partyCode;
    }

    public void setPartyCode(String partyCode) {
        this.partyCode = partyCode;
    }

    public Integer getStock() {
        return stock;
    }

    public void setStock(Integer stock) {
        this.stock = stock;
    }

    public String getSpuName() {
        return spuName;
    }

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

    public String getMainImgUrl() {
        return mainImgUrl;
    }

    public void setMainImgUrl(String mainImgUrl) {
        this.mainImgUrl = mainImgUrl;
    }

    public String getImgUrl() {
        return imgUrl;
    }

    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }

    public String getMeasureUnit() {
        return measureUnit;
    }

    public void setMeasureUnit(String measureUnit) {
        this.measureUnit = measureUnit;
    }

    public Integer getStockType() {
        return stockType;
    }

    public void setStockType(Integer stockType) {
        this.stockType = stockType;
    }

    public Integer getStockBillType() {
        return stockBillType;
    }

    public void setStockBillType(Integer stockBillType) {
        this.stockBillType = stockBillType;
    }

    public String getStockBillNo() {
        return stockBillNo;
    }

    public void setStockBillNo(String stockBillNo) {
        this.stockBillNo = stockBillNo;
    }

    public String getSourceOrderNo() {
        return sourceOrderNo;
    }

    public void setSourceOrderNo(String sourceOrderNo) {
        this.sourceOrderNo = sourceOrderNo;
    }

    public String getMakerMobile() {
        return makerMobile;
    }

    public void setMakerMobile(String makerMobile) {
        this.makerMobile = makerMobile;
    }

    public String getSkuName() {
        return skuName;
    }

    public void setSkuName(String skuName) {
        this.skuName = skuName;
    }

    public Date getCreateStartTime() {
        return createStartTime;
    }

    public void setCreateStartTime(Date createStartTime) {
        this.createStartTime = createStartTime;
    }

    public Date getCreateEndTime() {
        return createEndTime;
    }

    public void setCreateEndTime(Date createEndTime) {
        this.createEndTime = createEndTime;
    }

    public Long getStockPointId() {
        return stockPointId;
    }

    public void setStockPointId(Long stockPointId) {
        this.stockPointId = stockPointId;
    }

    @Override
    public String toString() {
        return "StockBillLogItemVO{" +
                "stockBillLogItemId=" + stockBillLogItemId +
                ", stockBillLogId=" + stockBillLogId +
                ", stockCount=" + stockCount +
                ", afterStock=" + afterStock +
                ", unitPrice=" + unitPrice +
                ", spuId=" + spuId +
                ", skuId=" + skuId +
                ", stockPointId=" + stockPointId +
                ", remark='" + remark + '\'' +
                ", partyCode='" + partyCode + '\'' +
                ", stock=" + stock +
                ", spuName='" + spuName + '\'' +
                ", mainImgUrl='" + mainImgUrl + '\'' +
                ", imgUrl='" + imgUrl + '\'' +
                ", measureUnit='" + measureUnit + '\'' +
                ", stockType=" + stockType +
                ", stockBillType=" + stockBillType +
                ", stockBillNo='" + stockBillNo + '\'' +
                ", sourceOrderNo='" + sourceOrderNo + '\'' +
                ", makerMobile='" + makerMobile + '\'' +
                ", skuName='" + skuName + '\'' +
                ", createStartTime=" + createStartTime +
                ", createEndTime=" + createEndTime +
                ", stockPointType=" + stockPointType +
                ", warehouseType=" + warehouseType +
                '}';
    }
}
