package com.tmerclub.cloud.product.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;

import java.io.Serial;
import java.io.Serializable;
/**
 * @author lanhai
 */
public class TakeStockExcelVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * excel 信息
     */
    public static final String EXCEL_NAME = "实物盘点信息";
    public static final String SHEET_NAME = "实物盘点信息";
    /**
     * 哪一行开始导出
     */
    public static final int MERGE_ROW_INDEX = 2;
    /**
     * 需要合并的列数组
     */
    public static final int[] MERGE_COLUMN_INDEX = {0, 1, 2, 3, 4, 5};

    @ExcelProperty(value = {"盘点商品明细", "盘点单号"}, index = 0)
    private String takeStockNo;

    @ExcelProperty(value = {"盘点商品明细", "盘点日期"}, index = 1)
    private String createTime;

    @ExcelIgnore
    private Integer billStatus;

    @ExcelProperty(value = {"盘点商品明细", "盘点状态"}, index = 2)
    private String billStatusStr;

    @ExcelProperty(value = {"盘点商品明细", "制单人"}, index = 3)
    private String makerName;

    @ExcelIgnore
    private Long warehouseId;

    @ExcelProperty(value = {"盘点商品明细", "库存点名称"}, index = 4)
    private String warehouseName;

    @ExcelIgnore
    private Integer stockPointType;

    @ExcelProperty(value = {"盘点商品明细", "库存点类型"}, index = 5)
    private String stockPointTypeStr;

    @ExcelProperty(value = {"盘点商品明细", "盘点区域名称"}, index = 6)
    private String stockRegionName;

    @ExcelProperty(value = {"盘点商品明细", "备注"}, index = 7)
    private String remark;

    @ExcelProperty(value = {"盘点商品明细", "商品名称"}, index = 8)
    private String spuName;

    @ExcelProperty(value = {"盘点商品明细", "商品规格"}, index = 9)
    private String skuName;

    @ExcelProperty(value = {"盘点商品明细", "商品编码"}, index = 10)
    private String partyCode;

    @ExcelProperty(value = {"盘点商品明细", "账面库存"}, index = 11)
    private Integer stocks;

    @ExcelProperty(value = {"盘点商品明细", "实盘库存"}, index = 12)
    private Integer actualStock;

    @ExcelProperty(value = {"盘点商品明细", "盈亏数量"}, index = 13)
    private Integer changeStock;

    @ExcelIgnore
    private Integer ioType;

    @ExcelProperty(value = {"盘点商品明细", "盈亏状态"}, index = 14)
    private String ioTypeStr;

    @ExcelProperty(value = {"盘点商品明细", "盘点商品备注"}, index = 15)
    private String takeStockRemark;

    @ExcelIgnore
    private Long maker;

    public String getTakeStockNo() {
        return takeStockNo;
    }

    public void setTakeStockNo(String takeStockNo) {
        this.takeStockNo = takeStockNo;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public Integer getBillStatus() {
        return billStatus;
    }

    public void setBillStatus(Integer billStatus) {
        this.billStatus = billStatus;
    }

    public String getBillStatusStr() {
        return billStatusStr;
    }

    public void setBillStatusStr(String billStatusStr) {
        this.billStatusStr = billStatusStr;
    }

    public String getMakerName() {
        return makerName;
    }

    public void setMakerName(String makerName) {
        this.makerName = makerName;
    }

    public String getStockRegionName() {
        return stockRegionName;
    }

    public void setStockRegionName(String stockRegionName) {
        this.stockRegionName = stockRegionName;
    }

    public String getRemark() {
        return remark;
    }

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

    public String getSpuName() {
        return spuName;
    }

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

    public String getSkuName() {
        return skuName;
    }

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

    public String getPartyCode() {
        return partyCode;
    }

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

    public Integer getStocks() {
        return stocks;
    }

    public void setStocks(Integer stocks) {
        this.stocks = stocks;
    }

    public Integer getActualStock() {
        return actualStock;
    }

    public void setActualStock(Integer actualStock) {
        this.actualStock = actualStock;
    }

    public Integer getChangeStock() {
        return changeStock;
    }

    public void setChangeStock(Integer changeStock) {
        this.changeStock = changeStock;
    }

    public Integer getIoType() {
        return ioType;
    }

    public void setIoType(Integer ioType) {
        this.ioType = ioType;
    }

    public String getIoTypeStr() {
        return ioTypeStr;
    }

    public void setIoTypeStr(String ioTypeStr) {
        this.ioTypeStr = ioTypeStr;
    }

    public String getTakeStockRemark() {
        return takeStockRemark;
    }

    public void setTakeStockRemark(String takeStockRemark) {
        this.takeStockRemark = takeStockRemark;
    }

    public Long getMaker() {
        return maker;
    }

    public void setMaker(Long maker) {
        this.maker = maker;
    }

    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 Integer getStockPointType() {
        return stockPointType;
    }

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

    public String getStockPointTypeStr() {
        return stockPointTypeStr;
    }

    public void setStockPointTypeStr(String stockPointTypeStr) {
        this.stockPointTypeStr = stockPointTypeStr;
    }

    @Override
    public String toString() {
        return "TakeStockExcelVO{" +
                "takeStockNo='" + takeStockNo + '\'' +
                ", createTime='" + createTime + '\'' +
                ", billStatus=" + billStatus +
                ", billStatusStr='" + billStatusStr + '\'' +
                ", makerName='" + makerName + '\'' +
                ", warehouseId=" + warehouseId +
                ", warehouseName='" + warehouseName + '\'' +
                ", stockPointType=" + stockPointType +
                ", stockPointTypeStr='" + stockPointTypeStr + '\'' +
                ", stockRegionName='" + stockRegionName + '\'' +
                ", remark='" + remark + '\'' +
                ", spuName='" + spuName + '\'' +
                ", skuName='" + skuName + '\'' +
                ", partyCode='" + partyCode + '\'' +
                ", stocks=" + stocks +
                ", actualStock=" + actualStock +
                ", changeStock=" + changeStock +
                ", ioType=" + ioType +
                ", ioTypeStr='" + ioTypeStr + '\'' +
                ", takeStockRemark='" + takeStockRemark + '\'' +
                ", maker=" + maker +
                '}';
    }
}
