package jnpf.model.attendance.vo.scheduling;

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

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

/**
 * 预排班单日下单个班次块（时段 + 各岗位已排人员），数据来源于智能排班 {@code byShift} 视图。
 *
 * @author xiaofeng
 * @create 2026-05-18
 */
@Data
@Schema(description = "预排班班次块—岗位人员")
public class PreScheduleShiftVo {

    @Schema(description = "考勤组班次 ID；未匹配考勤班次时可为空", example = "shift-uuid-001")
    private String shiftId;

    @Schema(description = "班段时段文案，如 09:00-18:00", example = "09:00-18:00")
    private String timeRange;

    @Schema(description = "是否固定班（false 表示划线班）", example = "true")
    private Boolean fixedScheduling;

    @Valid
    @Schema(description = "该班次块下各岗位及已排人员")
    private List<PreScheduleShiftPostVo> posts;
}
