package com.sy.coinage.workshop.model;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;

import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

import com.alibaba.fastjson2.annotation.JSONField;

/**
 * -入库表主表实体类
 */
@Data
@EqualsAndHashCode(callSuper = false)

@TableName("rfid_logistics")
@ApiModel(value = "入库表主表对象", description = "入库表主表")
public class Logistics implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * -id -10
     */
    @ApiModelProperty(value = "id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * -编号 -20
     */
    @ApiModelProperty(value = "编号")
    @TableField(value = "serial_number")
    private String serialNumber;
    /**
     * -标签 -12
     */
    @ApiModelProperty(value = "标签")
    @TableField(value = "rfid")
    private String rfid;
    /**
     * -拆包的源头标签（冗余字端，可不填） -12
     */
    @ApiModelProperty(value = "拆包的源头标签（冗余字端，可不填）")
    @TableField(value = "rfid_src")
    private String rfidSrc;
    /**
     * -冠字号范围(抽检/拆包冠字号),从传入的rfid到基础信息里获取 ) -100
     */
    @ApiModelProperty(value = "冠字号范围(抽检/拆包冠字号),从传入的rfid到基础信息里获取 )")
    @TableField(value = "crown_between")
    private String crownBetween;
    /**
     * -生命周期状态:1初始登记 2:车间入库 3:车间出库 4:总库入库 5:主库抽检出库 6.车间抽检入库确认 7.车间抽检出库8 主库抽检返回确认 9返检总库出库 10:返检车间确认 11拆包
     * 12：已发货 -10
     */
    @ApiModelProperty(
        value = "生命周期状态:1初始登记 2:车间入库 3:车间出库 4:总库入库  5:主库抽检出库 6.车间抽检入库确认 7.车间抽检出库8 主库抽检返回确认 9返检总库出库 10:返检车间确认 11拆包 12：已发货 13:返回机台14 返回剔除品库")
    @TableField(value = "status")
    private Integer status;
    /**
     * -仓库ID -10
     */
    @ApiModelProperty(value = "仓库ID")
    @TableField(value = "ware_id")
    private Integer wareId;
    /**
     * -仓库名称 -20
     */
    @ApiModelProperty(value = "仓库名称")
    @TableField(value = "ware_cn")
    private String wareCn;
    /**
     * -操作时间 -19
     */
    @ApiModelProperty(value = "操作时间")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * -发货地址（仅是发货状态下） -50
     */
    @ApiModelProperty(value = "发货地址（仅是发货状态下）")
    @TableField(value = "address_cn")
    private String addressCn;
    /**
     * -操作人ID -10
     */
    @ApiModelProperty(value = "操作人ID")
    @TableField(value = "operator_id")
    private Integer operatorId;
    /**
     * -操作人姓名 -20
     */
    @ApiModelProperty(value = "操作人姓名")
    @TableField(value = "operator")
    private String operator;
    /**
     * -复核人ID -10
     */
    @ApiModelProperty(value = "复核人ID")
    @TableField(value = "check_id")
    private Integer checkId;
    /**
     * -复核人姓名 -20
     */
    @ApiModelProperty(value = "复核人姓名")
    @TableField(value = "checker")
    private String checker;
}
