package com.shkj.wms.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.shkj.common.annotation.Excel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 库存对象 sys_stock
 *
 * @author voidlove
 * @date 2022-05-05
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("sys_stock")
public class SysStock implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * $column.columnComment
     */
    @TableId(value = "id", type = IdType.AUTO)
    @Excel(name = "${comment}", width = 15)
    private Long id;


    /**
     * 货主ID
     */
    @Excel(name = "货主ID", width = 20)
    private Long consignorId;


    /**
     * 仓ID
     */
    @Excel(name = "仓ID", width = 20)
    private Long branchId;


    /**
     * 库房ID
     */
    @Excel(name = "库房ID", width = 20)
    private Long storageId;


    /**
     * 库房区域ID
     */
    @Excel(name = "库房区域ID", width = 20)
    private Long areaId;


    /**
     * 巷道
     */
    @Excel(name = "巷道", width = 20)
    private String tunnel;


    /**
     * 产品信息
     */
    @Excel(name = "产品信息", width = 20)
    private String goodsNo;


    /**
     * 实际库存
     */
    @Excel(name = "实际库存", width = 20)
    private BigDecimal qty;


    /**
     * 入预占库存
     */
    @Excel(name = "入预占库存", width = 20)
    private BigDecimal inQty;


    /**
     * 出预占库存
     */
    @Excel(name = "出预占库存", width = 20)
    private BigDecimal outQty;


    /**
     * 库存状态（合格/不合格/待检/退货）
     */
    @Excel(name = "库存状态", width = 15)
    private String stockStatus;


    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;


    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    @Excel(name = "创建人", width = 20)
    private String createBy;


    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;


    /**
     * 修改人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @Excel(name = "修改人", width = 20)
    private String updateBy;


}
