package com.sy.coinage.workshop.req.vo;

import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.sy.coinage.core.annotation.FastJsonFieldProfile;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.Date;

@Data
public class BaseInfoVO {
    /**
     * -id
     */
    @ApiModelProperty(value = "id")
    @TableField(value = "id")
    private Integer id;
    /**
     * -EPC码
     */
    @ApiModelProperty(value = "EPC码")
    @TableField(value = "rfid")
    private String rfid;

    /**
     * -创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_time")
    @JSONField(format = "yyyy-MM-dd")
    private Date createTime;

    /**
     * -品名ID
     */
    @ApiModelProperty(value = "品名ID")
    @TableField(value = "securities_id")
    private Integer securitiesId;
    /**
     * -品名
     */
    @ApiModelProperty(value = "品名")
    @TableField(value = "securities")
    private String securities;
    /**
     * -编号
     */
    @ApiModelProperty(value = "编号")
    @NotBlank(message = "编号不能为空")
    @TableField(value = "serial_number")
    private String serialNumber;

    /**
     * -冠字号前缀
     */
    @ApiModelProperty(value = "冠字号前缀")
    @TableField(value = "crown_prefix")
    private String crownPrefix;

    /**
     * -当仅为拆包登记绑定新的rfid时（origin_type=2），将拆出的数据变为字符串保存
     */
    @ApiModelProperty(value = "当仅为拆包登记绑定新的rfid时（origin_type=2），将拆出的数据变为字符串保存")
    @TableField(value = "crown_between")
    private String crownBetween;
    /**
     * -冠字号起始
     */
    @ApiModelProperty(value = "冠字号起始")
    @TableField(value = "crown_from")
    private String crownFrom;

    @ApiModelProperty(value = "冠字号结束")
    @TableField(value = "crown_to")
    private String crownTo;

    @ApiModelProperty(value = "拆包状态 1:未拆包 2:已拆包")
    @TableField(value = "unpackage_status")
    private Integer unpackageStatus;

    @ApiModelProperty(value = "数量:一个拍子上有多少箱（拆包：表示拆的包有多少箱)，主要用于拆包")
    @TableField(value = "qty")
    private Integer qty;

}
