tuqin
2 天以前 1d372d5e4916eaecf9b773e52e0d887d4fd0e47a
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeService.java
@@ -84,6 +84,34 @@
    List<HrmEmployeeDO> getEmployeeList(Collection<Long> ids);
    /**
     * 获得指定状态的员工列表(返回 DO)
     *
     * <p>注意:不能把 null 传给 {@link #getEmployeeList(Collection)},
     * MyBatis-Plus 的 selectByIds(null) 会抛 "The expression 'coll' evaluated to a null value"。
     *
     * @param employeeStatus 员工状态,为 null 时查询全部
     * @return 员工列表
     */
    List<HrmEmployeeDO> getEmployeeListByStatus(Integer employeeStatus);
    /**
     * 调岗生效:把员工档案的部门/岗位同步为目标部门/目标岗位
     *
     * @param employeeId    员工编号(hrm_employee.id)
     * @param targetDeptId  目标部门编号,为 null 时不改
     * @param targetPostId  目标岗位编号,为 null 时不改
     */
    void syncEmployeeTransfer(Long employeeId, Long targetDeptId, Long targetPostId);
    /**
     * 离职生效:把员工档案状态置为「离职」
     *
     * @param systemUserId 系统用户编号(hrm_employee.user_id,即 system_users.id)
     * @param leaveDate    离职日期,为 null 时取当天
     */
    void syncEmployeeResignation(Long systemUserId, java.time.LocalDate leaveDate);
    /**
     * 获得指定状态的员工简单列表
     *
     * @param employeeStatus 员工状态,为 null 时查询全部
@@ -99,6 +127,12 @@
     */
    HrmEmployeeDO getEmployeeByUserId(Long userId);
    /** 根据员工姓名获取员工 */
    HrmEmployeeDO getEmployeeByName(String name);
    /** 根据员工姓名获取所有同名员工 */
    List<HrmEmployeeDO> getEmployeeListByName(String name);
    /**
     * 导入员工列表
     *
@@ -109,4 +143,19 @@
    HrmEmployeeImportRespVO importEmployeeList(List<HrmEmployeeImportExcelVO> importEmployees,
                                               HrmEmployeeImportReqVO importReqVO);
    /**
     * 员工转正:仅「劳动合同」可转正(劳务合同不可),状态 试用 -> 在职,记录转正日期
     *
     * @param id 员工ID
     */
    void regularizeEmployee(Long id);
    /**
     * 获得待转正提醒列表:试用中、且当前为劳动合同、试用期在 days 天内到期的员工
     *
     * @param days 提前天数
     * @return 员工列表
     */
    List<HrmEmployeeDO> getRegularizeReminderList(Integer days);
}