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);
|
|
|
|
|
|
|
2023-03-13 16:04:19 +08:00
|
|
|
|
List<SalaryArchiveListDTO> getSalaryArchiveList (SalaryArchiveQueryParam queryParam);
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
2022-10-14 16:18:55 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 保存发薪设置
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param saveParam
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
String savePaySet(SalaryArchiveSetPaySaveParam saveParam);
|
|
|
|
|
|
|
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
|
|
|
|
|
|
*/
|
2022-08-09 16:45:22 +08:00
|
|
|
|
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
|
|
|
|
|
|
*/
|
2022-08-09 16:45:22 +08:00
|
|
|
|
List<SalaryArchiveDataDTO> getSalaryArchiveTaxAgentData(LocalDateRange localDateRange, Collection<Long> employeeIds, Long taxAgentId);
|
2022-03-31 15:41:55 +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-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
|
|
|
|
|
2022-10-18 16:44:31 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 删除待定薪待办
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param ids
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
String deletePendingTodo(Collection<Long> ids);
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
|
2022-10-18 16:44:31 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 删除待停薪待办
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param ids
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
String deleteSuspendTodo(Collection<Long> ids);
|
2022-10-13 14:57:52 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 取消停薪
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param ids
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
String cancelStop(Collection<Long> ids);
|
|
|
|
|
|
|
2022-10-18 16:44:31 +08:00
|
|
|
|
|
2022-11-07 17:05:50 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 处理异常数据
|
|
|
|
|
|
*/
|
|
|
|
|
|
Map<String, Object> handleRepeatData();
|
2022-12-07 20:15:52 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 处理增量数据
|
|
|
|
|
|
* @param currentEmployeeId
|
|
|
|
|
|
*/
|
|
|
|
|
|
void handleChangeData(Long currentEmployeeId);
|
2023-06-29 10:35:55 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 删除薪资档案
|
|
|
|
|
|
* @param salaryArchiveIds
|
|
|
|
|
|
*/
|
|
|
|
|
|
void deleteSalaryArchive(Collection<Long> salaryArchiveIds);
|
2023-08-30 10:41:00 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 根据人员id查询薪资档案
|
|
|
|
|
|
* @param employeeIds
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<SalaryArchivePO> listPayEndDateIsNull(List<Long> employeeIds);
|
2023-12-05 15:08:37 +08:00
|
|
|
|
|
|
|
|
|
|
List<SalaryArchivePO> listByRunStatus(List<String> asList);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 同步所有档案起始发薪日期变为入职日期
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
String syncPayStartDate();
|
|
|
|
|
|
|
2024-03-14 14:05:36 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 根据列表状态获取起始发薪日期为空的薪资档案
|
|
|
|
|
|
* @param runStatus
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<SalaryArchivePO> listPayStartDateIsNull(String runStatus);
|
2022-03-28 20:04:27 +08:00
|
|
|
|
}
|