package cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.Valid; import jakarta.validation.constraints.DecimalMin; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.math.BigDecimal; import java.util.List; @Schema(description = "管理后台 - 从销售订单批量生成生产计划 Request VO") @Data public class ErpSaleOrderGenerateMpsReqVO { @Schema(description = "待生成的明细列表", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "请至少选择一条销售订单明细") @Valid private List items; @Schema(description = "生成方式:true=按选择的明细逐条建 MPS;false 或不传同 true(预留合并下发)", example = "true") private Boolean merge; @Schema(description = "明细项") @Data public static class Item { @Schema(description = "销售订单明细编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "11") @NotNull(message = "销售订单明细编号不能为空") private Long saleOrderItemId; @Schema(description = "计划生产数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "380") @NotNull(message = "计划生产数量不能为空") @DecimalMin(value = "0", inclusive = false, message = "计划生产数量必须大于 0") private BigDecimal quantity; } }