| | |
| | | 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; |
| | |
| | | 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 时查询全部 |
| | |
| | | */ |
| | | HrmEmployeeDO getEmployeeByUserId(Long userId); |
| | | |
| | | /** 根据员工姓名获取员工 */ |
| | | HrmEmployeeDO getEmployeeByName(String name); |
| | | |
| | | /** |
| | | * 按姓名模糊查询员工列表(列表页姓名搜索用) |
| | | * |
| | | * @param name 姓名关键字 |
| | | * @return 员工列表 |
| | | */ |
| | | List<HrmEmployeeDO> getEmployeeListByNameLike(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); |
| | | |
| | | } |