package com.ruoyi.info.collection.service;

import com.ruoyi.info.collection.domain.excel.CcdiBaseStaffExcel;
import com.ruoyi.info.collection.domain.vo.ImportFailureVO;
import com.ruoyi.info.collection.domain.vo.ImportStatusVO;

import java.util.List;
import java.util.Set;

/**
 * @Author: wkc
 * @CreateTime: 2026-02-06
 */
public interface ICcdiBaseStaffImportService {

    /**
     * 异步导入员工数据
     *
     * @param excelList Excel数据列表
     */
    void importBaseStaffAsync(List<CcdiBaseStaffExcel> excelList, String taskId);

    /**
     * 同步执行员工导入并返回本轮成功员工身份证号
     *
     * @param excelList Excel数据列表
     * @param taskId    任务ID
     * @return 成功导入的身份证号集合
     */
    Set<String> importBaseStaffSync(List<CcdiBaseStaffExcel> excelList, String taskId);

    /**
     * 查询导入状态
     *
     * @param taskId 任务ID
     * @return 导入状态信息
     */
    ImportStatusVO getImportStatus(String taskId);

    /**
     * 获取导入失败记录
     *
     * @param taskId 任务ID
     * @return 失败记录列表
     */
    List<ImportFailureVO> getImportFailures(String taskId);
}
