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

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 考勤组班次子表分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AttendanceGroupShiftItemPageReqVO extends PageParam {

    @Schema(description = "考勤组id", example = "26060")
    private Long attendanceGroupId;

    @Schema(description = "班次id", example = "22909")
    private Long kqAttendanceGroupShiftId;

    @Schema(description = "级别 从1到～ 排序用")
    private Integer level;

    @Schema(description = "开始打卡时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private String[] beginTime;

    @Schema(description = "结束打卡时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private String[] endTime;

    @Schema(description = "是否必须 0否 1是 (如果不是必须系统会自动打卡)")
    private Integer mustFlag;

    @Schema(description = "是否次日(开始时间 大于 结束时间)跨天 0否 1是")
    private Integer nextDayFlag;

    @Schema(description = "上班前打卡时间（分钟） 默认 120分钟")
    private Integer beforePunchTimeUpWork;

    @Schema(description = "上班后打卡时间（分钟） 默认 120分钟")
    private Integer afterPunchTimeUpWork;

    @Schema(description = "下班前打卡时间（分钟） 默认 120分钟")
    private Integer beforePunchTimeDownWork;

    @Schema(description = "下班后打卡时间（分钟） 默认 120分钟")
    private Integer afterPunchTimeDownWork;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}