package cn.iocoder.yudao.module.mes.controller.admin.wm.productreceipt.vo;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import jakarta.validation.Valid;
|
import jakarta.validation.constraints.NotNull;
|
import lombok.Data;
|
|
import java.math.BigDecimal;
|
import java.util.List;
|
|
@Schema(description = "管理后台 - MES 产品入库单批量上架(勾选是否入库 + 仓库/库区/库位分配) Request VO")
|
@Data
|
public class MesWmProductReceiptStockReqVO {
|
|
@Schema(description = "产品入库单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@NotNull(message = "产品入库单编号不能为空")
|
private Long receiptId;
|
|
@Schema(description = "行上架列表")
|
@Valid
|
private List<Row> rows;
|
|
@Schema(description = "入库单行上架")
|
@Data
|
public static class Row {
|
|
@Schema(description = "行编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@NotNull(message = "行编号不能为空")
|
private Long lineId;
|
|
@Schema(description = "是否入库", example = "true")
|
private Boolean isStock;
|
|
@Schema(description = "仓库/库区/库位分配明细(isStock=true 时必须,且数量之和=行收货数量)")
|
@Valid
|
private List<Detail> details;
|
}
|
|
@Schema(description = "仓库/库区/库位分配明细")
|
@Data
|
public static class Detail {
|
|
@Schema(description = "仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@NotNull(message = "仓库编号不能为空")
|
private Long warehouseId;
|
|
@Schema(description = "库区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@NotNull(message = "库区编号不能为空")
|
private Long locationId;
|
|
@Schema(description = "库位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@NotNull(message = "库位编号不能为空")
|
private Long areaId;
|
|
@Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "50.00")
|
@NotNull(message = "数量不能为空")
|
private BigDecimal quantity;
|
}
|
|
}
|