package cn.iocoder.yudao.module.mes.controller.admin.qc.indicatorresult.vo;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import lombok.Data;
|
|
import java.math.BigDecimal;
|
import java.time.LocalDateTime;
|
import java.util.List;
|
|
@Schema(description = "管理后台 - MES 检验报告单(打印数据) Response VO")
|
@Data
|
public class MesQcQcReportRespVO {
|
|
// ========== 报告表头 ==========
|
|
@Schema(description = "质检类型:1=IQC,2=IPQC,3=OQC,4=RQC", example = "1")
|
private Integer qcType;
|
|
@Schema(description = "检验单编号", example = "IQC20260830001")
|
private String docCode;
|
|
@Schema(description = "检验单名称(报告标题)", example = "正丁醇检验记录")
|
private String docName;
|
|
@Schema(description = "物料编码", example = "M001")
|
private String itemCode;
|
|
@Schema(description = "物料名称", example = "正丁醇")
|
private String itemName;
|
|
@Schema(description = "物料规格型号", example = "工业级")
|
private String itemSpecification;
|
|
@Schema(description = "批次号(来料供应商批次/其他单据批次号)", example = "V0028B1")
|
private String batchNo;
|
|
@Schema(description = "采样地点", example = "罐区")
|
private String samplingLocation;
|
|
@Schema(description = "证书编号/合格证号", example = "V0028")
|
private String certificateNo;
|
|
@Schema(description = "执行标准", example = "GB/T6027")
|
private String executeStandard;
|
|
@Schema(description = "采样/检验时间", example = "2026-08-30T01:00:00")
|
private LocalDateTime samplingTime;
|
|
@Schema(description = "批量(来料=接收数量,过程/退货=检测数量,出货=出货数量)", example = "30")
|
private BigDecimal batchQuantity;
|
|
@Schema(description = "检测结果(字典 mes_qc_check_result)", example = "1")
|
private Integer checkResult;
|
|
// ========== 签字区 ==========
|
|
@Schema(description = "分析者(检测人)用户编号", example = "1")
|
private Long inspectorUserId;
|
|
@Schema(description = "分析者姓名", example = "新艳")
|
private String inspectorName;
|
|
@Schema(description = "复核人用户编号", example = "2")
|
private Long auditUserId;
|
|
@Schema(description = "复核人姓名", example = "海丽")
|
private String auditName;
|
|
@Schema(description = "审核人用户编号", example = "3")
|
private Long approveUserId;
|
|
@Schema(description = "审核人姓名", example = "王五")
|
private String approveName;
|
|
@Schema(description = "备注", example = "无")
|
private String remark;
|
|
// ========== 检验项矩阵 ==========
|
|
@Schema(description = "测量批次号列表(报告列头,如 [1,2];无平行测量时为 [1])")
|
private List<Integer> measureNos;
|
|
@Schema(description = "检验项树(顶级=分组项或独立录入项;分组项 children 挂子项)")
|
private List<ReportItem> items;
|
|
@Schema(description = "报告检验项")
|
@Data
|
public static class ReportItem {
|
|
@Schema(description = "检测指标ID", example = "1")
|
private Long indicatorId;
|
|
@Schema(description = "检测项编码", example = "ACID")
|
private String indicatorCode;
|
|
@Schema(description = "检测项名称", example = "酸含量")
|
private String indicatorName;
|
|
@Schema(description = "父指标编号(0=顶级)", example = "0")
|
private Long parentId;
|
|
@Schema(description = "条目类型:1=录入项,2=分组项", example = "1")
|
private Integer itemType;
|
|
@Schema(description = "公式展示文本(打印在分组行左侧,可为空)", example = "w3=c1v1*0.06005/pv*100%")
|
private String formulaText;
|
|
@Schema(description = "单位文本", example = "mol/L")
|
private String unitText;
|
|
@Schema(description = "同级排序号", example = "10")
|
private Integer sortOrder;
|
|
@Schema(description = "检测方法", example = "酸碱滴定")
|
private String checkMethod;
|
|
@Schema(description = "标准值", example = "0.0010")
|
private BigDecimal standardValue;
|
|
@Schema(description = "阈值下限", example = "0")
|
private BigDecimal thresholdMin;
|
|
@Schema(description = "阈值上限", example = "0.0050")
|
private BigDecimal thresholdMax;
|
|
@Schema(description = "测量值列表(按 measureNo 升序;分组项为空)")
|
private List<ReportMeasure> measures;
|
|
@Schema(description = "子项列表(分组项下挂)")
|
private List<ReportItem> children;
|
|
}
|
|
@Schema(description = "报告测量值(某检验项某批次)")
|
@Data
|
public static class ReportMeasure {
|
|
@Schema(description = "测量批次号", example = "1")
|
private Integer measureNo;
|
|
@Schema(description = "检测值", example = "0.001")
|
private String value;
|
|
@Schema(description = "备注", example = "无")
|
private String remark;
|
|
}
|
|
}
|