package jnpf.model.attendance.model;

import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 我的考勤-出勤情况-考情组响应类
 *
 * @author shitou
 * @date 2023/11/21
 */
@Data
public class ClockGroupRecord {
    /**
     * 规则id
     */
    private String id;

    /**
     * 出勤日期
     */
    private Date day;

    /**
     * 时段id
     */
    private String periodId;

    /**
     * 是否当前时段(1:是, 0: 否)
     */
    private Integer currentPeriod = 0;

    /**
     * 允许迟到(0否 1是)
     */
    private Integer lateEnable;

    /**
     * 允许早退(0否 1是)
     */
    private Integer earlyEnable;

    /**
     * 允许休息时间(0否 1是)
     */
    private Integer breakEnable;

    /**
     * 允许次日下班(0否 1是)
     */
    private Integer nextDayEnable;

    /**
     * 打卡开始时间点
     */
    private Date clockStartPoint;

    /**
     * 上班时间点
     */
    private Date inPoint;

    /**
     * 迟到时间点
     */
    private Date latePoint;

    /**
     * 上班缺卡时间点
     */
    private Date inLackPoint;

    /**
     * 休息开始时间点
     */
    private Date breakStartPoint;

    /**
     * 休息结束时间点
     */
    private Date breakEndPoint;

    /**
     * 早退时间点
     */
    private Date earlyPoint;

    /**
     * 下班时间点
     */
    private Date outPoint;

    /**
     * 下班缺卡时间点
     */
    private Date outLackPoint;

    /**
     * 出勤类型(1: 普班, 2: 休, 3: 假, 4: 加班)
     */
    private Integer attendanceType;

    /**
     * 申请事件开始时间
     */
    private Date applyStart;

    /**
     * 申请事件结束时间
     */
    private Date applyEnd;

    /**
     * 是否带薪(1: 是, 0: 否)
     */
    private Integer withSalary;

    /**
     * 打卡时间轴记录
     */
    private List<ClockClassRecord> clockList;

    /**
     * 审核数据展示标识（1 起效，0 失效，2 打卡不展示，3 考勤组剔除人员待删除，9 标识出差，10 标识外出）
     */
    private Integer applyViewEnable;

    /**
     * 下班是否被外出覆盖(0未覆盖 1覆盖)
     */
    private Integer outStepOutType;

    /**
     * 上班是否被外出覆盖(0未覆盖 1覆盖)
     */
    private Integer inStepOutType;
    /**
     * 隐藏(0:不隐藏, 1:上班隐藏)
     */
    private String inHideStatus;
    /**
     * 隐藏(0:不隐藏, 1:下班隐藏)
     */
    private String outHideStatus;
    /**
     * 消息(离岗、回岗)
     */
    private String msg;
}
