package cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Positive; import jakarta.validation.constraints.Size; import lombok.Data; @Schema(description = "管理后台 - MES 袋码(二维码数据包)生成 Request VO") @Data public class MesProBagCodeGenerateReqVO { @Schema(description = "品种(物料)编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "品种不能为空") private Long itemId; @Schema(description = "托盘数(品种主单位类型为 48袋/100袋 时必填,袋码数 = 每托袋数 × 托盘数)", example = "5") @Positive(message = "托盘数必须大于 0") private Integer palletCount; @Schema(description = "袋码数(品种主单位类型为 吨 时必填,不生成托盘)", example = "100") @Positive(message = "袋码数必须大于 0") private Integer bagCount; @Schema(description = "备注") private String remark; @Schema(description = "幂等键:前端每次提交生成一个 UUID,网络重试复用同一个值", example = "a1b2c3") @Size(max = 64, message = "幂等键长度不能超过 64 个字符") private String requestId; }