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

import com.baomidou.mybatisplus.annotation.TableField;
import com.sw.mes.yb.seed.utils.SeedCodeGenerator;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import java.io.Serializable;
import java.util.Date;


/**
 * 籽晶基础数据
 * 对外数据传输对象
 *
 * @Author：wanjia
 * @Date：2024/1/9 16:43
 */
@Data
public class SeedDataDto implements Serializable {
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;


    private Long id;

    /**
     * 籽晶编码 由{@link SeedCodeGenerator} 生成
     */
    @ApiModelProperty(value = "籽晶编码")
    private String seedCode;
    /**
     * 计划单号
     */
    @ApiModelProperty(value = "计划单号")
    private String planCode;
    /**
     * 来源数据，圆棒 or 方棒
     */
    @ApiModelProperty(value = "来源数据")
    private String source;

    /**
     * 单晶编号
     */
    @ApiModelProperty(value = "单晶编号")
    private String crystalNo;
    /**
     * 掺杂类型： U/N
     */
    @ApiModelProperty(value = "掺杂类型")
    private String dopant;
    /**
     * 籽晶掏棒机台号
     */
    @ApiModelProperty(value = "籽晶掏棒机台号")
    private String seedCoringDevice;
    /**
     * 籽晶磨棒机台号
     */
    @ApiModelProperty(value = "籽晶磨棒机台号")
    private String seedGrindingDevice;
    /**
     * 籽晶加工长度
     */
    @ApiModelProperty(value = "籽晶加工长度")
    private long processLength;
    /**
     * 籽晶加工工单号，来自于erp
     */
    @ApiModelProperty(value = "籽晶加工工单号")
    private String processOrderNo;
    /**
     * 籽晶批次号
     */
    @ApiModelProperty(value = "籽晶批次号")
    private String seedBatchNo;
    /**
     * 批次号
     */
    @ApiModelProperty(value = "批次号")
    private String batchNo;
    /**
     * 最小工作中心编码，用于后期生成编号和检索使用
     */
    @ApiModelProperty(value = "最小工作中心编码")
    private String workCenterCode;
    /**
     * 车间编码
     */
    @ApiModelProperty(value = "车间编码")
    private String workShopCode;

    /**
     * 软删除 1：删除；0：未删除
     */
    private Boolean deleted;
    /**
     *物料id
     */
    @ApiModelProperty(value = "物料id",required = false)
    private Integer materialId;
    /**
     *物料编码
     */
    @ApiModelProperty(value = "物料编码",required = false)
    private String materialCode;
    /**
     *物料名称
     */
    @ApiModelProperty(value = "物料名称",required = false)
    private String materialName;
    /**
     *物料类型
     */
    @ApiModelProperty(value = "物料类型",required = false)
    private String materialType;
    /**
     *规格
     */
    @ApiModelProperty(value = "规格",required = false)
    private String spec;
    /**
     *物料型号
     */
    @ApiModelProperty(value = "物料型号",required = false)
    private String materialModel;
    /**
     * 创建日期
     */
    private Date createDate;
    /**
     * 创建人
     */
    private String createBy;

    /**
     *定向标识
     */
    @ApiModelProperty(value = "定向标识",required = false)
    private String directionalSign;

    /**
     *检测时间
     */
    @ApiModelProperty(value = "检测时间",required = false)
    private Date detectionTime;

    /**
     *设备编码
     */
    @ApiModelProperty(value = "设备编码",required = false)
    private String deviceCode;
    /**
     * 头尾识别
     */
    @ApiModelProperty(value = "头尾识别")
    private String headTailRecognition;
    /**
     * 是否组托
     */
    @ApiModelProperty(value = "是否组托",required = false)
    private int groupBracket;
    /**
     * 自检合格
     */
    @ApiModelProperty(value = "自检合格",required = false)
    private boolean selfQualified = false;
    /**
     * 质检合格
     */
    @ApiModelProperty(value = "质检合格",required = false)
    private boolean iqcQualified = false;
}
