package jnpf.model.attendance.vo.scheduling;

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

/**
 * 考勤组智能排班「排班规则配置」查询与保存后的响应：固定排班 + 划线排班。
 * 与保存请求体 {@link jnpf.model.attendance.dto.scheduling.ScheduleGroupRuleConfigDto} 字段语义对应，
 * 嵌套子结构在响应侧均为 VO。
 *
 * @author xiaofeng
 * @create 2026-05-13
 */
@Data
@Schema(description = "排班规则配置（固定排班 + 划线排班，接口响应）")
public class ScheduleGroupRuleConfigVo {

    @Schema(description = "考勤组 ID")
    private String groupId;

    @Schema(description = "固定排班核心参数")
    private FixedSchedulingRuleVo fixedScheduling;

    @Schema(description = "划线排班参数")
    private LineSchedulingRuleVo lineScheduling;

    /**
     * {@code false}：关闭「按历史营业额筛选相似日」，强制走按历史班次规律的相似日选取（租户未开通数据分析等场景）。
     * {@code null/true}：默认行为；若近窗历史 VO 营业额均为 null 或 0，也会自动走规律选取。
     */
    @Schema(description = "是否为智能排班提供可用的历史营业额数据（false 时仅用排班班次规律选相似日）")
    private Boolean intelligentSchedulingHistoricalRevenueAvailable;
}
