package com.mortals.xhx.module.attendance.model;
import java.util.List;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.vo.AttendanceGroupFixedworkVo;
import com.mortals.xhx.module.attendance.model.AttendanceGroupFixedworkSpecialEntity;
/**
* 考勤组考勤固定工时实体对象
*
* @author zxfei
* @date 2023-04-08
*/

public class AttendanceGroupFixedworkEntity extends AttendanceGroupFixedworkVo {
    private static final long serialVersionUID = 1L;

    /**
    * 考勤组
    */
    private Long groupId;
    /**
    * 考勤组名称
    */
    private String groupName;
    /**
    * 周一是否考勤(0.否,1.是)
    */
    private Integer monday;
    /**
    * 周一班次ID
    */
    private Long mondayClassId;
    /**
    * 周一班次名称
    */
    private String mondayClassName;
    /**
    * 周二是否考勤(0.否,1.是)
    */
    private Integer tuesday;
    /**
    * 周二班次ID
    */
    private Long tuesdayClassId;
    /**
    * 周二班次名称
    */
    private String tuesdayClassName;
    /**
    * 周三是否考勤(0.否,1.是)
    */
    private Integer wednesday;
    /**
    * 周三班次ID
    */
    private Long wednesdayClassId;
    /**
    * 周三班次名称
    */
    private String wednesdayClassName;
    /**
    * 周四是否考勤(0.否,1.是)
    */
    private Integer thursday;
    /**
    * 周四班次ID
    */
    private Long thursdayClassId;
    /**
    * 周四班次名称
    */
    private String thursdayClassName;
    /**
    * 周五是否考勤(0.否,1.是)
    */
    private Integer friday;
    /**
    * 周五班次ID
    */
    private Long fridayClassId;
    /**
    * 周五班次名称
    */
    private String fridayClassName;
    /**
    * 周六是否考勤(0.否,1.是)
    */
    private Integer saturday;
    /**
    * 周六班次ID
    */
    private Long saturdayClassId;
    /**
    * 周六班次名称
    */
    private String saturdayClassName;
    /**
    * 周日是否考勤(0.否,1.是)
    */
    private Integer sunday;
    /**
    * 周日班次ID
    */
    private Long sundayClassId;
    /**
    * 周日班次名称
    */
    private String sundayClassName;
    /**
    * 法定节假日自动排休(0.否,1.是)
    */
    private Integer holidays;
    /**
    * 备注
    */
    private String remark;

    /**
    * 考勤组考勤固定班制特殊日期配置信息
    */
    private List<AttendanceGroupFixedworkSpecialEntity> attendanceGroupFixedworkSpecialList=new ArrayList<>();;


