12 小时以前 453fece707fc1e611554fbb10125383eba01449a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
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 = "2026-08-30T01:00:00")
    private LocalDateTime inspectDate;
 
    @Schema(description = "质检单创建时间,产品检验单打印为生产时间", example = "2026-08-29T10:00:00")
    private LocalDateTime docCreateTime;
 
    // ========== 签字区 ==========
 
    @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;
 
    }
 
}