
package com.tmerclub.cloud.product.model;

import com.tmerclub.cloud.common.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

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

/**
 * 出入库明细
 *
 * @author lhd
 * @date 2022-06-22 16:57:26
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString
public class StockBillLog extends BaseModel implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 出入库明细id
     */
    private Long stockBillLogId;

    /**
     * 出入库单号
     */
    private String stockBillNo;

    /**
     * 关联订单号
     */
    private String sourceOrderNo;

    /**
     * 单据类型
     */
    private Integer stockBillType;

    /**
     * 出入库原因id
     */
    private Long stockChangeReasonId;

    /**
     * 操作员工id
     */
    private Long employeeId;

    /**
     * 状态，0：已作废，1：已出/入库，2：待提交
     */
    private Integer status;

    /**
     * 出入库时间
     */
    private Date businessTime;

    /**
     * 总出入库数量
     */
    private Integer totalCount;

    /**
     * 总出入库金额
     */
    private Long totalAmount;

    /**
     * 出入库凭证
     */
    private String qualifications;

    /**
     * 店铺id
     */
    private Long shopId;

    /**
     * 供应商id
     */
    private Long supplierId;

    /**
     * 备注
     */
    private String remark;

    /**
     * 类型，1：出库 2：入库
     */
    private Integer type;

    /**
     * 制单人手机号
     */
    private String makerMobile;

    /**
     * 库存点id
     */
    private Long stockPointId;

    /**
     * 库存点类型(1:门店, 2:仓库)
     */
    private Integer stockPointType;

    public StockBillLog() {
    }

    public StockBillLog(Long shopId, Date businessTime, Integer stockBillLogType, Integer stockType, String stockBillNo, Integer status, String sourceOrderNo) {
        Date now = new Date();
        this.setShopId(shopId);
        this.setEmployeeId(null);
        this.setCreateTime(now);
        this.setUpdateTime(now);
        this.setBusinessTime(businessTime);
        this.setStockBillType(stockBillLogType);
        this.setType(stockType);
        this.setStockBillNo(stockBillNo);
        this.setStatus(status);
        this.setSourceOrderNo(sourceOrderNo);
    }

}
