package cn.iocoder.yudao.module.system.service.attendance.attendancespecial;

import cn.iocoder.yudao.module.system.dal.dataobject.attendance.attendancespecial.AttendanceSpecialDO;

import java.util.List;

/**
 * 考勤特殊日期 Service 接口
 *
 * @author 艾楷
 */
public interface AttendanceSpecialService {
    /**
     * 根据条件搜索
     *
     * @param groupId
     * @param time
     * @param type
     * @return
     */
    AttendanceSpecialDO getByGroupIdAndTimeAndType(Long groupId, String time, int type);

    /**
     * 根据条件搜索
     *
     * @param groupId
     * @param time
     * @return
     */
    List<AttendanceSpecialDO> getByGroupIdAndTime(Long groupId, String time);

    /**
     * @param groupIds
     * @param time
     * @return
     */
    List<AttendanceSpecialDO> getByGroupIdsAndTime(List<Long> groupIds, String time);

    /**
     * @param groupId
     * @param times
     * @return
     */
    List<AttendanceSpecialDO> getByGroupIdAndTimes(Long groupId, List<String> times);

    /**
     * @param attendanceGroupId
     * @return
     */
    List<AttendanceSpecialDO> getByGroupId(Long attendanceGroupId);

    /**
     * 批处理
     *
     * @param attendanceGroupId
     * @param attendanceSpecialList
     */
    void insertUpdateDeleteBatch(Long attendanceGroupId, List<List<AttendanceSpecialDO>> attendanceSpecialList);
}
