package com.xjrsoft.module.attendance.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.base.MPJBaseService;
import com.xjrsoft.module.attendance.dto.AddAttendanceStatisticsDto;
import com.xjrsoft.module.attendance.dto.AttendanceStatisticsPageDto;
import com.xjrsoft.module.attendance.dto.AttendanceStatisticsRecordDto;
import com.xjrsoft.module.attendance.entity.AttendanceStatistics;
import com.xjrsoft.module.attendance.vo.AttendanceStatisticsPageVo;
import com.xjrsoft.module.attendance.vo.AttendanceStatisticsRecordVo;

import java.io.IOException;
import java.util.List;

/**
* @title: 考勤统计
* @Author dzx
* @Date: 2024-10-19
* @Version 1.0
*/

public interface IAttendanceStatisticsService extends MPJBaseService<AttendanceStatistics> {
    /**
    * 新增
    *
    */
    Boolean add(AddAttendanceStatisticsDto dto);

    /**
    * 更新
    *
    * @param attendanceStatistics
    * @return
    */
    Boolean update(AttendanceStatistics attendanceStatistics);

    /**
    * 删除
    *
    * @param ids
    * @return
    */
    Boolean delete(List<Long> ids);

    Page<AttendanceStatisticsPageVo> getPage(Page<AttendanceStatisticsPageVo> page, AttendanceStatisticsPageDto dto);

    List<AttendanceStatisticsRecordVo> getRecordList(AttendanceStatisticsRecordDto dto);

    Boolean refreshRecord(Long id);

    byte[] recordExport(Long id) throws IOException;
}
