tuqin
3 天以前 abfe3ffe5f6d161f2a6466c8bdbcbc17de1e64b6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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;
  }
 
  /** 考勤统计查询参数(传了 startDate/endDate 则按日区间实时统计) */
  export interface SummaryPageParams extends PageParam {
    userId?: number;
    deptId?: number;
    yearMonth?: string;
    startDate?: string;
    endDate?: string;
  }
}
 
/** 查询考勤统计分页列表 */
export function getAttendanceSummaryPage(
  params: HrmAttendanceSummaryApi.SummaryPageParams,
) {
  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 });
}