2026-07-09 d41fe2e95f3f64c6e3a7229acd9e74e673513a0a
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
package cn.iocoder.yudao.module.hrm.service.salary;
 
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.hrm.controller.admin.salary.vo.HrmSalaryCalculationPageReqVO;
import cn.iocoder.yudao.module.hrm.dal.dataobject.salary.HrmSalaryCalculationDO;
 
import java.util.List;
 
/**
 * 薪酬核算 Service 接口
 *
 * @author 芋道源码
 */
public interface HrmSalaryCalculationService {
 
    /**
     * 获得薪酬核算分页
     */
    PageResult<HrmSalaryCalculationDO> getSalaryCalculationPage(HrmSalaryCalculationPageReqVO pageReqVO);
 
    /**
     * 获得薪酬核算
     */
    HrmSalaryCalculationDO getSalaryCalculation(Long id);
 
    /**
     * 执行薪酬核算(按周期)
     *
     * @param period 核算周期,格式如 2024-01
     */
    void calculateSalary(String period);
 
    /**
     * 执行薪酬核算(按周期和部门)
     *
     * @param period 核算周期,格式如 2024-01
     * @param deptId 部门ID,为空则核算所有部门
     */
    void calculateSalary(String period, Long deptId);
 
    /**
     * 批量确认薪酬核算
     *
     * @param ids 核算ID列表
     */
    void confirmSalaryCalculation(List<Long> ids);
 
    /**
     * 撤销薪酬核算确认
     * 将已确认的核算记录状态恢复为待确认,同时删除关联的发放明细
     *
     * @param ids 核算ID列表
     */
    void revokeSalaryCalculation(List<Long> ids);
 
    /**
     * 删除薪酬核算记录(仅待确认状态可删除)
     *
     * @param id 核算ID
     */
    void deleteSalaryCalculation(Long id);
 
    /**
     * 获得指定周期的薪酬核算列表
     */
    List<HrmSalaryCalculationDO> getSalaryCalculationListByPeriod(String period);
 
    /**
     * 预览部门下所有员工的薪资核算信息(已计算好的)
     *
     * @param period 核算周期,格式如 2024-01
     * @param deptId 部门ID
     * @return 薪酬核算列表
     */
    List<HrmSalaryCalculationDO> previewSalaryCalculation(String period, Long deptId);
 
    /**
     * 批量保存薪酬核算记录
     *
     * @param calculationList 薪酬核算列表
     */
    void saveSalaryCalculationList(List<HrmSalaryCalculationDO> calculationList);
 
}