package jnpf.model.attendance.vo.scheduling;

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

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

/**
 * 预排班主表根结构：与「生成主表」响应 data 及「提交保存」请求体一致（仅 rows + 考勤组维度，无单独 cols / 行 counts）。
 *
 * @author xiaofeng
 * @create 2026-05-13
 */
@Data
@Schema(description = "预排班主表（groupId + rows）")
public class PreScheduleTableVo {

    @NotBlank
    @Schema(description = "考勤组 ID；提交保存时必填；生成主表响应可为空由实现回填", example = "group-uuid-001")
    private String groupId;

    @Valid
    @Schema(description = "主表行，一日一行")
    private List<PreScheduleTableRowVo> rows;

    @Schema(description = "排班不完整或人员未排满时的说明；完整排班时为 null")
    private String msg;
}
