package com.mortals.xhx.module.attendance.model;

import java.util.Date;
import java.util.List;
import com.mortals.xhx.module.attendance.model.AttendanceGroupFreeworkSpecialEntity;
/**
 * 考勤组考勤自由工时特殊日期配置查询对象
 *
 * @author zxfei
 * @date 2023-04-10
 */
public class AttendanceGroupFreeworkSpecialQuery extends AttendanceGroupFreeworkSpecialEntity {
    /** 开始 序号，主键，自增长 */
    private Long idStart;

    /** 结束 序号，主键，自增长 */
    private Long idEnd;

    /** 增加 序号，主键，自增长 */
    private Long idIncrement;

    /** 序号，主键，自增长列表 */
    private List <Long> idList;

    /** 序号，主键，自增长排除列表 */
    private List <Long> idNotList;

    /** 开始 自由工时考勤配置id */
    private Long freeWorkIdStart;

    /** 结束 自由工时考勤配置id */
    private Long freeWorkIdEnd;

    /** 增加 自由工时考勤配置id */
    private Long freeWorkIdIncrement;

    /** 自由工时考勤配置id列表 */
    private List <Long> freeWorkIdList;

    /** 自由工时考勤配置id排除列表 */
    private List <Long> freeWorkIdNotList;

    /** 开始 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是) */
    private Integer mustStart;

    /** 结束 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是) */
    private Integer mustEnd;

    /** 增加 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是) */
    private Integer mustIncrement;

    /** 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)列表 */
    private List <Integer> mustList;

    /** 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)排除列表 */
    private List <Integer> mustNotList;

    /** 开始 班次ID */
    private Long classIdStart;

    /** 结束 班次ID */
    private Long classIdEnd;

    /** 增加 班次ID */
    private Long classIdIncrement;

    /** 班次ID列表 */
    private List <Long> classIdList;

    /** 班次ID排除列表 */
    private List <Long> classIdNotList;

    /** 班次名称 */
    private List<String> classNameList;

    /** 班次名称排除列表 */
    private List <String> classNameNotList;
    /** 开始 无需打卡的日期类型(0.单个日期,1.时间段) */
    private Integer addWayStart;

    /** 结束 无需打卡的日期类型(0.单个日期,1.时间段) */
    private Integer addWayEnd;

    /** 增加 无需打卡的日期类型(0.单个日期,1.时间段) */
    private Integer addWayIncrement;

    /** 无需打卡的日期类型(0.单个日期,1.时间段)列表 */
    private List <Integer> addWayList;

    /** 无需打卡的日期类型(0.单个日期,1.时间段)排除列表 */
    private List <Integer> addWayNotList;

    /** 开始 特殊时间 */
    private String specialTimeStart;

    /** 结束 特殊时间 */
    private String specialTimeEnd;

    /** 备注 */
    private List<String> remarkList;

    /** 备注排除列表 */
    private List <String> remarkNotList;
    /** 开始 创建用户 */
    private Long createUserIdStart;

    /** 结束 创建用户 */
    private Long createUserIdEnd;

    /** 增加 创建用户 */
    private Long createUserIdIncrement;

    /** 创建用户列表 */
    private List <Long> createUserIdList;

    /** 创建用户排除列表 */
    private List <Long> createUserIdNotList;

    /** 开始 创建时间 */
    private String createTimeStart;

    /** 结束 创建时间 */
    private String createTimeEnd;

    /** 开始 更新用户 */
    private Long updateUserIdStart;

    /** 结束 更新用户 */
    private Long updateUserIdEnd;

    /** 增加 更新用户 */
    private Long updateUserIdIncrement;

    /** 更新用户列表 */
    private List <Long> updateUserIdList;

    /** 更新用户排除列表 */
    private List <Long> updateUserIdNotList;

    /** 开始 更新时间 */
    private String updateTimeStart;

    /** 结束 更新时间 */
    private String updateTimeEnd;

    /** 开始 时间段时候开始时间 */
    private String specialStartTimeStart;

    /** 结束 时间段时候开始时间 */
    private String specialStartTimeEnd;

    /** 开始 时间段结束时间 */
    private String specialEndTimeStart;

    /** 结束 时间段结束时间 */
    private String specialEndTimeEnd;

