package cn.iocoder.yudao.module.mes.controller.admin.pro.mps.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; import java.time.LocalDateTime; @Schema(description = "管理后台 - MES 生产主计划新增/修改 Request VO") @Data public class MesProMpsSaveReqVO { @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") private Long id; @Schema(description = "MPS 编码(新增时不填自动生成)", example = "MPS-001") private String code; // ========== 来源信息 ========== @Schema(description = "销售订单ID", example = "100") private Long saleOrderId; @Schema(description = "销售订单号", example = "SO-001") private String saleOrderNo; @Schema(description = "销售订单明细ID", example = "200") private Long saleOrderItemId; // ========== 产品信息 ========== @Schema(description = "产品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") @NotNull(message = "产品不能为空") private Long productId; @Schema(description = "计划生产数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") @NotNull(message = "计划生产数量不能为空") private BigDecimal quantity; @Schema(description = "计量单位ID", example = "1") private Long unitMeasureId; // ========== 客户信息 ========== @Schema(description = "客户编号", example = "300") private Long clientId; // ========== 时间信息 ========== @Schema(description = "需求日期") private LocalDateTime requestDate; @Schema(description = "备注", example = "备注") private String remark; }