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.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 getEmployeePage(HrmEmployeePageReqVO pageReqVO); /** * 获得员工列表 * * @param ids 员工ID列表 * @return 员工列表 */ List getEmployeeList(Collection ids); /** * 获得指定状态的员工简单列表 * * @param employeeStatus 员工状态,为 null 时查询全部 * @return 员工简单列表 */ List getEmployeeSimpleList(Integer employeeStatus); /** * 根据系统用户ID获取员工 * * @param userId 系统用户ID * @return 员工 */ HrmEmployeeDO getEmployeeByUserId(Long userId); }