    /** OR条件集合，列表项之间是OR，项内容之间是AND，如：(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
    private List<AttendanceGroupFreeworkSpecialQuery> orConditionList;

    /** AND条件集合，列表项之间是AND，项内容之间是OR，如：(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
    private List<AttendanceGroupFreeworkSpecialQuery> andConditionList;

    public AttendanceGroupFreeworkSpecialQuery(){}

    /**
     * 获取 开始 序号，主键，自增长
     * @return idStart
     */
    public Long getIdStart(){
        return this.idStart;
    }

    /**
     * 设置 开始 序号，主键，自增长
     * @param idStart
     */
    public void setIdStart(Long idStart){
        this.idStart = idStart;
    }

    /**
     * 获取 结束 序号，主键，自增长
     * @return $idEnd
     */
    public Long getIdEnd(){
        return this.idEnd;
    }

    /**
     * 设置 结束 序号，主键，自增长
     * @param idEnd
     */
    public void setIdEnd(Long idEnd){
        this.idEnd = idEnd;
    }

    /**
     * 获取 增加 序号，主键，自增长
     * @return idIncrement
     */
    public Long getIdIncrement(){
        return this.idIncrement;
    }

    /**
     * 设置 增加 序号，主键，自增长
     * @param idIncrement
     */
    public void setIdIncrement(Long idIncrement){
        this.idIncrement = idIncrement;
    }

    /**
     * 获取 序号，主键，自增长
     * @return idList
     */
    public List<Long> getIdList(){
        return this.idList;
    }

    /**
     * 设置 序号，主键，自增长
     * @param idList
     */
    public void setIdList(List<Long> idList){
        this.idList = idList;
    }

    /**
     * 获取 序号，主键，自增长
     * @return idNotList
     */
    public List<Long> getIdNotList(){
        return this.idNotList;
    }

    /**
     * 设置 序号，主键，自增长
     * @param idNotList
     */
    public void setIdNotList(List<Long> idNotList){
        this.idNotList = idNotList;
    }


    /**
     * 获取 开始 自由工时考勤配置id
     * @return freeWorkIdStart
     */
    public Long getFreeWorkIdStart(){
        return this.freeWorkIdStart;
    }

    /**
     * 设置 开始 自由工时考勤配置id
     * @param freeWorkIdStart
     */
    public void setFreeWorkIdStart(Long freeWorkIdStart){
        this.freeWorkIdStart = freeWorkIdStart;
    }

    /**
     * 获取 结束 自由工时考勤配置id
     * @return $freeWorkIdEnd
     */
    public Long getFreeWorkIdEnd(){
        return this.freeWorkIdEnd;
    }

    /**
     * 设置 结束 自由工时考勤配置id
     * @param freeWorkIdEnd
     */
    public void setFreeWorkIdEnd(Long freeWorkIdEnd){
        this.freeWorkIdEnd = freeWorkIdEnd;
    }

    /**
     * 获取 增加 自由工时考勤配置id
     * @return freeWorkIdIncrement
     */
    public Long getFreeWorkIdIncrement(){
        return this.freeWorkIdIncrement;
    }

    /**
     * 设置 增加 自由工时考勤配置id
     * @param freeWorkIdIncrement
     */
    public void setFreeWorkIdIncrement(Long freeWorkIdIncrement){
        this.freeWorkIdIncrement = freeWorkIdIncrement;
    }

    /**
     * 获取 自由工时考勤配置id
     * @return freeWorkIdList
     */
    public List<Long> getFreeWorkIdList(){
        return this.freeWorkIdList;
    }

    /**
     * 设置 自由工时考勤配置id
     * @param freeWorkIdList
     */
    public void setFreeWorkIdList(List<Long> freeWorkIdList){
        this.freeWorkIdList = freeWorkIdList;
    }

    /**
     * 获取 自由工时考勤配置id
     * @return freeWorkIdNotList
     */
    public List<Long> getFreeWorkIdNotList(){
        return this.freeWorkIdNotList;
    }

    /**
     * 设置 自由工时考勤配置id
     * @param freeWorkIdNotList
     */
    public void setFreeWorkIdNotList(List<Long> freeWorkIdNotList){
        this.freeWorkIdNotList = freeWorkIdNotList;
    }


    /**
     * 获取 开始 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @return mustStart
     */
    public Integer getMustStart(){
        return this.mustStart;
    }

    /**
     * 设置 开始 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @param mustStart
     */
    public void setMustStart(Integer mustStart){
        this.mustStart = mustStart;
    }

    /**
     * 获取 结束 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @return $mustEnd
     */
    public Integer getMustEnd(){
        return this.mustEnd;
    }

