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
package cn.iocoder.yudao.module.mes.controller.admin.qc.ipqc.vo;
 
import cn.idev.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
 
import java.math.BigDecimal;
 
/**
 * 管理后台 - 过程检验单导入 Excel VO
 *
 * 说明:一行 = 一张过程检验单。产品物料由生产工单(或生产任务)自动推导,模板无需填写;
 * 工位、质检方案按名称匹配系统已有数据;检测人员留空取当前登录用户;状态固定为「待检验」。
 *
 * @author 超级管理员
 */
@Schema(description = "管理后台 - 过程检验单导入 Excel VO")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MesQcIpqcImportExcelVO {
 
    @ExcelProperty("检验单编号")
    @Schema(description = "检验单编号,留空则自动生成", example = "IPQC20260101000001")
    private String code;
 
    @ExcelProperty("检验单名称")
    @Schema(description = "检验单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "XX工单过程检验")
    private String name;
 
    @ExcelProperty("检验类型")
    @Schema(description = "检验类型,填写字典 mes_ipqc_type 的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "首检")
    private String type;
 
    @ExcelProperty("生产工单号")
    @Schema(description = "生产工单号,需与生产管理中的工单号一致", requiredMode = Schema.RequiredMode.REQUIRED, example = "MO20260101000001")
    private String workOrderCode;
 
    @ExcelProperty("工位名称")
    @Schema(description = "工位名称,需与工位管理中的名称一致", requiredMode = Schema.RequiredMode.REQUIRED, example = "装配工位1")
    private String workstationName;
 
    @ExcelProperty("质检方案")
    @Schema(description = "质检方案名称,留空则按物料自动匹配", example = "过程检验通用方案")
    private String templateName;
 
    @ExcelProperty("检测数量")
    @Schema(description = "检测数量,留空默认等于合格品数量与不合格品数量之和", example = "100")
    private BigDecimal checkQuantity;
 
    @ExcelProperty("合格品数量")
    @Schema(description = "合格品数量,不能小于 0", requiredMode = Schema.RequiredMode.REQUIRED, example = "95")
    private BigDecimal qualifiedQuantity;
 
    @ExcelProperty("不合格品数量")
    @Schema(description = "不合格品数量,不能小于 0", requiredMode = Schema.RequiredMode.REQUIRED, example = "5")
    private BigDecimal unqualifiedQuantity;
 
    @ExcelProperty("工废数量")
    @Schema(description = "工废数量,留空默认 0", example = "2")
    private BigDecimal laborScrapQuantity;
 
    @ExcelProperty("料废数量")
    @Schema(description = "料废数量,留空默认 0", example = "2")
    private BigDecimal materialScrapQuantity;
 
    @ExcelProperty("其他废品数量")
    @Schema(description = "其他废品数量,留空默认 0", example = "1")
    private BigDecimal otherScrapQuantity;
 
    @ExcelProperty("检测结果")
    @Schema(description = "检测结果,填写字典 mes_qc_check_result 的名称,如 校验通过", example = "校验通过")
    private String checkResult;
 
    @ExcelProperty("检测人员")
    @Schema(description = "检测人员姓名,留空取当前登录用户", example = "张三")
    private String inspectorName;
 
    @ExcelProperty("检测日期")
    @Schema(description = "检测日期,格式如 2026-01-01 10:00:00;留空则不填写", example = "2026-01-01 10:00:00")
    private String inspectDate;
 
    @ExcelProperty("备注")
    @Schema(description = "备注", example = "备注")
    private String remark;
 
}