package cn.iocoder.yudao.module.mes.controller.admin.wm.productsales.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.util.List; @Schema(description = "管理后台 - MES 销售出库扫码拣货 Request VO") @Data public class MesWmProductSalesScanReqVO { @Schema(description = "销售出库单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") @NotNull(message = "销售出库单ID不能为空") private Long salesId; @Schema(description = "扫描内容(袋码、托盘码或生产批次码)", requiredMode = Schema.RequiredMode.REQUIRED, example = "PC2026081920-0001") @NotEmpty(message = "扫描内容不能为空") private String scanContent; @Schema(description = "本次拣货袋数,必须与所选袋码数量相同", example = "50") private BigDecimal quantity; @jakarta.validation.constraints.Pattern(regexp = "BAG|PALLET|BATCH", message = "扫码类型无效") private String scanType; @Schema(description = "本次明确选中的袋码 ID;托盘和批次必须选择") private List<@NotNull Long> bagIds; }