package com.ruoyi.ccdi.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.ccdi.domain.dto.CcdiEmployeeAddDTO; import com.ruoyi.ccdi.domain.dto.CcdiEmployeeEditDTO; import com.ruoyi.ccdi.domain.dto.CcdiEmployeeQueryDTO; import com.ruoyi.ccdi.domain.excel.CcdiEmployeeExcel; import com.ruoyi.ccdi.domain.vo.CcdiEmployeeVO; import com.ruoyi.ccdi.domain.vo.ImportFailureVO; import com.ruoyi.ccdi.domain.vo.ImportResultVO; import com.ruoyi.ccdi.domain.vo.ImportStatusVO; import java.util.List; /** * 员工信息 服务层 * * @author ruoyi * @date 2026-01-28 */ public interface ICcdiEmployeeService { /** * 查询员工列表 * * @param queryDTO 查询条件 * @return 员工VO集合 */ List selectEmployeeList(CcdiEmployeeQueryDTO queryDTO); /** * 分页查询员工列表 * * @param page 分页对象 * @param queryDTO 查询条件 * @return 员工VO分页结果 */ Page selectEmployeePage(Page page, CcdiEmployeeQueryDTO queryDTO); /** * 查询员工列表(用于导出) * * @param queryDTO 查询条件 * @return 员工Excel实体集合 */ List selectEmployeeListForExport(CcdiEmployeeQueryDTO queryDTO); /** * 查询员工详情 * * @param employeeId 员工ID * @return 员工VO */ CcdiEmployeeVO selectEmployeeById(Long employeeId); /** * 新增员工 * * @param addDTO 新增DTO * @return 结果 */ int insertEmployee(CcdiEmployeeAddDTO addDTO); /** * 修改员工 * * @param editDTO 编辑DTO * @return 结果 */ int updateEmployee(CcdiEmployeeEditDTO editDTO); /** * 批量删除员工 * * @param employeeIds 需要删除的员工ID * @return 结果 */ int deleteEmployeeByIds(Long[] employeeIds); /** * 导入员工数据 * * @param excelList Excel实体列表 * @param isUpdateSupport 是否更新支持 * @return 结果 */ String importEmployee(List excelList, Boolean isUpdateSupport); /** * 异步导入员工数据 * * @param excelList Excel数据列表 * @param isUpdateSupport 是否更新已存在的数据 * @return 任务ID */ String importEmployeeAsync(List excelList, Boolean isUpdateSupport); /** * 查询导入状态 * * @param taskId 任务ID * @return 导入状态信息 */ ImportStatusVO getImportStatus(String taskId); /** * 获取导入失败记录 * * @param taskId 任务ID * @return 失败记录列表 */ List getImportFailures(String taskId); }