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_lock
 *
 * @author lch
 * @date 2022-06-10
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("interface_stock_lock")
public class InterfaceStockLock 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 consignorId;


    /**
     * 商品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+7")
    private Date productionDate;


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


    /**
     * 锁定数量
     */
    @Excel(name = "锁定数量", width = 20)
    private BigDecimal onlockQty;


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


    /**
     * 源库存状态
     */
    @Excel(name = "源库存状态", width = 20)
    private String sourceStatus;


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


    /**
     * 处理意见
     */
    @Excel(name = "处理意见", width = 20)
    private String manageOpinion;


    /**
     * 锁定人员
     */
    @Excel(name = "锁定人员", width = 20)
    private String onlockUser;


    /**
     * 锁定时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+7")
    private Date onlockTime;


    /**
     * 解锁人员
     */
    @Excel(name = "解锁人员", width = 20)
    private String unlockUser;


    /**
     * 解锁时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+7")
    private Date unlockTime;


    /**
     * 单据类型
     */
    @Excel(name = "单据类型", width = 20)
    private String orderType;


    /**
     * 锁定类型
     */
    @Excel(name = "锁定类型", width = 20)
    private String lockType;


    /**
     * 托盘编码
     */
    @Excel(name = "托盘编码", width = 20)
    private String containerCode;


    /**
     * 仓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;


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


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


    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+7")
    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+7")
    private Date updateTime;


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


}
