package com.tmerclub.cloud.product.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import lombok.ToString;

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

/**
 * @author gaozijie
 * @date 2023-04-10
 */
@Data
@ToString
public class StockBillOutLogExcelVO 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, 12};

    @ExcelProperty(value = {"出库明细信息", "出库单号"}, index = 0)
    private String stockBillNo;

    @ExcelProperty(value = {"出库明细信息", "关联订单号"}, index = 1)
    private String sourceOrderNo;

    @ExcelProperty(value = {"入库明细信息", "库存点名称"}, index = 2)
    private String stockPointName;

    @ExcelProperty(value = {"入库明细信息", "库存点类型"}, index = 3)
    private String stockPointType;

    @ExcelProperty(value = {"出库明细信息", "单据类型"}, index = 4)
    private String stockBillTypeName;

    @ExcelProperty(value = {"出库明细信息", "出库原因"}, index = 5)
    private String reason;

    @ExcelProperty(value = {"出库明细信息", "状态，0：已作废，1：已出库，2：待提交"}, index = 6)
    private String statusName;

    @ExcelProperty(value = {"出库明细信息", "出库时间"}, index = 7)
    private Date businessTime;

    @ExcelProperty(value = {"出库明细信息", "总出库数量"}, index = 8)
    private Integer totalCount;

    @ExcelProperty(value = {"出库明细信息", "总出库金额"}, index = 9)
    private String totalAmount;

    @ExcelProperty(value = {"出库明细信息", "制单人"}, index = 10)
    private String makerMobile;

    @ExcelProperty(value = {"出库明细信息", "制单时间"}, index = 11)
    private Date createTime;

    @ExcelProperty(value = {"出库明细信息", "商品编码"}, index = 12)
    private String partyCode;

    @ExcelProperty(value = {"出库明细信息", "商品名称"}, index = 13)
    private String spuName;

    @ExcelProperty(value = {"出库明细信息", "规格"}, index = 14)
    private String skuName;

    @ExcelProperty(value = {"出库明细信息", "实际出库数量"}, index = 15)
    private Integer stockCount;

    @ExcelProperty(value = {"出库明细信息", "成本单价"}, index = 16)
    private String unitPrice;

    @ExcelIgnore
    private Long stockBillLogId;

    @ExcelIgnore
    private Integer status;

    @ExcelIgnore
    private Integer stockBillType;

    @ExcelIgnore
    private Long stockChangeReasonId;

}
