package com.zt.plat.module.qms.business.bus.controller.vo;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.alibaba.excel.annotation.ExcelProperty;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 样品检测项目结果响应
 */
@Data
public class SampleProjectResultDetailRespVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18701")
    private Long id;
    
    @Schema(description = "样品主样ID", example = "23293")
    private Long businessBaseSampleId;

    @Schema(description = "样品分样ID", example = "15024")
    private Long businessSubParentSampleId;

    @Schema(description = "分样子样ID", example = "20464")
    private Long businessSubSampleId;

    @Schema(description = "分样子样判定ID", example = "14560")
    private Long businessSubSampleAssessmentId;

    @Schema(description = "检测方法配置ID", example = "9130")
    private Long configAssayMethodId;

    @Schema(description = "方法名称及类别")
    private String methodNameCategory;
    
    @Schema(description = "任务单模板key")
    private String configReportTemplateKey;

    @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7653")
    private Long configAssayMethodProjectId;

    @Schema(description = "指派单ID", example = "23566")
    private Long businessAssayTaskId;
    
    @Schema(description = "指派编号")
    private String taskNo;

    @Schema(description = "指派单名称", example = "张三")
    private String taskName;
    
    @Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2")
    private String taskType;
    
    
    @Schema(description = "符号,=、>、<、等")
    private String symbol;

    @Schema(description = "值")
    @ExcelProperty("值")
    private String value;

    @Schema(description = "补正系数ID", example = "1008")
    private Long configAssayMethodProjectCoefficientId;

    @Schema(description = "补正系数")
    private BigDecimal coefficient;

    @Schema(description = "补正后的值")
    private String valueAfter;

    @Schema(description = "方法检出下限值")
    private String minimumLimitValue;

    @Schema(description = "是否不参与超差判定", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer isNotAssessment;
    

    @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    private String sampleName;

    @Schema(description = "样品编号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String sampleCode;

    @Schema(description = "分析编号")
    private String sampleAssayCode;

    @Schema(description = "归库编号")
    private String sampleReturnCode;

    @Schema(description = "检测项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @ExcelProperty("检测项目名称")
    private String projectName;

    @Schema(description = "检测项目缩写", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @ExcelProperty("检测项目缩写")
    private String projectSimpleName;

    @Schema(description = "显示名称", example = "李四")
    @ExcelProperty("显示名称")
    private String projectShowName;

    @Schema(description = "键值")
    @ExcelProperty("键值")
    private String projectKey;
    
    @Schema(description = "单位")
    @ExcelProperty("单位")
    private String dictionaryProjectUnit;



    @Schema(description = "分析部门ID", example = "16988")
    private Long assayDepartmentId;

    @Schema(description = "分析部门名称", example = "芋艿")
    private String assayDepartmentName;

    @Schema(description = "分析人")
    private String assayOperator;

    @Schema(description = "分析人ID", example = "27835")
    private Long assayOperatorId;

    @Schema(description = "是否已上报")
    private Integer isReported;

    @Schema(description = "上报人")
    private String reporter;

    @Schema(description = "上报人ID", example = "15920")
    private Long reporterId;

    @Schema(description = "上报时间")
    private LocalDateTime reportTime;
    

    
    
    
    
}
