import type { PageParam, PageResult } from '#/packages/effects/request/src';
|
|
import { requestClient } from '#/api/request';
|
|
export namespace HrmAttendanceSummaryApi {
|
/** 考勤统计 */
|
export interface AttendanceSummary {
|
id?: number;
|
userId?: number;
|
userName?: string;
|
deptId?: number;
|
deptName?: string;
|
yearMonth?: string;
|
workDays?: number;
|
actualDays?: number;
|
lateCount?: number;
|
earlyCount?: number;
|
absentCount?: number;
|
overtimeHours?: number;
|
leaveHours?: number;
|
remark?: string;
|
createTime?: string;
|
}
|
|
/** 生成统计参数 */
|
export interface GenerateParams {
|
yearMonth: string;
|
deptId?: number;
|
userId?: number;
|
}
|
}
|
|
/** 查询考勤统计分页列表 */
|
export function getAttendanceSummaryPage(params: PageParam) {
|
return requestClient.get<PageResult<HrmAttendanceSummaryApi.AttendanceSummary>>(
|
'/hrm/attendance/summary/page',
|
{ params },
|
);
|
}
|
|
/** 查询员工月度汇总 */
|
export function getAttendanceSummary(params: { userId: number; yearMonth: string }) {
|
return requestClient.get<HrmAttendanceSummaryApi.AttendanceSummary>(
|
'/hrm/attendance/summary/get',
|
{ params },
|
);
|
}
|
|
/** 生成月度考勤汇总 */
|
export function generateAttendanceSummary(params: HrmAttendanceSummaryApi.GenerateParams) {
|
return requestClient.post('/hrm/attendance/summary/generate', null, { params });
|
}
|
|
/** 导出考勤统计 Excel */
|
export function exportAttendanceSummary(params: any) {
|
return requestClient.download('/hrm/attendance/summary/export-excel', { params });
|
}
|