package com.engine.salary.service; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.hrm.DeptInfo; import com.engine.salary.entity.hrm.JobCallInfo; import com.engine.salary.entity.hrm.PositionInfo; import com.engine.salary.entity.hrm.SubCompanyInfo; import com.engine.salary.entity.hrm.dto.EmployeeInfoExpandDTO; import com.engine.salary.entity.salarysob.param.SalarySobRangeEmpQueryParam; import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum; import java.util.Collection; import java.util.Date; import java.util.List; import java.util.Map; /** * 人员信息 *

Copyright: Copyright (c) 2022

*

Company: 泛微软件

* * @author qiantao * @version 1.0 **/ public interface SalaryEmployeeService { /** * 获取租户下的所有人员 * * @return */ List listAll(UseEmployeeTypeEnum empType); /** * 获取报表人员字段 * * @return */ List listAllForReport(); /** * 根据薪资账套id查询人员 * * @param salarySobId 薪资账套id * @return */ List listBySalarySobId(Long salarySobId); /** * 获取人员信息 * * @param ids * @return 全量 */ List getEmployeeByIdsAll(List ids); List listByIds(List ids); /** * 获取人员信息 * * @param employeeId * @return 全量 */ DataCollectionEmployee getEmployeeById(Long employeeId); /** * 获取人员信息 * * @param simpleEmployeeIds * @return 简单 */ List getEmployeeByIds(List simpleEmployeeIds); /** * 获取人员信息 包括次账号 * * @param simpleEmployeeIds * @return 简单 */ List getEmployeeByIdsIncludeAccountType(List simpleEmployeeIds); /** * 获取当前登录人的信息 * @param employeeId * @return */ // DataCollectionEmployee getLoginEmployeeById(Long employeeId); /** * 筛选导入人员信息可以在人力资源池中匹配到的人员信息 * * @param confValue 校验方式 * @param employeeList 人力资源池 * @param userName 姓名 * @param deparmentName 部门 * @param mobile 手机号 * @param workcode 工号 * @param idNo 身份证号 * @param uid 人员id */ List matchImportEmployee(String confValue, List employeeList, String userName, String deparmentName, String mobile, String workcode, String idNo, Long uid); String empValidType(); List getDeptInfoList(List departmentIds); DeptInfo getDeptInfoById(Long departmentId); List getVirtualDeptInfoList(List virtualDepartmentIds); List getSubCompanyInfoList(List subDepartmentIds); SubCompanyInfo getSubCompanyInfoById(Long subDepartmentId); List getVirtualSubCompanyInfoList(List virtualSubDepartmentIds); List listPositionInfo(List positionIds); PositionInfo getPositionInfoById(Long positionId); List listEmployee(); List listByParams(List includeQueryParams); /** * 根据离职日期获取离职信息 * * @param formatDate */ Map getResignationMapByDate(String formatDate); /** * 扩展人员信息 * * @param ids * @param param * @return */ List expandEmployeeInfo(List ids, EmployeeInfoExpandDTO param); Map> expandEmployeeMap(List ids, EmployeeInfoExpandDTO param); /** * 保存扩展信息 * * @param param */ void saveEmployeeExpandFieldSettings(EmployeeInfoExpandDTO param); /** * 获取扩展信息 * * @param module * @return */ EmployeeInfoExpandDTO getExpandFieldSettings(String module); /** * 根据虚拟部门获取人员信息 * @param virtualDepartmentIds */ List getVirtualEmpByVirtualDepIds(List virtualDepartmentIds); /** * 根据虚拟分部获取人员信息 * @param virtualSubCompanyIds */ List getVirtualEmpByVirtualSubCompanyIds(List virtualSubCompanyIds); /** * 根据部门或者分部查询人员 * @param subCompanyIds * @param departmentIds * @return */ List listBySubCompanyOrDepartment(List subCompanyIds, List departmentIds); /** * 根据人员id查询身份证 * * @param employeeIds * @return */ Map mapByEmployeeIds(Collection employeeIds); /** * 根据姓名工号模糊查看 * @param keyword * @return */ List listByKeyword(String keyword); /** * 根据职称id获取职称信息 * @param jobCallId * @return */ JobCallInfo getJobCallInfoById(Long jobCallId); List snapshot(List employeeIds, Date snapshotTime); }