    /**
     * 设置 结束 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @param mustEnd
     */
    public void setMustEnd(Integer mustEnd){
        this.mustEnd = mustEnd;
    }

    /**
     * 获取 增加 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @return mustIncrement
     */
    public Integer getMustIncrement(){
        return this.mustIncrement;
    }

    /**
     * 设置 增加 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @param mustIncrement
     */
    public void setMustIncrement(Integer mustIncrement){
        this.mustIncrement = mustIncrement;
    }

    /**
     * 获取 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @return mustList
     */
    public List<Integer> getMustList(){
        return this.mustList;
    }

    /**
     * 设置 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @param mustList
     */
    public void setMustList(List<Integer> mustList){
        this.mustList = mustList;
    }

    /**
     * 获取 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @return mustNotList
     */
    public List<Integer> getMustNotList(){
        return this.mustNotList;
    }

    /**
     * 设置 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @param mustNotList
     */
    public void setMustNotList(List<Integer> mustNotList){
        this.mustNotList = mustNotList;
    }


    /**
     * 获取 开始 班次ID
     * @return classIdStart
     */
    public Long getClassIdStart(){
        return this.classIdStart;
    }

    /**
     * 设置 开始 班次ID
     * @param classIdStart
     */
    public void setClassIdStart(Long classIdStart){
        this.classIdStart = classIdStart;
    }

    /**
     * 获取 结束 班次ID
     * @return $classIdEnd
     */
    public Long getClassIdEnd(){
        return this.classIdEnd;
    }

    /**
     * 设置 结束 班次ID
     * @param classIdEnd
     */
    public void setClassIdEnd(Long classIdEnd){
        this.classIdEnd = classIdEnd;
    }

    /**
     * 获取 增加 班次ID
     * @return classIdIncrement
     */
    public Long getClassIdIncrement(){
        return this.classIdIncrement;
    }

    /**
     * 设置 增加 班次ID
     * @param classIdIncrement
     */
    public void setClassIdIncrement(Long classIdIncrement){
        this.classIdIncrement = classIdIncrement;
    }

    /**
     * 获取 班次ID
     * @return classIdList
     */
    public List<Long> getClassIdList(){
        return this.classIdList;
    }

    /**
     * 设置 班次ID
     * @param classIdList
     */
    public void setClassIdList(List<Long> classIdList){
        this.classIdList = classIdList;
    }

    /**
     * 获取 班次ID
     * @return classIdNotList
     */
    public List<Long> getClassIdNotList(){
        return this.classIdNotList;
    }

    /**
     * 设置 班次ID
     * @param classIdNotList
     */
    public void setClassIdNotList(List<Long> classIdNotList){
        this.classIdNotList = classIdNotList;
    }


    /**
     * 获取 班次名称
     * @return classNameList
     */
    public List<String> getClassNameList(){
        return this.classNameList;
    }

    /**
     * 设置 班次名称
     * @param classNameList
     */
    public void setClassNameList(List<String> classNameList){
        this.classNameList = classNameList;
    }

    /**
     * 获取 班次名称
     * @return classNameNotList
     */
    public List<String> getClassNameNotList(){
        return this.classNameNotList;
    }

    /**
     * 设置 班次名称
     * @param classNameNotList
     */
    public void setClassNameNotList(List<String> classNameNotList){
        this.classNameNotList = classNameNotList;
    }

    /**
     * 获取 开始 无需打卡的日期类型(0.单个日期,1.时间段)
     * @return addWayStart
     */
    public Integer getAddWayStart(){
        return this.addWayStart;
    }

    /**
     * 设置 开始 无需打卡的日期类型(0.单个日期,1.时间段)
     * @param addWayStart
     */
    public void setAddWayStart(Integer addWayStart){
        this.addWayStart = addWayStart;
    }

    /**
     * 获取 结束 无需打卡的日期类型(0.单个日期,1.时间段)
     * @return $addWayEnd
     */
    public Integer getAddWayEnd(){
        return this.addWayEnd;
    }

    /**
     * 设置 结束 无需打卡的日期类型(0.单个日期,1.时间段)
     * @param addWayEnd
     */
    public void setAddWayEnd(Integer addWayEnd){
        this.addWayEnd = addWayEnd;
    }

    /**
     * 获取 增加 无需打卡的日期类型(0.单个日期,1.时间段)
     * @return addWayIncrement
     */
    public Integer getAddWayIncrement(){
        return this.addWayIncrement;
    }

