package com.tmerclub.cloud.product.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.NumberFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

import java.io.Serial;
import java.io.Serializable;
/**
 * @author lanhai
 */
@Data
@ToString
public class StockBillLogItemExcelVO 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, 6, 7, 8, 9, 10, 11};

    @ExcelProperty(value = {"库存流水信息", "单据编号"}, index = 0)
    private String stockBillNo;

    @NumberFormat("#")
    @ExcelProperty(value = {"库存流水信息", "关联单号"}, index = 1)
    private String sourceOrderNo;

    @ExcelProperty(value = {"库存流水信息", "单据类型"}, index = 2)
    private String stockBillTypeName;

    @ExcelProperty(value = {"库存流水信息", "商品名称"}, index = 3)
    private String spuName;

    @ExcelProperty(value = {"库存流水信息", "规格"}, index = 4)
    private String skuName;

    @ExcelProperty(value = {"库存流水信息", "商品编码"}, index = 5)
    private String partyCode;

    @ExcelProperty(value = {"库存流水信息", "实际出入库数量"}, index = 6)
    private Integer stockCount;

    @ExcelProperty(value = {"库存流水信息", "商品库存剩余量"}, index = 7)
    private Integer afterStock;

    @ExcelProperty(value = {"库存流水信息", "成本单价"}, index = 8)
    private Long unitPrice;

    @ExcelProperty(value = {"库存流水信息", "库存点名称"}, index = 9)
    private String stockPointName;

    @ExcelProperty(value = {"库存流水信息", "库存点类型"}, index = 10)
    private String stockPointType;

    @ExcelProperty(value = {"库存流水信息", "制单人手机号"}, index = 11)
    private String makerMobile;

    @ExcelIgnore
    private Long spuId;

    @ExcelIgnore
    private Long skuId;

    @ExcelIgnore
    private Long stockBillLogItemId;

    @ExcelIgnore
    private Integer stockBillType;

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

    @ExcelIgnore
    private Long stockPointId;

}
