import type { PageParam, PageResult } from '#/packages/effects/request/src';

import { requestClient } from '#/api/request';

export namespace HrmWorkHourSummaryApi {
  /** 月度工时汇总 */
  export interface WorkHourSummary {
    id?: number;
    employeeId?: number; // 员工ID
    employeeNo?: string; // 员工编号
    employeeName?: string; // 员工姓名
    deptId?: number; // 部门ID
    deptName?: string; // 部门名称
    period?: string; // 核算周期（yyyy-MM）
    workDays?: number; // 出勤天数
    workHours?: number; // 正常工时（小时）
    overtimeHours?: number; // 加班工时（小时）
    remark?: string; // 备注
    createTime?: string;
  }
}

/** 生成月度工时汇总 */
export function generateWorkHourSummary(period: string) {
  return requestClient.post('/hrm/work-hour-summary/generate-monthly', null, {
    params: { period },
  });
}

/** 获取月度工时汇总分页 */
export function getWorkHourSummaryPage(params: PageParam) {
  return requestClient.get<PageResult<HrmWorkHourSummaryApi.WorkHourSummary>>(
    '/hrm/work-hour-summary/page',
    { params },
  );
}