package com.wms.entity.table;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.Fastjson2TypeHandler;
import com.wms.entity.app.dto.extend.StockDetailInfo;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 库存
 */
@Data
@TableName(value = "tbl_app_stock", autoResultMap = true)
public class Stock {
    /**
     * 库存编号
     */
    @TableId("stock_id")
    private String stockId;
    /**
     * 库位ID
     */
    @TableField("location_id")
    private String locationId;
    /**
     * 托盘号
     */
    @TableField("vehicle_id")
    private String vehicleId;
    /**
     * 重量
     */
    @TableField("weight")
    private BigDecimal weight;
    /**
     * 库存状态
     * 正常、出库中、锁定 等
     */
    @TableField("stock_status")
    private Integer stockStatus;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;
    /**
     * 最后更新时间
     */
    @TableField("last_update_time")
    private LocalDateTime lastUpdateTime;
    /**
     * 最后更新用户
     */
    @TableField("last_update_user")
    private String lastUpdateUser;
    /**
     * 是否盘点
     */
    @TableField("is_inventory")
    private Integer isInventory;
    /**
     * 盘点任务号   盘点出库和盘点入库同样
     */
    @TableField("inventory_task_id")
    private String inventoryTaskId;
    /**
     * 呆滞天数
     */
    @TableField("no_use_days")
    private Integer noUseDays;
    /**
     * 物料相关信息
     */
    @TableField(value = "goods_related", typeHandler = Fastjson2TypeHandler.class)
    private StockDetailInfo goodsRelated;
}
