tuqin
6 小时以前 89071e0c09188d75c3d537f82204ae19713ac7fe
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
package cn.iocoder.yudao.module.hrm.service.employee;
 
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeeImportExcelVO;
import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeeImportReqVO;
import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeeImportRespVO;
import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeePageReqVO;
import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeeRespVO;
import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeeSaveReqVO;
import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeeSimpleRespVO;
import cn.iocoder.yudao.module.hrm.dal.dataobject.employee.HrmEmployeeDO;
import jakarta.validation.Valid;
 
import java.util.Collection;
import java.util.List;
 
/**
 * 员工信息 Service 接口
 *
 * @author 超级管理员
 */
public interface HrmEmployeeService {
 
    /**
     * 创建员工
     *
     * @param createReqVO 创建信息
     * @return 员工ID
     */
    Long createEmployee(@Valid HrmEmployeeSaveReqVO createReqVO);
 
    /**
     * 更新员工
     *
     * @param updateReqVO 更新信息
     */
    void updateEmployee(@Valid HrmEmployeeSaveReqVO updateReqVO);
 
    /**
     * 删除员工
     *
     * @param id 员工ID
     */
    void deleteEmployee(Long id);
 
    /**
     * 获得员工
     *
     * @param id 员工ID
     * @return 员工
     */
    HrmEmployeeDO getEmployee(Long id);
 
    /**
     * 获得员工详情(含部门名称、岗位名称)
     *
     * @param id 员工ID
     * @return 员工详情
     */
    HrmEmployeeRespVO getEmployeeDetail(Long id);
 
    /**
     * 校验员工是否存在
     *
     * @param id 员工ID
     * @return 员工
     */
    HrmEmployeeDO validateEmployee(Long id);
 
    /**
     * 获得员工分页
     *
     * @param pageReqVO 分页查询
     * @return 员工分页
     */
    PageResult<HrmEmployeeDO> getEmployeePage(HrmEmployeePageReqVO pageReqVO);
 
    /**
     * 获得员工列表
     *
     * @param ids 员工ID列表
     * @return 员工列表
     */
    List<HrmEmployeeDO> getEmployeeList(Collection<Long> ids);
 
    /**
     * 获得指定状态的员工简单列表
     *
     * @param employeeStatus 员工状态,为 null 时查询全部
     * @return 员工简单列表
     */
    List<HrmEmployeeSimpleRespVO> getEmployeeSimpleList(Integer employeeStatus);
 
    /**
     * 根据系统用户ID获取员工
     *
     * @param userId 系统用户ID
     * @return 员工
     */
    HrmEmployeeDO getEmployeeByUserId(Long userId);
 
    /** 根据员工姓名获取员工 */
    HrmEmployeeDO getEmployeeByName(String name);
 
    /** 根据员工姓名获取所有同名员工 */
    List<HrmEmployeeDO> getEmployeeListByName(String name);
 
    /**
     * 导入员工列表
     *
     * @param importEmployees 员工导入列表
     * @param importReqVO 导入请求
     * @return 导入结果
     */
    HrmEmployeeImportRespVO importEmployeeList(List<HrmEmployeeImportExcelVO> importEmployees,
                                               HrmEmployeeImportReqVO importReqVO);
 
    /**
     * 员工转正:仅「劳动合同」可转正(劳务合同不可),状态 试用 -> 在职,记录转正日期
     *
     * @param id 员工ID
     */
    void regularizeEmployee(Long id);
 
    /**
     * 获得待转正提醒列表:试用中、且当前为劳动合同、试用期在 days 天内到期的员工
     *
     * @param days 提前天数
     * @return 员工列表
     */
    List<HrmEmployeeDO> getRegularizeReminderList(Integer days);
 
}