package com.baiyue.lastleg.calendar; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Pattern; import jakarta.validation.constraints.Size; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; /** 只读日历沿用整柜预计到仓版本,不保存独立计划台账。 */ public final class WarehouseCalendarModels { /** 禁止构造工具类。 */ private WarehouseCalendarModels() { } public record Query(@NotNull LocalDate from, @NotNull LocalDate to, @NotNull @Size(max = 2000) List<@NotBlank @Pattern(regexp = "[1-9][0-9]*") String> sourceContainerBookingIds) { } public record Entry(String sourceContainerBookingId, String cabinetNo, String containerNo, String warehouseName, String warehouseCode, LocalDateTime plannedAt, LocalDateTime actualAt, int version, long planCount, boolean canEdit, LocalDate plannedDate, boolean isDefault) { } }