package jnpf.model.attendance.vo;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 考勤统计列表返回类
 *
 * @author shitou
 * @date 2023/11/21
 */
@Data
public class WebStatisticsListVo {
    /**
     * 用户id
     */
    private String userId;
    /**
     * 1.当前考勤组 2.借调考勤组 3.移除
     */
    private Integer type;
    /**
     * 考勤组id
     */
    private String groupId;
    /**
     * 名称
     */
    private String name;
    /**
     * 创建时间
     */
    private Date creatorTime;
    /**
     * 删除时间
     */
    private Date removeTime;

    /**
     * 应出勤天数
     */
    private Integer shouldAttendDays = 0;

    /**
     * 实际出勤天数
     */
    private BigDecimal actualAttendDays = BigDecimal.ZERO;

    /**
     * 有效出勤天数
     */
    private BigDecimal effectiveAttendDays = BigDecimal.ZERO;

    /**
     * 应出勤工时
     */
    private BigDecimal shouldAttendHours = BigDecimal.ZERO;

    /**
     * 实际出勤工时
     */
    private BigDecimal actualAttendHours = BigDecimal.ZERO;

    /**
     * 有效出勤工时
     */
    private BigDecimal effectiveAttendHours = BigDecimal.ZERO;

    /**
     * 兑换券抵扣时长
     */
    private BigDecimal paidLeaveHours = BigDecimal.ZERO;

    /**
     * 抵扣券抵扣时长
     */
    private BigDecimal unpaidLeaveHours = BigDecimal.ZERO;

    /**
     * 请假次数
     */
    private Integer leaveTimes = 0;

    /**
     * 请假时长
     */
    private BigDecimal leaveHours = BigDecimal.ZERO;

    /**
     * 未抵扣请假时长
     */
    private BigDecimal unDeductedLeaveHours = BigDecimal.ZERO;

    /**
     * 加班次数
     */
    private Integer overtimeTimes = 0;

    /**
     * 加班时长
     */
    private BigDecimal overtimeHours = BigDecimal.ZERO;

    /**
     * 外勤打卡次数
     */
    private Integer outworkClockTimes = 0;

    /**
     * 缺勤次数
     */
    private Integer absenceTimes = 0;

    /**
     * 缺卡次数
     */
    private Integer absenceCardTimes = 0;

    /**
     * 补卡次数
     */
    private Integer makeUpCardTimes = 0;

    /**
     * 迟到次数
     */
    private Integer lateTimes = 0;

    /**
     * 迟到累计分钟
     */
    private BigDecimal lateAccumulatedMinutes = BigDecimal.ZERO;

    /**
     * 早退次数
     */
    private Integer earlyLeaveTimes = 0;

    /**
     * 早退累计分钟
     */
    private BigDecimal earlyLeaveAccumulatedMinutes = BigDecimal.ZERO;
    /**
     * 考勤组出差申请工时
     */
    BigDecimal busApplyHours = BigDecimal.ZERO;
    /**
     * 考勤组外出申请工时
     */
    BigDecimal goOutApplyHours = BigDecimal.ZERO;
}
