tuqin
2 天以前 cf73c2f9b9e0046cbefd16ffcd97c1baf4b13cb4
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
import type { PageParam, PageResult } from '#/packages/effects/request/src';
 
import { requestClient } from '#/api/request';
 
export namespace HrmSalaryCalculationApi {
  /** 薪酬核算 */
  export interface SalaryCalculation {
    id?: number;
    no?: string;
    period?: string;
    userId?: number;
    userName?: string;
    deptId?: number;
    deptName?: string;
    baseSalary?: number;
    performanceSalary?: number;
    /** 岗位工资 */
    postSalary?: number;
    /** 工龄工资 */
    senioritySalary?: number;
    overtimePay?: number;
    mealAllowance?: number;
    transportAllowance?: number;
    otherAllowance?: number;
    /** 全勤奖 */
    fullAttendanceBonus?: number;
    /** 实出天数(取自考勤汇总) */
    actualDays?: number;
    socialSecurityDeduction?: number;
    housingFundDeduction?: number;
    taxDeduction?: number;
    otherDeduction?: number;
    leaveDeduction?: number;
    actualSalary?: number;
    workDays?: number;
    overtimeHours?: number;
    /** 排班总工时(小时) */
    totalWorkHours?: number;
    status?: number;
    statusName?: string;
    remark?: string;
    createTime?: string;
  }
 
  /** 薪酬核算查询参数 */
  export interface SalaryCalculationPageParam extends PageParam {
    period?: string;
    userId?: number;
    deptId?: number;
    status?: number;
  }
 
  /** 薪酬核算预览参数 */
  export interface SalaryPreviewParam {
    period: string;
    deptId?: number;
  }
 
  /** 薪酬核算保存参数 */
  export interface SalarySaveParam {
    period: string;
    list: SalaryCalculation[];
  }
 
  /** 薪酬核算执行参数 */
  export interface SalaryCalculateParam {
    period: string;
    deptId?: number;
  }
}
 
/** 查询薪酬核算分页列表 */
export function getSalaryCalculationPage(
  params: HrmSalaryCalculationApi.SalaryCalculationPageParam,
) {
  return requestClient.get<PageResult<HrmSalaryCalculationApi.SalaryCalculation>>(
    '/hrm/salary/calculation/page',
    { params },
  );
}
 
/** 查询薪酬核算详情 */
export function getSalaryCalculation(id: number) {
  return requestClient.get<HrmSalaryCalculationApi.SalaryCalculation>(
    `/hrm/salary/calculation/get?id=${id}`,
  );
}
 
/** 执行薪酬核算(自动计算) */
export function calculateSalary(params: HrmSalaryCalculationApi.SalaryCalculateParam) {
  return requestClient.post('/hrm/salary/calculation/calculate', null, { params });
}
 
/** 预览薪酬核算数据(根据周期和部门获取员工工资明细) */
export function previewSalaryCalculation(params: HrmSalaryCalculationApi.SalaryPreviewParam) {
  return requestClient.get<HrmSalaryCalculationApi.SalaryCalculation[]>(
    '/hrm/salary/calculation/preview',
    { params },
  );
}
 
/** 批量保存薪酬核算记录 */
export function saveSalaryCalculation(data: HrmSalaryCalculationApi.SalarySaveParam) {
  return requestClient.post('/hrm/salary/calculation/save', data);
}
 
/** 更新薪酬核算记录 */
export function updateSalaryCalculation(data: HrmSalaryCalculationApi.SalaryCalculation) {
  return requestClient.put('/hrm/salary/calculation/update', data);
}
 
/** 确认薪酬核算 */
export function confirmSalary(ids: number[]) {
  return requestClient.post('/hrm/salary/calculation/confirm', { ids });
}
 
/** 撤销薪酬核算确认 */
export function revokeSalaryCalculation(ids: number[]) {
  return requestClient.post('/hrm/salary/calculation/revoke', { ids });
}
 
/** 删除薪酬核算记录 */
export function deleteSalaryCalculation(id: number) {
  return requestClient.delete(`/hrm/salary/calculation/delete?id=${id}`);
}
 
/** 批量删除薪酬核算记录(不限制状态,勾选即删) */
export function deleteSalaryCalculationBatch(ids: number[]) {
  return requestClient.delete<number>(
    `/hrm/salary/calculation/delete-batch?ids=${ids.join(',')}`,
  );
}
 
/** 导出薪酬核算表 */
export function exportSalaryCalculation(params: any) {
  return requestClient.download('/hrm/salary/calculation/export-excel', { params });
}