    public AttendanceGroupFixedworkEntity(){}
    /**
    * 获取 考勤组
    * @return Long
    */
    public Long getGroupId(){
        return groupId;
    }
    /**
    * 设置 考勤组
    * @param groupId
    */
    public void setGroupId(Long groupId){
        this.groupId = groupId;
    }
    /**
    * 获取 考勤组名称
    * @return String
    */
    public String getGroupName(){
        return groupName;
    }
    /**
    * 设置 考勤组名称
    * @param groupName
    */
    public void setGroupName(String groupName){
        this.groupName = groupName;
    }
    /**
    * 获取 周一是否考勤(0.否,1.是)
    * @return Integer
    */
    public Integer getMonday(){
        return monday;
    }
    /**
    * 设置 周一是否考勤(0.否,1.是)
    * @param monday
    */
    public void setMonday(Integer monday){
        this.monday = monday;
    }
    /**
    * 获取 周一班次ID
    * @return Long
    */
    public Long getMondayClassId(){
        return mondayClassId;
    }
    /**
    * 设置 周一班次ID
    * @param mondayClassId
    */
    public void setMondayClassId(Long mondayClassId){
        this.mondayClassId = mondayClassId;
    }
    /**
    * 获取 周一班次名称
    * @return String
    */
    public String getMondayClassName(){
        return mondayClassName;
    }
    /**
    * 设置 周一班次名称
    * @param mondayClassName
    */
    public void setMondayClassName(String mondayClassName){
        this.mondayClassName = mondayClassName;
    }
    /**
    * 获取 周二是否考勤(0.否,1.是)
    * @return Integer
    */
    public Integer getTuesday(){
        return tuesday;
    }
    /**
    * 设置 周二是否考勤(0.否,1.是)
    * @param tuesday
    */
    public void setTuesday(Integer tuesday){
        this.tuesday = tuesday;
    }
    /**
    * 获取 周二班次ID
    * @return Long
    */
    public Long getTuesdayClassId(){
        return tuesdayClassId;
    }
    /**
    * 设置 周二班次ID
    * @param tuesdayClassId
    */
    public void setTuesdayClassId(Long tuesdayClassId){
        this.tuesdayClassId = tuesdayClassId;
    }
    /**
    * 获取 周二班次名称
    * @return String
    */
    public String getTuesdayClassName(){
        return tuesdayClassName;
    }
    /**
    * 设置 周二班次名称
    * @param tuesdayClassName
    */
    public void setTuesdayClassName(String tuesdayClassName){
        this.tuesdayClassName = tuesdayClassName;
    }
    /**
    * 获取 周三是否考勤(0.否,1.是)
    * @return Integer
    */
    public Integer getWednesday(){
        return wednesday;
    }
    /**
    * 设置 周三是否考勤(0.否,1.是)
    * @param wednesday
    */
    public void setWednesday(Integer wednesday){
        this.wednesday = wednesday;
    }
    /**
    * 获取 周三班次ID
    * @return Long
    */
    public Long getWednesdayClassId(){
        return wednesdayClassId;
    }
    /**
    * 设置 周三班次ID
    * @param wednesdayClassId
    */
    public void setWednesdayClassId(Long wednesdayClassId){
        this.wednesdayClassId = wednesdayClassId;
    }
    /**
    * 获取 周三班次名称
    * @return String
    */
    public String getWednesdayClassName(){
        return wednesdayClassName;
    }
    /**
    * 设置 周三班次名称
    * @param wednesdayClassName
    */
    public void setWednesdayClassName(String wednesdayClassName){
        this.wednesdayClassName = wednesdayClassName;
    }
    /**
    * 获取 周四是否考勤(0.否,1.是)
    * @return Integer
    */
    public Integer getThursday(){
        return thursday;
    }
    /**
    * 设置 周四是否考勤(0.否,1.是)
    * @param thursday
    */
    public void setThursday(Integer thursday){
        this.thursday = thursday;
    }
    /**
    * 获取 周四班次ID
    * @return Long
    */
    public Long getThursdayClassId(){
        return thursdayClassId;
    }
    /**
    * 设置 周四班次ID
    * @param thursdayClassId
    */
    public void setThursdayClassId(Long thursdayClassId){
        this.thursdayClassId = thursdayClassId;
    }
    /**
    * 获取 周四班次名称
    * @return String
    */
    public String getThursdayClassName(){
        return thursdayClassName;
    }
    /**
    * 设置 周四班次名称
    * @param thursdayClassName
    */
    public void setThursdayClassName(String thursdayClassName){
        this.thursdayClassName = thursdayClassName;
    }
    /**
    * 获取 周五是否考勤(0.否,1.是)
    * @return Integer
    */
    public Integer getFriday(){
        return friday;
    }
    /**
    * 设置 周五是否考勤(0.否,1.是)
    * @param friday
    */
    public void setFriday(Integer friday){
        this.friday = friday;
    }
    /**
    * 获取 周五班次ID
    * @return Long
    */
    public Long getFridayClassId(){
        return fridayClassId;
    }
    /**
    * 设置 周五班次ID
    * @param fridayClassId
    */
    public void setFridayClassId(Long fridayClassId){
        this.fridayClassId = fridayClassId;
    }
    /**
    * 获取 周五班次名称
    * @return String
    */
    public String getFridayClassName(){
        return fridayClassName;
    }
    /**
    * 设置 周五班次名称
    * @param fridayClassName
    */
    public void setFridayClassName(String fridayClassName){
        this.fridayClassName = fridayClassName;
    }
    /**
    * 获取 周六是否考勤(0.否,1.是)
    * @return Integer
    */
    public Integer getSaturday(){
        return saturday;
    }
    /**
    * 设置 周六是否考勤(0.否,1.是)
    * @param saturday
    */
    public void setSaturday(Integer saturday){
        this.saturday = saturday;
    }
    /**
    * 获取 周六班次ID
    * @return Long
    */
    public Long getSaturdayClassId(){
        return saturdayClassId;
    }
    /**
    * 设置 周六班次ID
    * @param saturdayClassId
    */
    public void setSaturdayClassId(Long saturdayClassId){
        this.saturdayClassId = saturdayClassId;
    }
    /**
    * 获取 周六班次名称
    * @return String
    */
    public String getSaturdayClassName(){
        return saturdayClassName;
    }
    /**
    * 设置 周六班次名称
    * @param saturdayClassName
    */
    public void setSaturdayClassName(String saturdayClassName){
        this.saturdayClassName = saturdayClassName;
    }
    /**
    * 获取 周日是否考勤(0.否,1.是)
    * @return Integer
    */
    public Integer getSunday(){
        return sunday;
    }
    /**
    * 设置 周日是否考勤(0.否,1.是)
    * @param sunday
    */
    public void setSunday(Integer sunday){
        this.sunday = sunday;
    }
    /**
    * 获取 周日班次ID
    * @return Long
    */
    public Long getSundayClassId(){
        return sundayClassId;
    }
    /**
    * 设置 周日班次ID
    * @param sundayClassId
    */
    public void setSundayClassId(Long sundayClassId){
        this.sundayClassId = sundayClassId;
    }
    /**
    * 获取 周日班次名称
    * @return String
    */
    public String getSundayClassName(){
        return sundayClassName;
    }
    /**
    * 设置 周日班次名称
    * @param sundayClassName
    */
    public void setSundayClassName(String sundayClassName){
        this.sundayClassName = sundayClassName;
    }
    /**
    * 获取 法定节假日自动排休(0.否,1.是)
    * @return Integer
    */
    public Integer getHolidays(){
        return holidays;
    }
    /**
    * 设置 法定节假日自动排休(0.否,1.是)
    * @param holidays
    */
    public void setHolidays(Integer holidays){
        this.holidays = holidays;
    }
    /**
    * 获取 备注
    * @return String
    */
    public String getRemark(){
        return remark;
    }
    /**
    * 设置 备注
    * @param remark
    */
    public void setRemark(String remark){
        this.remark = remark;
    }


