package com.fjhx.entity.stock;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fjhx.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * <p>
 * 出入库流水记录
 * </p>
 *
 * @author ${author}
 * @since 2022-11-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class StockJournal extends BaseEntity {

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

    /**
     * 出入库类型 0出库 1入库
     */
    private Integer type;

    /**
     * 详细类型
     */
    private Integer detailsType;

    /**
     * 业务id
     */
    private Long businessId;

    /**
     * 物品id
     */
    private Long goodsId;

    /**
     * 仓库id
     */
    private Long warehouseId;

    /**
     * 变更数量
     */
    private BigDecimal changeQuantity;

    /**
     * 实际入库数量
     */
    private BigDecimal actualQuantity;

    // /**
    //  * 质检状态：10、未质检；20、部分质检；30、已质检
    //  */
    // private Integer qualityStatus;

    /**
     * 出入库金额
     */
    private BigDecimal amount;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 逻辑删除 0未删除 1已删除
     */
    @TableField(fill = FieldFill.INSERT)
    @TableLogic
    private Integer delFlag;

    /**
     * 操作人名称
     */
    @TableField(exist = false)
    private String createName;

    /**
     * 物品编码
     */
    @TableField(exist = false)
    private String goodsCode;

    /**
     * 物品名称
     */
    @TableField(exist = false)
    private String goodsName;

    /**
     * 物品类型
     */
    @TableField(exist = false)
    private Integer goodsType;

    /**
     * 物品单位
     */
    @TableField(exist = false)
    private String goodsUnit;

    /**
     * 物品规格
     */
    @TableField(exist = false)
    private String goodsSpecs;

    /**
     * 物流单号
     */
    @TableField(exist = false)
    private String logisticsInfoCode;

    /**
     * 仓库名称
     */
    @TableField(exist = false)
    private String warehouseName;

    /**
     * 采购单ID
     */
    @TableField(exist = false)
    private Long purchaseId;

    /**
     * 采购单号
     */
    @TableField(exist = false)
    private String purchaseCode;

    /**
     * 供应商ID
     */
    @TableField(exist = false)
    private Long supplierId;

    /**
     * 供应商名称
     */
    @TableField(exist = false)
    private String supplierName;
}
