package cn.iocoder.yudao.module.wms.api.inventory.dto; import jakarta.validation.Valid; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; /** * WMS 出库请求 DTO * * @author 芋道源码 */ @Data public class WmsShipmentReqDTO { /** * 业务类型 * * 枚举 {@link cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryBizTypeEnum} */ @NotNull(message = "业务类型不能为空") private Integer bizType; /** * 业务单据 ID */ @NotNull(message = "业务单据ID不能为空") private Long bizId; /** * 业务单据号 */ private String bizNo; /** * 仓库编号 */ @NotNull(message = "仓库不能为空") private Long warehouseId; /** * 出库时间 */ private LocalDateTime shipmentTime; /** * 预留单号(如果使用了预留) */ private String reserveNo; /** * 备注 */ private String remark; /** * 出库明细 */ @NotEmpty(message = "出库明细不能为空") @Valid private List items; /** * 出库明细项 */ @Data public static class Item { /** * SKU 编号 */ @NotNull(message = "SKU不能为空") private Long skuId; /** * 出库数量 */ @NotNull(message = "出库数量不能为空") private BigDecimal quantity; /** * 备注 */ private String remark; } }