package cn.iocoder.yudao.module.hrm.service.attendance; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceSummaryPageReqVO; import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceSummaryDO; import jakarta.validation.Valid; import java.util.List; /** * 考勤统计汇总 Service 接口 * * @author 芋道源码 */ public interface HrmAttendanceSummaryService { /** * 生成员工月度考勤汇总 * * @param userId 员工ID * @param yearMonth 年月,格式:yyyy-MM */ void generateMonthlySummary(Long userId, String yearMonth); /** * 批量生成部门月度汇总 * * @param deptId 部门ID * @param yearMonth 年月 */ void generateDeptMonthlySummary(Long deptId, String yearMonth); /** * 批量生成全公司月度汇总 * * @param yearMonth 年月 */ void generateAllMonthlySummary(String yearMonth); /** * 获得考勤统计汇总分页 * * @param pageReqVO 分页查询参数 * @return 考勤统计汇总分页 */ PageResult getAttendanceSummaryPage(HrmAttendanceSummaryPageReqVO pageReqVO); /** * 获得员工月度汇总 * * @param userId 员工ID * @param yearMonth 年月 * @return 考勤统计汇总 */ HrmAttendanceSummaryDO getMonthlySummary(Long userId, String yearMonth); /** * 获得部门月度汇总列表 * * @param deptId 部门ID * @param yearMonth 年月 * @return 考勤统计汇总列表 */ List getDeptMonthlySummaryList(Long deptId, String yearMonth); }