package jnpf.model.attendance.dto;

import lombok.Data;

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

/**
 * 考勤本配置DTO
 *
 * @author Generated
 * @create 2026-04-15
 */
@Data
public class AttendanceBookConfigDto {

    /**
     * 考勤本ID（编辑时必填，新增时为空）
     */
    private String id;

    /**
     * 考勤本名称
     */
    @NotBlank(message = "考勤本名称不能为空")
    private String bookName;

    /**
     * 使用范围类型（0:全部 1:指定组织/成员）
     */
    @NotNull(message = "使用范围类型不能为空")
    private Integer scopeType;

    /**
     * 使用范围-组织ID列表（scopeType=1时必填）
     */
    private List<String> organizeList = new ArrayList<>();

    /**
     * 使用范围-用户ID列表（scopeType=1时必填）
     */
    private List<String> userIdList = new ArrayList<>();

    /**
     * 考勤本负责人ID列表（多个用逗号拼接）
     */
    @NotBlank(message = "考勤本负责人不能为空")
    private String managerIds;

    /**
     * 可排假期范围类型（1:全部假期 2:指定假期）
     */
    private Integer holidayScopeType;

    /**
     * 可排假期ID列表（多个用逗号拼接）
     */
    private String holidayIds;

    /**
     * 启用状态（1:启用 0:禁用）
     */
    private Integer enabledMark;
}
