weaver-hrm-salary/src/com/engine/salary/service/SalaryArchiveService.java

165 lines
4.9 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
/**
* 薪资档案
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
public interface SalaryArchiveService {
/**
* 获取薪资档案单条主记录
*
* @param salaryArchiveId
* @return
*/
SalaryArchivePO getById(Long salaryArchiveId);
List<SalaryArchivePO> listSome(SalaryArchivePO po);
/**
* 薪资档案列表(分页)
*
* @param queryParam
* @return
*/
PageInfo<SalaryArchiveListDTO> listPage(SalaryArchiveQueryParam queryParam);
List<SalaryArchiveListDTO> list(SalaryArchiveQueryParam queryParam);
/**
* 构建薪资档案数据
*
* @param salaryArchives
* @param taxAgentLists
* @param salaryItems
* @param isPage
* @return
*/
List<Map<String, Object>> buildSalaryArchiveData(Collection<SalaryArchiveListDTO> salaryArchives, Collection<TaxAgentPO> 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 queryParam
* @throws Exception
*/
XSSFWorkbook exportList(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);
/**
* 导入,数据入库
* @param param
* @return
*/
Map<String,Object> importSalaryArchive(SalaryArchiveImportHandleParam param);
/**
* 导入
* @param param
* @param ifImportData 数据是否入库
* @return
*/
Map<String,Object> importSalaryArchive(SalaryArchiveImportHandleParam param,boolean ifImportData);
/**
* 预览
* @param param
* @return
*/
Map<String, Object> preview(SalaryArchiveImportHandleParam param);
/**
* 查询薪酬档案所有列名
* @return
*/
Map<String, Object> selectSalaryArchiveColumns(SalaryArchiveImportTypeEnum salaryArchiveImportTypeEnum);
/**
* 导入薪资档案action使用
* @param importData
* @return
*/
Map<String, Object> importSalaryArchiveAction(SalaryArchiveImportActionParam importData, boolean ifImportData);
}