package com.bonus.system.att.entity;

import com.bonus.system.basic.domain.SysTree;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 考勤组实体类
 * @author zys
 */
@Data
@NoArgsConstructor
public class AttGroupBean {

    /**
     * 编号
     */
    private Long groupId;

    /**
     * 考勤组名称
     */
    private String groupName;

    /**
     * 考勤类型
     */
    private String attType;

    /**
     * 上班时间
     */
    private String toWorkTime;

    /**
     * 下班时间
     */
    private String offWorkTime;

    /**
     * 休息开始时间
     */
    private String breakStartTime;

    /**
     * 休息结束时间
     */
    private String breakEndTime;


    /**
     * 考勤范围
     */
    private int attRange;

    /**
     * 每天打卡（次）
     */
    private Long todayClockNum;

    /**
     * 考勤时间 1,1,1,1,0,0,0
     */
    private String attDay;

    /**
     * 迟到分钟
     */
    private Long lateMinute;

    /**
     * 早退分钟
     */
    private Long leaveMinute;

    /**
     * 旷工迟到分钟
     */
    private Long absenteeismLateMinute;

    /**
     * 旷工早退分钟
     */
    private Long absenteeismLeaveMinute;

    /**
     * 工作异常时长分钟
     */
    private Long workAbnormalMinute;

    /**
     * 应出勤时长
     */
    private Long attendanceDuration;

    /**
     * 出入异常时间
     */
    private Long entryAbnormalMinute;

    /**
     * 组织编号
     */
    private String orgId;

    /**
     * 选择人员
     */
    private List<AttGroupCheckOrgBean> checkOrgList;

    /**
     * 选中树
     */
    private List<SysTree> treeList;

    /**
     * 是否有法定节假日
     */
    private Integer isHaveHoliday;

    /**
     * 创建用户编号
     */
    private Long createUserId;

    /**
     * 修改用户编号
     */
    private Long updateUserId;

    /**
     * 考勤组一个月应打卡
     */
    private PersonAttWorkDayBean attWorkDayBean;

    /**
     * 用户编号
     */
    private Long userId;

    /**
     * 时间
     */
    private String currentDay;

    public AttGroupBean(Long groupId, String attDay, String toWorkTime, String offWorkTime,
                        Long todayClockNum, Long lateMinute, Long leaveMinute,
                        Long absenteeismLateMinute, Long absenteeismLeaveMinute,
                        Long attendanceDuration, Long entryAbnormalMinute, String attType) {
        this.groupId = groupId;
        this.attDay = attDay;
        this.toWorkTime = toWorkTime;
        this.offWorkTime = offWorkTime;
        this.todayClockNum = todayClockNum;
        this.lateMinute = lateMinute;
        this.leaveMinute = leaveMinute;
        this.absenteeismLateMinute = absenteeismLateMinute;
        this.absenteeismLeaveMinute = absenteeismLeaveMinute;
        this.attendanceDuration = attendanceDuration;
        this.entryAbnormalMinute = entryAbnormalMinute;
        this.attType = attType;
    }
}
