package cn.iocoder.yudao.module.mes.controller.admin.qc.ncr.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.math.BigDecimal; @Schema(description = "管理后台 - MES 不合格品处理单新增/修改 Request VO") @Data public class MesQcNcrSaveReqVO { @Schema(description = "编号", example = "1024") private Long id; @Schema(description = "NCR单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "NCR20250101001") @NotEmpty(message = "NCR单号不能为空") private String code; @Schema(description = "NCR名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "不合格品处理单") @NotEmpty(message = "NCR名称不能为空") private String name; // ========== 来源检验单 ========== @Schema(description = "检验类型", example = "1") private Integer qcType; @Schema(description = "来源检验单ID", example = "100") private Long qcId; // ========== 不合格品信息 ========== @Schema(description = "不合格物料ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20") @NotNull(message = "不合格物料不能为空") private Long itemId; @Schema(description = "缺陷等级", example = "1") private Integer defectLevel; @Schema(description = "不合格数量", example = "10") private BigDecimal unqualifiedQuantity; @Schema(description = "不合格描述", example = "外护套破损") private String defectDescription; // ========== 原因与措施(可选) ========== @Schema(description = "根本原因", example = "设备参数异常") private String rootCause; @Schema(description = "纠正措施", example = "调整设备参数") private String correctiveAction; @Schema(description = "预防措施", example = "增加首检频次") private String preventiveAction; @Schema(description = "备注", example = "备注") private String remark; }