package cn.iocoder.yudao.module.product.controller.admin.inspection.vo;

import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;

/**
* 检验检疫 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class InspectionBaseVO {

    @ApiModelProperty(value = "检验批次id", required = true)
    @NotNull(message = "检验批次id不能为空")
    private String inspectionId;

    @ApiModelProperty(value = "商品id", required = true)
    @NotNull(message = "商品id不能为空")
    private String goodsId;

    @ApiModelProperty(value = "商品名称", required = true)
    @NotNull(message = "商品名称不能为空")
    private String goodsName;

    @ApiModelProperty(value = "入库批次id", required = true)
    @NotNull(message = "入库批次id不能为空")
    private String harvestBatchId;

    @ApiModelProperty(value = "入库时间", required = true)
    @NotNull(message = "入库时间不能为空")
    private Date harvestTime;

    @ApiModelProperty(value = "执行标准", required = true)
    @NotNull(message = "执行标准不能为空")
    private String inspectionStandard;

    @ApiModelProperty(value = "检验结果 0合格 1不合格", required = true)
    @NotNull(message = "检验结果 0合格 1不合格不能为空")
    private Integer inspectionResult;

    @ApiModelProperty(value = "自检检验项目", required = true)
    @NotNull(message = "自检检验项目不能为空")
    private String inspectionOwnItem;

    @ApiModelProperty(value = "检验人", required = true)
    @NotNull(message = "检验人不能为空")
    private String inspectionUser;

    @ApiModelProperty(value = "委托检验项目")
    private String inspectionEntrustItem;

    @ApiModelProperty(value = "检测机构")
    private String inspectionOrganization;

    @ApiModelProperty(value = "检验日期", required = true)
    @NotNull(message = "检验日期不能为空")
    private Date inspectionDate;

    @ApiModelProperty(value = "等级")
    private String inspectionLevel;

    @ApiModelProperty(value = "签发日期")
    private Date issuanceDate;

    @ApiModelProperty(value = "上链状态 0：未上链  1：激活状态  2：冻结状态", required = true)
    @NotNull(message = "上链状态 0：未上链  1：激活状态  2：冻结状态不能为空")
    private Integer blockState;

    @ApiModelProperty(value = "批次上链区块id")
    private String blockChainId;

    @ApiModelProperty(value = "批次上链区块唯一识别码")
    private String blockChainBlockIdentity;

    @ApiModelProperty(value = "所属商户id", required = true)
    @NotNull(message = "所属商户id不能为空")
    private Long belongBusinessId;

    @ApiModelProperty(value = "所属商户名称", required = true)
    @NotNull(message = "所属商户名称不能为空")
    private String belongBusinessName;

    @ApiModelProperty(value = "检测图片")
    private String inspectionImgUrl;

    @ApiModelProperty(value = "检测视频")
    private String inspectionVideoUrl;

}
