package com.fjhx.entity.stock;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fjhx.base.BasicEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 出入库明细
 * </p>
 *
 * @author ${author}
 * @since 2022-12-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class StockWaterdetial extends BasicEntity {


    /**
     * 软删除
     */
    @TableField("IsDelete")
    private Boolean IsDelete;

    /**
     * 出入库编号
     */
    @TableField("WaterId")
    private String WaterId;

    /**
     * 操作人
     */
    @TableField("OperUserId")
    private String OperUserId;

    /**
     * 物料编号
     */
    @TableField("MaterialCode")
    private String MaterialCode;

    /**
     * 变更数量
     */
    @TableField("ChangeNum")
    private BigDecimal ChangeNum;

    /**
     * 出入库单类型 （枚举定义：1=采购入库，2=归还入库，10=领料出库，11=退货出库，12=报损出库）
     */
    @TableField("ApplyType")
    private Integer ApplyType;

    /**
     * 关联编号
     */
    @TableField("LinkId")
    private String LinkId;

    /**
     * 二维码
     */
    @TableField("QRCode")
    private String QRCode;

    /**
     * RFID码
     */
    @TableField("RfidCode")
    private String RfidCode;

    /**
     * 单价
     */
    @TableField("Price")
    private BigDecimal Price;

    /**
     * 库存变更类型 （枚举定义：6=库存初始化，10=入库，11=盘盈，12=数量添加修正，13=补入库，14=标签损坏入库，15=归还入库，16=现场回仓，17=调仓入库，20=出库，21=盘亏，22=数量减少修正，23=补出库，24=绑定错误，25=标签损坏出库，26=退货出库，27=报废出库，28=调仓出库,  29=补出库待确认，30=出库待确认）
     */
    @TableField("StockChangeType")
    private Integer StockChangeType;

    /**
     * 出入库设备 （枚举定义：0=一体机，1=手持机，2=web端）
     */
    @TableField("InOutDevice")
    private Integer InOutDevice;

    /**
     * 审批状态 （枚举定义：0=待审批，1=审批中，2=已审批，3=已驳回，4=已撤回）
     */
    @TableField("ApproveBillState")
    private Integer ApproveBillState;

    /**
     * 审批流关联id
     */
    @TableField("FlowLinkId")
    private String FlowLinkId;

    /**
     * 领料状态 1审批中 2待处理 3确认接收 4退回
     */
    @TableField("PickingStatus")
    private Integer PickingStatus;


}