    /**
     * 设置 增加 无需打卡的日期类型(0.单个日期,1.时间段)
     * @param addWayIncrement
     */
    public void setAddWayIncrement(Integer addWayIncrement){
        this.addWayIncrement = addWayIncrement;
    }

    /**
     * 获取 无需打卡的日期类型(0.单个日期,1.时间段)
     * @return addWayList
     */
    public List<Integer> getAddWayList(){
        return this.addWayList;
    }

    /**
     * 设置 无需打卡的日期类型(0.单个日期,1.时间段)
     * @param addWayList
     */
    public void setAddWayList(List<Integer> addWayList){
        this.addWayList = addWayList;
    }

    /**
     * 获取 无需打卡的日期类型(0.单个日期,1.时间段)
     * @return addWayNotList
     */
    public List<Integer> getAddWayNotList(){
        return this.addWayNotList;
    }

    /**
     * 设置 无需打卡的日期类型(0.单个日期,1.时间段)
     * @param addWayNotList
     */
    public void setAddWayNotList(List<Integer> addWayNotList){
        this.addWayNotList = addWayNotList;
    }


    /**
     * 获取 开始 特殊时间
     * @return specialTimeStart
     */
    public String getSpecialTimeStart(){
        return this.specialTimeStart;
    }

    /**
     * 设置 开始 特殊时间
     * @param specialTimeStart
     */
    public void setSpecialTimeStart(String specialTimeStart){
        this.specialTimeStart = specialTimeStart;
    }

    /**
     * 获取 结束 特殊时间
     * @return specialTimeEnd
     */
    public String getSpecialTimeEnd(){
        return this.specialTimeEnd;
    }

    /**
     * 设置 结束 特殊时间
     * @param specialTimeEnd
     */
    public void setSpecialTimeEnd(String specialTimeEnd){
        this.specialTimeEnd = specialTimeEnd;
    }

    /**
     * 获取 备注
     * @return remarkList
     */
    public List<String> getRemarkList(){
        return this.remarkList;
    }

    /**
     * 设置 备注
     * @param remarkList
     */
    public void setRemarkList(List<String> remarkList){
        this.remarkList = remarkList;
    }

    /**
     * 获取 备注
     * @return remarkNotList
     */
    public List<String> getRemarkNotList(){
        return this.remarkNotList;
    }

    /**
     * 设置 备注
     * @param remarkNotList
     */
    public void setRemarkNotList(List<String> remarkNotList){
        this.remarkNotList = remarkNotList;
    }

    /**
     * 获取 开始 创建用户
     * @return createUserIdStart
     */
    public Long getCreateUserIdStart(){
        return this.createUserIdStart;
    }

    /**
     * 设置 开始 创建用户
     * @param createUserIdStart
     */
    public void setCreateUserIdStart(Long createUserIdStart){
        this.createUserIdStart = createUserIdStart;
    }

    /**
     * 获取 结束 创建用户
     * @return $createUserIdEnd
     */
    public Long getCreateUserIdEnd(){
        return this.createUserIdEnd;
    }

    /**
     * 设置 结束 创建用户
     * @param createUserIdEnd
     */
    public void setCreateUserIdEnd(Long createUserIdEnd){
        this.createUserIdEnd = createUserIdEnd;
    }

    /**
     * 获取 增加 创建用户
     * @return createUserIdIncrement
     */
    public Long getCreateUserIdIncrement(){
        return this.createUserIdIncrement;
    }

    /**
     * 设置 增加 创建用户
     * @param createUserIdIncrement
     */
    public void setCreateUserIdIncrement(Long createUserIdIncrement){
        this.createUserIdIncrement = createUserIdIncrement;
    }

    /**
     * 获取 创建用户
     * @return createUserIdList
     */
    public List<Long> getCreateUserIdList(){
        return this.createUserIdList;
    }

    /**
     * 设置 创建用户
     * @param createUserIdList
     */
    public void setCreateUserIdList(List<Long> createUserIdList){
        this.createUserIdList = createUserIdList;
    }

    /**
     * 获取 创建用户
     * @return createUserIdNotList
     */
    public List<Long> getCreateUserIdNotList(){
        return this.createUserIdNotList;
    }

    /**
     * 设置 创建用户
     * @param createUserIdNotList
     */
    public void setCreateUserIdNotList(List<Long> createUserIdNotList){
        this.createUserIdNotList = createUserIdNotList;
    }


