package com.engine.salary.service; import com.engine.salary.common.LocalDateRange; import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveDataDTO; import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO; import com.engine.salary.entity.salaryarchive.param.SalaryArchiveDimissionSaveParam; import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportActionParam; import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportHandleParam; import com.engine.salary.entity.salaryarchive.param.SalaryArchiveQueryParam; import com.engine.salary.entity.salaryarchive.po.SalaryArchiveDimissionPO; import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO; import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO; import com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.salaryarchive.SalaryArchiveImportTypeEnum; import com.engine.salary.util.page.PageInfo; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.util.Collection; import java.util.List; import java.util.Map; /** * 薪资档案 *

Copyright: Copyright (c) 2022

*

Company: 泛微软件

* * @author qiantao * @version 1.0 **/ public interface SalaryArchiveService { /** * 获取薪资档案单条主记录 * * @param salaryArchiveId * @return */ SalaryArchivePO getById(Long salaryArchiveId); /** * 薪资档案列表(分页) * * @param queryParam * @return */ PageInfo listPage(SalaryArchiveQueryParam queryParam); List list(SalaryArchiveQueryParam queryParam); /** * 构建薪资档案数据 * * @param salaryArchives * @param taxAgentLists * @param salaryItems * @param isPage * @return */ List> buildSalaryArchiveData(Collection salaryArchives, Collection taxAgentLists, List salaryItems, Boolean isPage); /** * 获取薪资档案对应的当前生效的薪资项目 * * @param salaryArchivesIds * @return */ List getCurrentEffectiveItemList(Collection salaryArchivesIds, Collection salaryItemIds); /** * 获取薪资档案对应的当前生效的个税扣缴义务人 * * @param salaryArchivesIds * @return */ List getCurrentEffectiveTaxAgentList(Collection salaryArchivesIds); /** * 导出薪资档案列表 * * @param queryParam * @throws Exception */ XSSFWorkbook exportList(SalaryArchiveQueryParam queryParam); /** * 下载导入模板 * * @param salaryArchiveImportTypeEnum * @param queryParam * @return */ XSSFWorkbook downloadTemplate(SalaryArchiveImportTypeEnum salaryArchiveImportTypeEnum, SalaryArchiveQueryParam queryParam); /** * 获取离职时段设置 */ List dimissionSets(); /** * 保存离职时段设置 * * @param saveParam * @return */ String saveDimissionSet(SalaryArchiveDimissionSaveParam saveParam); /** * 根据日期范围与人员id获取薪资档案-薪资项目数据 * * @param localDateRange * @param employeeIds 为空则返回所有人的 * @return */ List getSalaryArchiveData(LocalDateRange localDateRange, Collection employeeIds); /** * 根据日期范围与人员id获取薪资档案-个税扣缴义务人数据 * * @param localDateRange * @param employeeIds 为空则返回所有人的 * @return */ List getSalaryArchiveTaxAgentData(LocalDateRange localDateRange, Collection employeeIds); /** * 导入,数据入库 * @param param * @return */ Map importSalaryArchive(SalaryArchiveImportHandleParam param); /** * 导入 * @param param * @param ifImportData 数据是否入库 * @return */ Map importSalaryArchive(SalaryArchiveImportHandleParam param,boolean ifImportData); /** * 预览 * @param param * @return */ Map preview(SalaryArchiveImportHandleParam param); /** * 查询薪酬档案所有列名 * @return */ Map selectSalaryArchiveColumns(SalaryArchiveImportTypeEnum salaryArchiveImportTypeEnum); /** * 导入薪资档案(action使用) * @param importData * @return */ Map importSalaryArchiveAction(SalaryArchiveImportActionParam importData, boolean ifImportData); }