
package com.tmerclub.cloud.product.dto;

import com.tmerclub.cloud.product.model.StockBillLogItem;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 出入库明细DTO
 *
 * @author lhd
 * @date 2022-06-22 16:57:26
 */
@Data
@ToString
public class StockBillLogDTO 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 = "出入库原因id")
    private Long stockChangeReasonId;

    @Schema(description = "操作员工id")
    private Long employeeId;

    @Schema(description = "状态，0：已作废，1：已出/入库，2：待提交")
    private Integer status;

    @Schema(description = "出入库时间")
    private Date businessTime;

    @Schema(description = "总出入库数量")
    private Integer totalCount;

    @Schema(description = "总出入库金额")
    private Long totalAmount;

    @Schema(description = "出入库凭证")
    private String qualifications;

    @Schema(description = "店铺id")
    private Long shopId;

    @Schema(description = "供应商id")
    private Long supplierId;

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

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

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

    @Schema(description = "出入库开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date businessStartTime;

    @Schema(description = "出入库结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date businessEndTime;

    @Schema(description = "1：商品名称 2：商品编码")
    private Integer prodKeyType;

    @Schema(description = "搜索商品关键词(0:商品名称 1：商品编码)")
    private String prodKey;

    @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 List<StockBillLogItem> stockBillLogItems;

    @Schema(description = "出入库商品项列表(导出库存流水：批量操作时，用此参数)(批量处理参数)")
    private List<Long> stockBillLogItemIds;

    @Schema(description = "出入库明细id(导出出入库明细：批量操作时，用此参数)(批量处理参数)")
    private List<Long> stockBillLogIds;

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

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

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

}
