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.*; 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); List listSome(SalaryArchivePO po); /** * 薪资档案列表(分页) * * @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 saveParam * @return */ String savePaySet(SalaryArchiveSetPaySaveParam saveParam); /** * 获取离职时段设置 */ List dimissionSets(); /** * 保存离职时段设置 * * @param saveParam * @return */ String saveDimissionSet(SalaryArchiveDimissionSaveParam saveParam); /** * 根据日期范围与人员id获取薪资档案-薪资项目数据 * * @param localDateRange * @param employeeIds 为空则返回所有人的 * @return */ List getSalaryArchiveData(LocalDateRange localDateRange, Collection employeeIds, Long taxAgentId); /** * 根据日期范围与人员id获取薪资档案-个税扣缴义务人数据 * * @param localDateRange * @param employeeIds 为空则返回所有人的 * @return */ List getSalaryArchiveTaxAgentData(LocalDateRange localDateRange, Collection employeeIds, Long taxAgentId); /** * 预览 * @param param * @return */ Map preview(SalaryArchiveImportHandleParam param); /** * 查询薪酬档案所有列名 * @return */ Map selectSalaryArchiveColumns(SalaryArchiveImportTypeEnum salaryArchiveImportTypeEnum); /** * 停薪 * @param stopSalaryParam */ void stopSalary(SalaryArchiveStopParam stopSalaryParam); /** * 获取各tab总人数 * * @return */ Map queryTabTotal(); /** * 删除待定薪待办 * * @param ids * @return */ String deletePendingTodo(Collection ids); /** * 设为定薪员工 * * @param ids * @return */ Map gotoFixed(Collection ids); /** * 一键全部定薪 * * @param queryParam * @return */ Map allGotoFixed(SalaryArchiveQueryParam queryParam); // /** // * 删除待定薪待办 // * // * @param ids // * @return // */ // String deletePendingTodo(Collection ids); /** * 停薪 * * @param ids * @return */ Map gotoStop(Collection ids); /** * 一键全部停薪 * * @param queryParam * @return */ Map allGotoStop(SalaryArchiveQueryParam queryParam); /** * 删除待停薪待办 * * @param ids * @return */ String deleteSuspendTodo(Collection ids); /** * 取消停薪 * * @param ids * @return */ String cancelStop(Collection ids); /** * 处理异常数据 */ Map handleRepeatData(); /** * 处理增量数据 * @param currentEmployeeId */ void handleChangeData(Long currentEmployeeId); }