package com.sw.mes.yb.seed.dto;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 籽晶自检对象
 *
 * @Author：wanjia
 * @Date：2024/1/9 14:41
 */
@Data
public class SeedSelfInspectionDto implements Serializable {

    @TableField(exist = false)
    @ExcelIgnore
    private static final long serialVersionUID = 1L;
    @ExcelIgnore
    private Long id;

    /**
     * 籽晶编码
     */
    @ApiModelProperty(value = "籽晶编码")
    @NotNull(message = "籽晶编码不能为空")
    @ExcelProperty(value = "籽晶编码")
    private String seedCode;
    /**
     * 计划单号
     */
    @ApiModelProperty(value = "计划单号")
    @ExcelProperty(value = "计划单号")
    private String planCode;
    /**
     * 籽晶批次号
     */
    @ApiModelProperty(value = "籽晶批次号")
    @ExcelProperty(value = "籽晶批次号")
    private String seedBatchNo;

    /**
     * 批次号
     */
    @ApiModelProperty(value = "批次号")
    @ExcelProperty(value = "批次号")
    private String batchNo;
    /**
     * 锥度
     */
    @ApiModelProperty(value = "锥度")
    @ExcelProperty(value = "锥度")
    private Double taper;
    /**
     * 总长度
     */
    @ApiModelProperty(value = "总长度")
    @ExcelProperty(value = "总长度")
    private Double totalLength;
    /**
     * 理论重量
     */
    @ApiModelProperty(value = "理论重量")
    @ExcelProperty(value = "理论重量")
    private String theWeight;
    /**
     * 总长度大头长度
     */
    @ApiModelProperty(value = "总长度大头长度")
    @ExcelProperty(value = "总长度大头长度")
    private Double totalBigLength;
    /**
     * 小头长度
     */
    @ApiModelProperty(value = "小头长度")
    @ExcelProperty(value = "小头长度")
    private Double smallLength;
    /**
     * 小头平均直径
     */
    @ApiModelProperty(value = "小头平均直径")
    @ExcelProperty(value = "小头平均直径")
    private Double smallAverageDiameter;
    /**
     * 大头平均直径
     */
    @ApiModelProperty(value = "大头平均直径")
    @ExcelProperty(value = "大头平均直径")
    private Double bigAverageDiameter;
    /**
     * 小头直径最小值
     */
    @ApiModelProperty(value = "小头直径最小值")
    @ExcelProperty(value = "小头直径最小值")
    private Double smallDiameterMin;
    /**
     * 小头直径最大值
     */
    @ApiModelProperty(value = "小头直径最大值")
    @ExcelProperty(value = "小头直径最大值")
    private Double smallDiameterMax;
    /**
     * 大头直径最小值
     */
    @ApiModelProperty(value = "大头直径最小值")
    @ExcelProperty(value = "大头直径最小值")
    private Double bigDiameterMin;
    /**
     * 大头直径最大值
     */
    @ApiModelProperty(value = "大头直径最大值")
    @ExcelProperty(value = "大头直径最大值")
    private Double bigDiameterMax;
    /**
     * 同轴度
     */
    @ApiModelProperty(value = "同轴度")
    @ExcelProperty(value = "同轴度")
    private Double coaxiality;
    /**
     * 隐裂
     */
    @ApiModelProperty(value = "隐裂")
    @ExcelProperty(value = "隐裂")
    private Double subfissure;
    /**
     * 是否合格
     */
    @ApiModelProperty(value = "是否合格")
    @NotNull(message = "是否合格不能为空")
    @ExcelProperty(value = "是否合格")
    private Boolean isQualified;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @ExcelProperty(value = "创建人")
    private String createBy;

    /**
     * 创建日期
     */
    @ApiModelProperty(value = "创建日期")
    @ExcelProperty(value = "创建日期")
    private Date createDate;

    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人")
    @ExcelProperty(value = "修改人")
    private String updateBy;
    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @ExcelProperty(value = "更新时间")
    private Date updateDate;
    /**
     * 物料id
     */
    @ApiModelProperty(value = "物料id", required = false)
    @ExcelIgnore
    private Integer materialId;
    /**
     * 物料编码
     */
    @ApiModelProperty(value = "物料编码", required = true)
    @ExcelProperty(value = "物料编码")
    private String materialCode;
    /**
     * 物料名称
     */
    @ApiModelProperty(value = "物料名称", required = false)
    @ExcelProperty(value = "物料名称")
    private String materialName;
    /**
     * 物料类型
     */
    @ApiModelProperty(value = "物料类型", required = false)
    @ExcelProperty(value = "物料类型")
    private String materialType;
    /**
     * 规格
     */
    @ApiModelProperty(value = "规格", required = false)
    @ExcelProperty(value = "规格")
    private String spec;
    /**
     * 物料型号
     */
    @ApiModelProperty(value = "物料型号", required = false)
    @ExcelProperty(value = "物料型号")
    private String materialModel;
}
