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.util.Date;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 移库上传对象 interface_stock_move
 *
 * @author lch
 * @date 2022-06-10
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("interface_stock_move")
public class InterfaceStockMove implements Serializable {

private static final long serialVersionUID=1L;


    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    @Excel(name = "主键ID", width = 20)
    private Long id;


    /**
     * 单号
     */
    @Excel(name = "单号", width = 20)
    private String orderNo;


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


    /**
     * 移出库位ID
     */
    @Excel(name = "移出库位ID", width = 20)
    private Long outLocationId;


    /**
     * 移入库位ID
     */
    @Excel(name = "移入库位ID", width = 20)
    private Long inLocationId;


    /**
     * 商品ID
     */
    @Excel(name = "商品ID", width = 20)
    private Long goodId;


    /**
     * 批次ID
     */
    @Excel(name = "批次ID", width = 20)
    private Long batchId;


    /**
     * 批号
     */
    @Excel(name = "批号", width = 20)
    private String batchNo;


    /**
     * 生产日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date productionDate;


    /**
     * 有效期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date expiredDate;


    /**
     * 移库数量
     */
    @Excel(name = "移库数量", width = 20)
    private BigDecimal quantity;


    /**
     * 上架库存状态
     */
    @Excel(name = "上架库存状态", width = 20)
    private String inStockStatus;


    /**
     * 下架库存状态
     */
    @Excel(name = "下架库存状态", width = 20)
    private String outStockStatus;


    /**
     * 移库员
     */
    @Excel(name = "移库员", width = 20)
    private String moveUser;


    /**
     * 下架人员
     */
    @Excel(name = "下架人员", width = 20)
    private String unshelfUser;


    /**
     * 上架人员
     */
    @Excel(name = "上架人员", width = 20)
    private String shelfUser;


    /**
     * ERP计划移库数量
     */
    @Excel(name = "ERP计划移库数量", width = 20)
    private BigDecimal erpPlanQty;


    /**
     * ERP移库原因
     */
    @Excel(name = "ERP移库原因", width = 20)
    private String erpReason;


    /**
     * 来源单号
     */
    @Excel(name = "来源单号", width = 20)
    private String sourceOrderNo;


    /**
     * 来源行id
     */
    @Excel(name = "来源行id", width = 20)
    private String sourceLineId;


    /**
     * 移库原因
     */
    @Excel(name = "移库原因", width = 20)
    private String reason;


    /**
     * 不合格原因(DICT_CODE)
     */
    @Excel(name = "不合格原因(DICT_CODE)", width = 20)
    private String unqualifiedReason;


    /**
     * 上传状态
     */
    @Excel(name = "上传状态", width = 20)
    private String status;


    /**
     * 上传次数
     */
    @Excel(name = "上传次数", width = 20)
    private Long times;


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


    /**
     * 备注
     */
    @Excel(name = "备注", width = 20)
    private String remark;


    /**
     * 扩展字段1
     */
    @Excel(name = "扩展字段1", width = 20)
    private String extend1;


    /**
     * 扩展字段2
     */
    @Excel(name = "扩展字段2", width = 20)
    private String extend2;


    /**
     * 扩展字段3
     */
    @Excel(name = "扩展字段3", width = 20)
    private String extend3;


    /**
     * 扩展字段4
     */
    @Excel(name = "扩展字段4", width = 20)
    private String extend4;


    /**
     * 扩展字段5
     */
    @Excel(name = "扩展字段5", width = 20)
    private String extend5;


    /**
     * 创建时间
     */
    @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;


}
