package com.wms_main.model.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 盘点任务
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "t_app_inventory", autoResultMap = true)
public class TAppInventory {
    /**
     * 盘点id
     */
    @TableId(value = "inventory_id")
    private String inventoryId;
    /**
     * 料号
     */
    @TableField(value = "goods_id")
    private String goodsId;
    /**
     * 载具号
     */
    @TableField(value = "vehicle_id")
    private String vehicleId;
    /**
     * 库存数量
     * 只记录盘点确认时间点
     */
    @TableField(value = "stock_num")
    private Integer stockNum;
    /**
     * 确认数量
     */
    @TableField(value = "confirm_num")
    private Integer confirmNum;
    /**
     * 盘点站台
     */
    @TableField(value = "inv_stand")
    private String invStand;
    /**
     * 盘点人
     */
    @TableField(value = "inv_user")
    private String invUser;
    /**
     * 盘点类型：1：明盘；2：盲盘
     */
    @TableField(value = "inv_type")
    private Integer invType;
    /**
     * 盘点状态
     * 0. 初始化
     * 1. 已解析
     * 2. 已确认
     */
    @TableField(value = "inv_status")
    private Integer invStatus;
    /**
     * 盘点结果
     * -99：未盘
     * -1: 盘亏
     * 0: 正常
     * 1: 盘盈
     */
    @TableField(value = "inv_result")
    private Integer invResult;
    /**
     * 盘点任务创建时间
     */
    @TableField(value = "inv_create_time")
    private LocalDateTime invCreateTime;
    /**
     * 盘点确认时间
     */
    @TableField(value = "inv_confirm_time")
    private LocalDateTime invConfirmTime;
    /**
     * 这个字段用于合并哪些任务是同一时间下发的
     */
    @TableField(value = "inv_order_id")
    private String invOrderId;

    /**
     * 特殊库存（E,K,Q)
     */
    @TableField(value = "special_stock")
    private String specialStock;     // 特殊库存（E,K,Q)

    /**
     * so单号与供应商编号，出库指定SO号或者供应商编号出库
     */
    @TableField(value = "special_stock_no")
    private String specialStockNo;

    /**
     * 物殊库存item号
     */
    @TableField(value = "special_stock_item_no")
    private String specialStockItemNo; // 物殊库存item号

    /**
     * 批次号
     */
    @TableField(value = "batch_no")
    private String batchNo;          // 批次号
}