    public List<AttendanceGroupFixedworkSpecialEntity> getAttendanceGroupFixedworkSpecialList(){
      return attendanceGroupFixedworkSpecialList;
    }

    public void setAttendanceGroupFixedworkSpecialList(List<AttendanceGroupFixedworkSpecialEntity> attendanceGroupFixedworkSpecialList){
        this.attendanceGroupFixedworkSpecialList = attendanceGroupFixedworkSpecialList;
    }


    @Override
    public int hashCode() {
         return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof AttendanceGroupFixedworkEntity) {
            AttendanceGroupFixedworkEntity tmp = (AttendanceGroupFixedworkEntity) obj;
            if (this.getId() == tmp.getId()) {
                 return true;
            }
        }
        return false;
    }

    public String toString(){
        StringBuilder sb = new StringBuilder("");
        sb.append(",groupId:").append(getGroupId());
        sb.append(",groupName:").append(getGroupName());
        sb.append(",monday:").append(getMonday());
        sb.append(",mondayClassId:").append(getMondayClassId());
        sb.append(",mondayClassName:").append(getMondayClassName());
        sb.append(",tuesday:").append(getTuesday());
        sb.append(",tuesdayClassId:").append(getTuesdayClassId());
        sb.append(",tuesdayClassName:").append(getTuesdayClassName());
        sb.append(",wednesday:").append(getWednesday());
        sb.append(",wednesdayClassId:").append(getWednesdayClassId());
        sb.append(",wednesdayClassName:").append(getWednesdayClassName());
        sb.append(",thursday:").append(getThursday());
        sb.append(",thursdayClassId:").append(getThursdayClassId());
        sb.append(",thursdayClassName:").append(getThursdayClassName());
        sb.append(",friday:").append(getFriday());
        sb.append(",fridayClassId:").append(getFridayClassId());
        sb.append(",fridayClassName:").append(getFridayClassName());
        sb.append(",saturday:").append(getSaturday());
        sb.append(",saturdayClassId:").append(getSaturdayClassId());
        sb.append(",saturdayClassName:").append(getSaturdayClassName());
        sb.append(",sunday:").append(getSunday());
        sb.append(",sundayClassId:").append(getSundayClassId());
        sb.append(",sundayClassName:").append(getSundayClassName());
        sb.append(",holidays:").append(getHolidays());
        sb.append(",remark:").append(getRemark());
        return sb.toString();
    }

    public void initAttrValue(){

            this.groupId = null;

            this.groupName = "";

            this.monday = 0;

            this.mondayClassId = null;

            this.mondayClassName = "";

            this.tuesday = 0;

            this.tuesdayClassId = null;

            this.tuesdayClassName = "";

            this.wednesday = 0;

            this.wednesdayClassId = null;

            this.wednesdayClassName = "";

            this.thursday = 0;

            this.thursdayClassId = null;

            this.thursdayClassName = "";

            this.friday = 0;

            this.fridayClassId = null;

            this.fridayClassName = "";

            this.saturday = 0;

            this.saturdayClassId = null;

            this.saturdayClassName = "";

            this.sunday = 0;

            this.sundayClassId = null;

            this.sundayClassName = "";

            this.holidays = 1;

            this.remark = "";
    }
}