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

import com.tmerclub.cloud.common.model.BaseModel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
import org.springframework.data.mongodb.core.mapping.Document;

import java.io.Serial;
import java.io.Serializable;

/**
 * 对应MongoDB存储出入库商品emp
 *
 * @author track
 */
@Data
@ToString
@Document("stock_bill_log_item")
public class MongoStockBillLogItemVO extends BaseModel implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 库存字段
     */

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

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

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

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

    @Schema(description = "类型，1：出库 2：入库")
    private Integer type;

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

    /**
     * 库存项字段
     */

    @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 = "商品编码")
    private String partyCode;

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

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

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

    @Schema(description = "制单人id")
    private Long employeeId;

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

    @Schema(description = "制单人姓名")
    private String makerName;

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

    @Schema(description = "库存点名称")
    private String stockPointName;

    @Schema(description = "库存点类型(1:仓库, 2:门店)")
    private Integer stockPointType;

}