    /**
     * 获取 开始 创建时间
     * @return createTimeStart
     */
    public String getCreateTimeStart(){
        return this.createTimeStart;
    }

    /**
     * 设置 开始 创建时间
     * @param createTimeStart
     */
    public void setCreateTimeStart(String createTimeStart){
        this.createTimeStart = createTimeStart;
    }

    /**
     * 获取 结束 创建时间
     * @return createTimeEnd
     */
    public String getCreateTimeEnd(){
        return this.createTimeEnd;
    }

    /**
     * 设置 结束 创建时间
     * @param createTimeEnd
     */
    public void setCreateTimeEnd(String createTimeEnd){
        this.createTimeEnd = createTimeEnd;
    }

    /**
     * 获取 开始 更新用户
     * @return updateUserIdStart
     */
    public Long getUpdateUserIdStart(){
        return this.updateUserIdStart;
    }

    /**
     * 设置 开始 更新用户
     * @param updateUserIdStart
     */
    public void setUpdateUserIdStart(Long updateUserIdStart){
        this.updateUserIdStart = updateUserIdStart;
    }

    /**
     * 获取 结束 更新用户
     * @return $updateUserIdEnd
     */
    public Long getUpdateUserIdEnd(){
        return this.updateUserIdEnd;
    }

    /**
     * 设置 结束 更新用户
     * @param updateUserIdEnd
     */
    public void setUpdateUserIdEnd(Long updateUserIdEnd){
        this.updateUserIdEnd = updateUserIdEnd;
    }

    /**
     * 获取 增加 更新用户
     * @return updateUserIdIncrement
     */
    public Long getUpdateUserIdIncrement(){
        return this.updateUserIdIncrement;
    }

