package cn.iocoder.yudao.module.system.controller.admin.biz.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

@Schema(description = "管理后台 - 床位计划记录新增/修改 Request VO")
@Data
public class BedPlanRecordSaveReqVO {

    @Schema(description = "开始年月", requiredMode = Schema.RequiredMode.REQUIRED, example = "2025-01")
    @NotBlank(message = "开始年月不能为空")
    private String beginYearMonth;

    @Schema(description = "结束年月", requiredMode = Schema.RequiredMode.REQUIRED, example = "2025-12")
    @NotBlank(message = "结束年月不能为空")
    private String endYearMonth;

    @Schema(description = "期数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "期数不能为空")
    private Integer planSeq;

    @Schema(description = "机构id", example = "1024")
    private Long tenantId;

    // 楼栋床位数
    private List<BuildFloorBedCountVO> buildFloorBedCountVOList;

    @Data
    public static class BuildFloorBedCountVO{
        @Schema(description = "楼栋id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
        @NotNull(message = "楼栋id不能为空")
        private Long buildId;
        // 楼层床位数
        private List<FloorBedCountVO> floorBedCountVOList;
    }
    @Data
    public static class FloorBedCountVO{
        @Schema(description = "楼层id", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
        @NotNull(message = "楼层id不能为空")
        private Long floorId;
        @Schema(description = "床位数", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
        @NotNull(message = "床位数不能为空")
        private Integer bedCount;

        @Schema(description = "楼层名称", example = "1层")
        private String floorName;
    }
}


