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

232 lines
5.8 KiB
Java
Raw Normal View History

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;
2022-09-07 09:45:37 +08:00
import com.engine.salary.entity.salaryarchive.param.*;
2022-03-28 20:04:27 +08:00
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);
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, Long taxAgentId);
2022-03-28 20:04:27 +08:00
/**
* 根据日期范围与人员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, Long taxAgentId);
2022-03-31 15:41:55 +08:00
/**
2022-07-21 10:51:38 +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
/**
* 预览
* @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-09-07 09:45:37 +08:00
/**
* 停薪
* @param stopSalaryParam
*/
void stopSalary(SalaryArchiveStopParam stopSalaryParam);
2022-10-10 14:58:29 +08:00
/**
* 获取各tab总人数
*
* @return
*/
Map<String, Long> queryTabTotal();
2022-10-13 14:57:52 +08:00
/**
* 设为定薪员工
*
* @param ids
* @return
*/
Map<String, Object> gotoFixed(Collection<Long> ids);
/**
* 一键全部定薪
*
* @param queryParam
* @return
*/
Map<String, Object> allGotoFixed(SalaryArchiveQueryParam queryParam);
// /**
// * 删除待定薪待办
// *
// * @param ids
// * @return
// */
// String deletePendingTodo(Collection<Long> ids);
/**
* 停薪
*
* @param ids
* @return
*/
Map<String, Object> gotoStop(Collection<Long> ids);
/**
* 一键全部停薪
*
* @param queryParam
* @return
*/
Map<String, Object> allGotoStop(SalaryArchiveQueryParam queryParam);
// /**
// * 删除待停薪待办
// *
// * @param ids
// * @return
// */
// String deleteSuspendTodo(Collection<Long> ids);
/**
* 取消停薪
*
* @param ids
* @return
*/
String cancelStop(Collection<Long> ids);
2022-03-28 20:04:27 +08:00
}