134 lines
4.0 KiB
Java
134 lines
4.0 KiB
Java
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.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.taxrate.TaxAgent;
|
|
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;
|
|
|
|
/**
|
|
* 薪资档案
|
|
* <p>Copyright: Copyright (c) 2022</p>
|
|
* <p>Company: 泛微软件</p>
|
|
*
|
|
* @author qiantao
|
|
* @version 1.0
|
|
**/
|
|
public interface SalaryArchiveService {
|
|
|
|
/**
|
|
* 获取薪资档案单条主记录
|
|
*
|
|
* @param salaryArchiveId
|
|
* @return
|
|
*/
|
|
SalaryArchivePO getById(Long salaryArchiveId);
|
|
|
|
/**
|
|
* 薪资档案列表(分页)
|
|
*
|
|
* @param queryParam
|
|
* @return
|
|
*/
|
|
PageInfo<SalaryArchiveListDTO> listPage(SalaryArchiveQueryParam queryParam);
|
|
|
|
/**
|
|
* 构建薪资档案数据
|
|
*
|
|
* @param salaryArchives
|
|
* @param taxAgentLists
|
|
* @param salaryItems
|
|
* @param isPage
|
|
* @return
|
|
*/
|
|
List<Map<String, Object>> buildSalaryArchiveData(Collection<SalaryArchiveListDTO> salaryArchives, Collection<TaxAgent> taxAgentLists, List<SalaryItemPO> salaryItems, Boolean isPage);
|
|
|
|
/**
|
|
* 获取薪资档案对应的当前生效的薪资项目
|
|
*
|
|
* @param salaryArchivesIds
|
|
* @return
|
|
*/
|
|
List<SalaryArchiveItemPO> getCurrentEffectiveItemList(Collection<Long> salaryArchivesIds, Collection<Long> salaryItemIds);
|
|
|
|
/**
|
|
* 获取薪资档案对应的当前生效的个税扣缴义务人
|
|
*
|
|
* @param salaryArchivesIds
|
|
* @return
|
|
*/
|
|
List<SalaryArchiveTaxAgentPO> getCurrentEffectiveTaxAgentList(Collection<Long> salaryArchivesIds);
|
|
|
|
/**
|
|
* 导出薪资档案列表
|
|
*
|
|
* @param map
|
|
* @param username
|
|
* @param eteamsId
|
|
* @param queryParam
|
|
* @throws Exception
|
|
*/
|
|
void exportList(Map<String, Object> map, String username, String eteamsId, SalaryArchiveQueryParam queryParam);
|
|
|
|
/**
|
|
* 下载导入模板
|
|
*
|
|
* @param salaryArchiveImportTypeEnum
|
|
* @param queryParam
|
|
* @return
|
|
*/
|
|
XSSFWorkbook downloadTemplate(SalaryArchiveImportTypeEnum salaryArchiveImportTypeEnum, SalaryArchiveQueryParam queryParam);
|
|
|
|
/**
|
|
* 获取离职时段设置
|
|
*
|
|
*/
|
|
List<SalaryArchiveDimissionPO> dimissionSets();
|
|
|
|
/**
|
|
* 保存离职时段设置
|
|
*
|
|
* @param saveParam
|
|
* @return
|
|
*/
|
|
String saveDimissionSet(SalaryArchiveDimissionSaveParam saveParam);
|
|
|
|
/**
|
|
* 根据日期范围与人员id获取薪资档案-薪资项目数据
|
|
*
|
|
* @param localDateRange
|
|
* @param employeeIds 为空则返回所有人的
|
|
* @return
|
|
*/
|
|
List<SalaryArchiveDataDTO> getSalaryArchiveData(LocalDateRange localDateRange, Collection<Long> employeeIds);
|
|
|
|
/**
|
|
* 根据日期范围与人员id获取薪资档案-个税扣缴义务人数据
|
|
*
|
|
* @param localDateRange
|
|
* @param employeeIds 为空则返回所有人的
|
|
* @return
|
|
*/
|
|
List<SalaryArchiveDataDTO> getSalaryArchiveTaxAgentData(LocalDateRange localDateRange, Collection<Long> employeeIds);
|
|
|
|
void importSalaryArchive(SalaryArchiveImportHandleParam param);
|
|
|
|
Map<String, Object> preview(SalaryArchiveImportHandleParam param);
|
|
|
|
|
|
}
|