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

177 lines
5.0 KiB
Java
Raw Normal View History

2022-03-28 20:04:27 +08:00
package com.engine.salary.service;
2024-11-08 16:08:49 +08:00
import com.engine.salary.common.LocalDateRange;
2024-08-08 09:50:04 +08:00
import com.engine.salary.entity.salaryarchive.config.ArchiveFieldConfig;
2022-03-28 20:04:27 +08:00
import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO;
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveItemSaveParam;
import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustBeforeParam;
import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustRecordQueryParam;
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
2024-08-16 11:18:27 +08:00
import com.engine.salary.sys.entity.vo.UploadConfigResponse;
2022-04-01 18:25:24 +08:00
import com.engine.salary.util.page.PageInfo;
2022-04-02 15:34:27 +08:00
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
2022-03-28 20:04:27 +08:00
2022-10-13 14:57:52 +08:00
import java.util.Collection;
2022-03-28 20:04:27 +08:00
import java.util.List;
2022-10-26 13:46:36 +08:00
import java.util.Map;
2022-03-28 20:04:27 +08:00
/**
* 薪资档案-薪资项目
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
public interface SalaryArchiveItemService {
/**
* 获取单个薪资档案项目调整记录
*
* @param salaryArchiveItemId
* @return
*/
SalaryArchiveItemPO getById(Long salaryArchiveItemId);
/**
* 获取可以调整的薪资项目
*/
List<SalaryItemPO> getCanAdjustSalaryItems();
/**
* 获取薪资项目调整前的值
*
* @param adjustBeforeParam
*/
String getSalaryItemAdjustBeforeValue(SalaryItemAdjustBeforeParam adjustBeforeParam);
2022-11-14 21:03:24 +08:00
/**
* @description 根据薪资档案id和薪资项id获取薪资项目生效+不生效
* @return List<SalaryAtemPO>
* @author Harryxzy
* @date 2022/11/14 17:07
*/
List<SalaryArchiveItemPO> getSalaryItemsBySalaryArchiveIdAndItemIds(Long salaryArchiveId, List<Long> salaryItemPageIds);
2022-03-28 20:04:27 +08:00
/**
* 获取当前已生效
*
* @param salaryArchiveId
* @param salaryItemPageIds
*/
List<SalaryArchiveItemPO> getEffectiveSalaryItems(Long salaryArchiveId, List<Long> salaryItemPageIds);
2022-09-07 16:12:43 +08:00
/**
* 调薪前置校验
* @param saveParam
* @return
*/
String checkSaveSalaryItem(SalaryArchiveItemSaveParam saveParam);
2022-03-28 20:04:27 +08:00
/**
* 保存薪资项目调整
*
* @param saveParam
* @return
*/
String saveSalaryItem(SalaryArchiveItemSaveParam saveParam);
/**
* 删除薪资项目调整
*
* @param salaryArchiveItemId
* @return
*/
String deleteSalaryItem(Long salaryArchiveItemId);
/**
* 薪资调整记录列表分页
*
* @param queryParam
* @param salaryItemIds
* @return
*/
2022-09-07 16:12:43 +08:00
PageInfo<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListPage(SalaryItemAdjustRecordQueryParam queryParam, List<Long> salaryItemIds);
2022-03-28 20:04:27 +08:00
/**
* 薪资调整记录列表
*
* @param queryParam
* @param salaryItemIds
* @return
*/
List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam queryParam, List<Long> salaryItemIds);
/**
* 导出薪资项目的调整记录列表
*
* @param queryParam
*/
2022-04-02 15:34:27 +08:00
XSSFWorkbook exportAdjustRecordList(SalaryItemAdjustRecordQueryParam queryParam);
2022-10-13 14:57:52 +08:00
/**
* 获取薪资档案对应的当前生效的薪资项目
*
* @param salaryArchivesIds
* @return
*/
List<SalaryArchiveItemPO> getCurrentEffectiveItemList(Collection<Long> salaryArchivesIds, Collection<Long> salaryItemIds);
2022-10-13 14:57:52 +08:00
/**
* 获取薪资档案对应的当前生效的薪资项目忽略值
*
* @param salaryArchivesIds
* @param salaryItemIds
* @return
*/
List<SalaryArchiveItemPO> getCurrentEffectiveItemListIngoreValue(Collection<Long> salaryArchivesIds, List<Long> salaryItemIds);
2022-10-26 13:46:36 +08:00
/**
* 获取当前已生效
*
* @param salaryArchiveIds
* @param isNoNeedSalaryItem
* @param salaryItemIds
* @return
*/
Map<String, List<SalaryArchiveItemPO>> getEffectiveItemListMap(Collection<Long> salaryArchiveIds, boolean isNoNeedSalaryItem, Collection<Long> salaryItemIds);
/**
* 获取当前未生效
*
* @param salaryArchiveIds
* @param isNoNeedSalaryItem
* @param salaryItemIds
* @return
*/
Map<String, List<SalaryArchiveItemPO>> getIneffectiveItemListMap(Collection<Long> salaryArchiveIds, boolean isNoNeedSalaryItem, Collection<Long> salaryItemIds);
2022-11-14 21:03:24 +08:00
/**
* @description 单个档案的薪资项目调整的编辑
* @return String
* @author Harryxzy
* @date 2022/11/14 13:38
*/
String editSingleSalaryItem(SalaryArchiveItemSaveParam salaryArchiveItemSaveParam);
2024-08-08 16:53:31 +08:00
ArchiveFieldConfig getConfig();
2024-08-08 18:04:50 +08:00
2024-08-16 11:18:27 +08:00
UploadConfigResponse.Result parseConfig(ArchiveFieldConfig config);
2024-11-08 16:08:49 +08:00
/**
* 根据薪资档案id和生效日期范围获取数据
*
* @param salaryArchiveIds
* @param dateRange
* @return
*/
List<SalaryArchiveItemPO> listByArchiveIdAndEffectiveTime(List<Long> salaryArchiveIds, LocalDateRange dateRange);
2022-03-28 20:04:27 +08:00
}