package cn.iocoder.yudao.module.mes.controller.admin.qc.oqc.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 MesQcOqcImportExcelVO { @ExcelProperty("检验单编号") @Schema(description = "检验单编号,留空则自动生成", example = "OQC20260101000001") private String code; @ExcelProperty("检验单名称") @Schema(description = "检验单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "物料A出货检验") private String name; @ExcelProperty("产品物料编码") @Schema(description = "产品物料编码,需与物料管理中的编码一致", requiredMode = Schema.RequiredMode.REQUIRED, example = "WL001") private String itemCode; @ExcelProperty("客户名称") @Schema(description = "客户名称,需与 CRM 客户管理中的名称一致", requiredMode = Schema.RequiredMode.REQUIRED, example = "示例客户有限公司") private String clientName; @ExcelProperty("批次号") @Schema(description = "批次号", example = "BC20260101") private String batchCode; @ExcelProperty("质检方案") @Schema(description = "质检方案名称,留空则按物料自动匹配", example = "出货检验通用方案") private String templateName; @ExcelProperty("本次出货数量") @Schema(description = "本次出货数量,不能小于 0", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") private BigDecimal outQuantity; @ExcelProperty("检测数量") @Schema(description = "检测数量,留空默认等于合格品数量与不合格品数量之和", example = "10") private BigDecimal checkQuantity; @ExcelProperty("合格品数量") @Schema(description = "合格品数量,不能小于 0", requiredMode = Schema.RequiredMode.REQUIRED, example = "9") private BigDecimal qualifiedQuantity; @ExcelProperty("不合格品数量") @Schema(description = "不合格品数量,不能小于 0", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") private BigDecimal unqualifiedQuantity; @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", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026-01-01 10:00:00") private String inspectDate; @ExcelProperty("出货日期") @Schema(description = "出货日期,格式如 2026-01-01 10:00:00", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026-01-01 10:00:00") private String outDate; @ExcelProperty("备注") @Schema(description = "备注", example = "备注") private String remark; }