    /**
     * 设置 增加 更新用户
     * @param updateUserIdIncrement
     */
    public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
        this.updateUserIdIncrement = updateUserIdIncrement;
    }

    /**
     * 获取 更新用户
     * @return updateUserIdList
     */
    public List<Long> getUpdateUserIdList(){
        return this.updateUserIdList;
    }

    /**
     * 设置 更新用户
     * @param updateUserIdList
     */
    public void setUpdateUserIdList(List<Long> updateUserIdList){
        this.updateUserIdList = updateUserIdList;
    }

    /**
     * 获取 更新用户
     * @return updateUserIdNotList
     */
    public List<Long> getUpdateUserIdNotList(){
        return this.updateUserIdNotList;
    }

    /**
     * 设置 更新用户
     * @param updateUserIdNotList
     */
    public void setUpdateUserIdNotList(List<Long> updateUserIdNotList){
        this.updateUserIdNotList = updateUserIdNotList;
    }


    /**
     * 获取 开始 更新时间
     * @return updateTimeStart
     */
    public String getUpdateTimeStart(){
        return this.updateTimeStart;
    }

    /**
     * 设置 开始 更新时间
     * @param updateTimeStart
     */
    public void setUpdateTimeStart(String updateTimeStart){
        this.updateTimeStart = updateTimeStart;
    }

    /**
     * 获取 结束 更新时间
     * @return updateTimeEnd
     */
    public String getUpdateTimeEnd(){
        return this.updateTimeEnd;
    }

    /**
     * 设置 结束 更新时间
     * @param updateTimeEnd
     */
    public void setUpdateTimeEnd(String updateTimeEnd){
        this.updateTimeEnd = updateTimeEnd;
    }

    /**
     * 获取 开始 时间段时候开始时间
     * @return specialStartTimeStart
     */
    public String getSpecialStartTimeStart(){
        return this.specialStartTimeStart;
    }

    /**
     * 设置 开始 时间段时候开始时间
     * @param specialStartTimeStart
     */
    public void setSpecialStartTimeStart(String specialStartTimeStart){
        this.specialStartTimeStart = specialStartTimeStart;
    }

    /**
     * 获取 结束 时间段时候开始时间
     * @return specialStartTimeEnd
     */
    public String getSpecialStartTimeEnd(){
        return this.specialStartTimeEnd;
    }

    /**
     * 设置 结束 时间段时候开始时间
     * @param specialStartTimeEnd
     */
    public void setSpecialStartTimeEnd(String specialStartTimeEnd){
        this.specialStartTimeEnd = specialStartTimeEnd;
    }

    /**
     * 获取 开始 时间段结束时间
     * @return specialEndTimeStart
     */
    public String getSpecialEndTimeStart(){
        return this.specialEndTimeStart;
    }

    /**
     * 设置 开始 时间段结束时间
     * @param specialEndTimeStart
     */
    public void setSpecialEndTimeStart(String specialEndTimeStart){
        this.specialEndTimeStart = specialEndTimeStart;
    }

    /**
     * 获取 结束 时间段结束时间
     * @return specialEndTimeEnd
     */
    public String getSpecialEndTimeEnd(){
        return this.specialEndTimeEnd;
    }

    /**
     * 设置 结束 时间段结束时间
     * @param specialEndTimeEnd
     */
    public void setSpecialEndTimeEnd(String specialEndTimeEnd){
        this.specialEndTimeEnd = specialEndTimeEnd;
    }

    /**
     * 设置  序号，主键，自增长
     * @param id
     */
    public AttendanceGroupFreeworkSpecialQuery id(Long id){
        setId(id);
        return this;
    }

    /**
     * 设置 开始 序号，主键，自增长
     * @param idStart
     */
    public AttendanceGroupFreeworkSpecialQuery idStart(Long idStart){
        this.idStart = idStart;
        return this;
    }

    /**
     * 设置 结束 序号，主键，自增长
     * @param idEnd
     */
    public AttendanceGroupFreeworkSpecialQuery idEnd(Long idEnd){
        this.idEnd = idEnd;
        return this;
    }

    /**
     * 设置 增加 序号，主键，自增长
     * @param idIncrement
     */
    public AttendanceGroupFreeworkSpecialQuery idIncrement(Long idIncrement){
        this.idIncrement = idIncrement;
        return this;
    }

    /**
     * 设置 序号，主键，自增长
     * @param idList
     */
    public AttendanceGroupFreeworkSpecialQuery idList(List<Long> idList){
        this.idList = idList;
        return this;
    }

    /**
     * 设置 序号，主键，自增长
     * @param idNotList
     */
    public AttendanceGroupFreeworkSpecialQuery idNotList(List<Long> idNotList){
        this.idNotList = idNotList;
        return this;
    }

    /**
     * 设置  自由工时考勤配置id
     * @param freeWorkId
     */
    public AttendanceGroupFreeworkSpecialQuery freeWorkId(Long freeWorkId){
        setFreeWorkId(freeWorkId);
        return this;
    }

    /**
     * 设置 开始 自由工时考勤配置id
     * @param freeWorkIdStart
     */
    public AttendanceGroupFreeworkSpecialQuery freeWorkIdStart(Long freeWorkIdStart){
        this.freeWorkIdStart = freeWorkIdStart;
        return this;
    }

    /**
     * 设置 结束 自由工时考勤配置id
     * @param freeWorkIdEnd
     */
    public AttendanceGroupFreeworkSpecialQuery freeWorkIdEnd(Long freeWorkIdEnd){
        this.freeWorkIdEnd = freeWorkIdEnd;
        return this;
    }

    /**
     * 设置 增加 自由工时考勤配置id
     * @param freeWorkIdIncrement
     */
    public AttendanceGroupFreeworkSpecialQuery freeWorkIdIncrement(Long freeWorkIdIncrement){
        this.freeWorkIdIncrement = freeWorkIdIncrement;
        return this;
    }

    /**
     * 设置 自由工时考勤配置id
     * @param freeWorkIdList
     */
    public AttendanceGroupFreeworkSpecialQuery freeWorkIdList(List<Long> freeWorkIdList){
        this.freeWorkIdList = freeWorkIdList;
        return this;
    }

    /**
     * 设置 自由工时考勤配置id
     * @param freeWorkIdNotList
     */
    public AttendanceGroupFreeworkSpecialQuery freeWorkIdNotList(List<Long> freeWorkIdNotList){
        this.freeWorkIdNotList = freeWorkIdNotList;
        return this;
    }

    /**
     * 设置  是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @param must
     */
    public AttendanceGroupFreeworkSpecialQuery must(Integer must){
        setMust(must);
        return this;
    }

    /**
     * 设置 开始 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @param mustStart
     */
    public AttendanceGroupFreeworkSpecialQuery mustStart(Integer mustStart){
        this.mustStart = mustStart;
        return this;
    }

    /**
     * 设置 结束 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @param mustEnd
     */
    public AttendanceGroupFreeworkSpecialQuery mustEnd(Integer mustEnd){
        this.mustEnd = mustEnd;
        return this;
    }

    /**
     * 设置 增加 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @param mustIncrement
     */
    public AttendanceGroupFreeworkSpecialQuery mustIncrement(Integer mustIncrement){
        this.mustIncrement = mustIncrement;
        return this;
    }

    /**
     * 设置 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @param mustList
     */
    public AttendanceGroupFreeworkSpecialQuery mustList(List<Integer> mustList){
        this.mustList = mustList;
        return this;
    }

    /**
     * 设置 是否必须打卡的日期，当为1时有班次相关信息，否则有无需打卡时间段信息(0.否,1.是)
     * @param mustNotList
     */
    public AttendanceGroupFreeworkSpecialQuery mustNotList(List<Integer> mustNotList){
        this.mustNotList = mustNotList;
        return this;
    }

    /**
     * 设置  班次ID
     * @param classId
     */
    public AttendanceGroupFreeworkSpecialQuery classId(Long classId){
        setClassId(classId);
        return this;
    }

    /**
     * 设置 开始 班次ID
     * @param classIdStart
     */
    public AttendanceGroupFreeworkSpecialQuery classIdStart(Long classIdStart){
        this.classIdStart = classIdStart;
        return this;
    }

    /**
     * 设置 结束 班次ID
     * @param classIdEnd
     */
    public AttendanceGroupFreeworkSpecialQuery classIdEnd(Long classIdEnd){
        this.classIdEnd = classIdEnd;
        return this;
    }

    /**
     * 设置 增加 班次ID
     * @param classIdIncrement
     */
    public AttendanceGroupFreeworkSpecialQuery classIdIncrement(Long classIdIncrement){
        this.classIdIncrement = classIdIncrement;
        return this;
    }

    /**
     * 设置 班次ID
     * @param classIdList
     */
    public AttendanceGroupFreeworkSpecialQuery classIdList(List<Long> classIdList){
        this.classIdList = classIdList;
        return this;
    }

    /**
     * 设置 班次ID
     * @param classIdNotList
     */
    public AttendanceGroupFreeworkSpecialQuery classIdNotList(List<Long> classIdNotList){
        this.classIdNotList = classIdNotList;
        return this;
    }


    /**
     * 设置 班次名称
     * @param className
     */
    public AttendanceGroupFreeworkSpecialQuery className(String className){
        setClassName(className);
        return this;
    }

    /**
     * 设置 班次名称
     * @param classNameList
     */
    public AttendanceGroupFreeworkSpecialQuery classNameList(List<String> classNameList){
        this.classNameList = classNameList;
        return this;
    }

    /**
     * 设置  无需打卡的日期类型(0.单个日期,1.时间段)
     * @param addWay
     */
    public AttendanceGroupFreeworkSpecialQuery addWay(Integer addWay){
        setAddWay(addWay);
        return this;
    }

    /**
     * 设置 开始 无需打卡的日期类型(0.单个日期,1.时间段)
     * @param addWayStart
     */
    public AttendanceGroupFreeworkSpecialQuery addWayStart(Integer addWayStart){
        this.addWayStart = addWayStart;
        return this;
    }

    /**
     * 设置 结束 无需打卡的日期类型(0.单个日期,1.时间段)
     * @param addWayEnd
     */
    public AttendanceGroupFreeworkSpecialQuery addWayEnd(Integer addWayEnd){
        this.addWayEnd = addWayEnd;
        return this;
    }

    /**
     * 设置 增加 无需打卡的日期类型(0.单个日期,1.时间段)
     * @param addWayIncrement
     */
    public AttendanceGroupFreeworkSpecialQuery addWayIncrement(Integer addWayIncrement){
        this.addWayIncrement = addWayIncrement;
        return this;
    }

    /**
     * 设置 无需打卡的日期类型(0.单个日期,1.时间段)
     * @param addWayList
     */
    public AttendanceGroupFreeworkSpecialQuery addWayList(List<Integer> addWayList){
        this.addWayList = addWayList;
        return this;
    }

    /**
     * 设置 无需打卡的日期类型(0.单个日期,1.时间段)
     * @param addWayNotList
     */
    public AttendanceGroupFreeworkSpecialQuery addWayNotList(List<Integer> addWayNotList){
        this.addWayNotList = addWayNotList;
        return this;
    }



    /**
     * 设置 备注
     * @param remark
     */
    public AttendanceGroupFreeworkSpecialQuery remark(String remark){
        setRemark(remark);
        return this;
    }

    /**
     * 设置 备注
     * @param remarkList
     */
    public AttendanceGroupFreeworkSpecialQuery remarkList(List<String> remarkList){
        this.remarkList = remarkList;
        return this;
    }

    /**
     * 设置  创建用户
     * @param createUserId
     */
    public AttendanceGroupFreeworkSpecialQuery createUserId(Long createUserId){
        setCreateUserId(createUserId);
        return this;
    }

    /**
     * 设置 开始 创建用户
     * @param createUserIdStart
     */
    public AttendanceGroupFreeworkSpecialQuery createUserIdStart(Long createUserIdStart){
        this.createUserIdStart = createUserIdStart;
        return this;
    }

    /**
     * 设置 结束 创建用户
     * @param createUserIdEnd
     */
    public AttendanceGroupFreeworkSpecialQuery createUserIdEnd(Long createUserIdEnd){
        this.createUserIdEnd = createUserIdEnd;
        return this;
    }

    /**
     * 设置 增加 创建用户
     * @param createUserIdIncrement
     */
    public AttendanceGroupFreeworkSpecialQuery createUserIdIncrement(Long createUserIdIncrement){
        this.createUserIdIncrement = createUserIdIncrement;
        return this;
    }

    /**
     * 设置 创建用户
     * @param createUserIdList
     */
    public AttendanceGroupFreeworkSpecialQuery createUserIdList(List<Long> createUserIdList){
        this.createUserIdList = createUserIdList;
        return this;
    }

    /**
     * 设置 创建用户
     * @param createUserIdNotList
     */
    public AttendanceGroupFreeworkSpecialQuery createUserIdNotList(List<Long> createUserIdNotList){
        this.createUserIdNotList = createUserIdNotList;
        return this;
    }


    /**
     * 设置  更新用户
     * @param updateUserId
     */
    public AttendanceGroupFreeworkSpecialQuery updateUserId(Long updateUserId){
        setUpdateUserId(updateUserId);
        return this;
    }

    /**
     * 设置 开始 更新用户
     * @param updateUserIdStart
     */
    public AttendanceGroupFreeworkSpecialQuery updateUserIdStart(Long updateUserIdStart){
        this.updateUserIdStart = updateUserIdStart;
        return this;
    }

    /**
     * 设置 结束 更新用户
     * @param updateUserIdEnd
     */
    public AttendanceGroupFreeworkSpecialQuery updateUserIdEnd(Long updateUserIdEnd){
        this.updateUserIdEnd = updateUserIdEnd;
        return this;
    }

    /**
     * 设置 增加 更新用户
     * @param updateUserIdIncrement
     */
    public AttendanceGroupFreeworkSpecialQuery updateUserIdIncrement(Long updateUserIdIncrement){
        this.updateUserIdIncrement = updateUserIdIncrement;
        return this;
    }

    /**
     * 设置 更新用户
     * @param updateUserIdList
     */
    public AttendanceGroupFreeworkSpecialQuery updateUserIdList(List<Long> updateUserIdList){
        this.updateUserIdList = updateUserIdList;
        return this;
    }

    /**
     * 设置 更新用户
     * @param updateUserIdNotList
     */
    public AttendanceGroupFreeworkSpecialQuery updateUserIdNotList(List<Long> updateUserIdNotList){
        this.updateUserIdNotList = updateUserIdNotList;
        return this;
    }




    /**
     * 获取 OR条件集合，列表项之间是OR，项内容之间是AND，如：(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
     * @return orConditionList
     */
    public List<AttendanceGroupFreeworkSpecialQuery> getOrConditionList(){
        return this.orConditionList;
    }

    /**
     * 设置 OR条件集合，列表项之间是OR，项内容之间是AND，如：(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
     * @param orConditionList
     */
    public void setOrConditionList(List<AttendanceGroupFreeworkSpecialQuery> orConditionList){
        this.orConditionList = orConditionList;
    }

    /**
     * 获取 AND条件集合，列表项之间是AND，项内容之间是OR，如：(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
     * @return andConditionList
     */
    public List<AttendanceGroupFreeworkSpecialQuery> getAndConditionList(){
        return this.andConditionList;
    }

    /**
     * 设置 AND条件集合，列表项之间是AND，项内容之间是OR，如：(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
     * @param andConditionList
     */
    public void setAndConditionList(List<AttendanceGroupFreeworkSpecialQuery> andConditionList){
        this.andConditionList = andConditionList;
    }

}