2022-03-28 20:04:27 +08:00
|
|
|
|
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;
|
2022-07-21 09:48:40 +08:00
|
|
|
|
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportActionParam;
|
2022-03-31 15:41:55 +08:00
|
|
|
|
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportHandleParam;
|
2022-03-28 20:04:27 +08:00
|
|
|
|
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;
|
2022-05-31 16:41:11 +08:00
|
|
|
|
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
2022-03-28 20:04:27 +08:00
|
|
|
|
import com.engine.salary.enums.salaryarchive.SalaryArchiveImportTypeEnum;
|
|
|
|
|
|
import com.engine.salary.util.page.PageInfo;
|
2022-03-29 17:10:59 +08:00
|
|
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
2022-03-28 20:04:27 +08:00
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
|
2022-07-28 15:42:25 +08:00
|
|
|
|
List<SalaryArchivePO> listSome(SalaryArchivePO po);
|
|
|
|
|
|
|
2022-03-28 20:04:27 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 薪资档案列表(分页)
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param queryParam
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
PageInfo<SalaryArchiveListDTO> listPage(SalaryArchiveQueryParam queryParam);
|
|
|
|
|
|
|
2022-06-01 20:46:51 +08:00
|
|
|
|
List<SalaryArchiveListDTO> list(SalaryArchiveQueryParam queryParam);
|
|
|
|
|
|
|
2022-03-28 20:04:27 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 构建薪资档案数据
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param salaryArchives
|
|
|
|
|
|
* @param taxAgentLists
|
|
|
|
|
|
* @param salaryItems
|
|
|
|
|
|
* @param isPage
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
2022-05-31 16:41:11 +08:00
|
|
|
|
List<Map<String, Object>> buildSalaryArchiveData(Collection<SalaryArchiveListDTO> salaryArchives, Collection<TaxAgentPO> taxAgentLists, List<SalaryItemPO> salaryItems, Boolean isPage);
|
2022-03-28 20:04:27 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取薪资档案对应的当前生效的薪资项目
|
|
|
|
|
|
*
|
|
|
|
|
|
* @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
|
|
|
|
|
|
*/
|
2022-03-31 18:41:41 +08:00
|
|
|
|
XSSFWorkbook exportList(SalaryArchiveQueryParam queryParam);
|
2022-03-28 20:04:27 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 下载导入模板
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param salaryArchiveImportTypeEnum
|
|
|
|
|
|
* @param queryParam
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
2022-03-29 17:10:59 +08:00
|
|
|
|
XSSFWorkbook downloadTemplate(SalaryArchiveImportTypeEnum salaryArchiveImportTypeEnum, SalaryArchiveQueryParam queryParam);
|
2022-03-28 20:04:27 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取离职时段设置
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<SalaryArchiveDimissionPO> dimissionSets();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 保存离职时段设置
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param saveParam
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
String saveDimissionSet(SalaryArchiveDimissionSaveParam saveParam);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 根据日期范围与人员id获取薪资档案-薪资项目数据
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param localDateRange
|
2022-03-31 18:41:41 +08:00
|
|
|
|
* @param employeeIds 为空则返回所有人的
|
2022-03-28 20:04:27 +08:00
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<SalaryArchiveDataDTO> getSalaryArchiveData(LocalDateRange localDateRange, Collection<Long> employeeIds);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 根据日期范围与人员id获取薪资档案-个税扣缴义务人数据
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param localDateRange
|
2022-03-31 18:41:41 +08:00
|
|
|
|
* @param employeeIds 为空则返回所有人的
|
2022-03-28 20:04:27 +08:00
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<SalaryArchiveDataDTO> getSalaryArchiveTaxAgentData(LocalDateRange localDateRange, Collection<Long> employeeIds);
|
2022-03-31 15:41:55 +08:00
|
|
|
|
|
2022-07-18 18:08:59 +08:00
|
|
|
|
/**
|
2022-07-21 10:51:38 +08:00
|
|
|
|
* 导入,数据入库
|
2022-07-18 18:08:59 +08:00
|
|
|
|
* @param param
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
2022-04-19 15:13:08 +08:00
|
|
|
|
Map<String,Object> importSalaryArchive(SalaryArchiveImportHandleParam param);
|
2022-03-31 15:41:55 +08:00
|
|
|
|
|
2022-07-21 10:51:38 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 导入
|
|
|
|
|
|
* @param param
|
|
|
|
|
|
* @param ifImportData 数据是否入库
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
2022-07-21 09:48:40 +08:00
|
|
|
|
Map<String,Object> importSalaryArchive(SalaryArchiveImportHandleParam param,boolean ifImportData);
|
2022-07-21 10:51:38 +08:00
|
|
|
|
|
2022-07-18 18:08:59 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 预览
|
|
|
|
|
|
* @param param
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
2022-03-31 15:41:55 +08:00
|
|
|
|
Map<String, Object> preview(SalaryArchiveImportHandleParam param);
|
|
|
|
|
|
|
2022-07-13 18:59:30 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 查询薪酬档案所有列名
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
Map<String, Object> selectSalaryArchiveColumns(SalaryArchiveImportTypeEnum salaryArchiveImportTypeEnum);
|
|
|
|
|
|
|
2022-03-31 15:41:55 +08:00
|
|
|
|
|
2022-07-13 18:59:30 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 导入薪资档案(action使用)
|
|
|
|
|
|
* @param importData
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
Map<String, Object> importSalaryArchiveAction(SalaryArchiveImportActionParam importData, boolean ifImportData);
|
2022-03-28 20:04:27 +08:00
|
|
|
|
}
|