package com.engine.salary.service; import com.engine.salary.common.LocalDateRange; import com.engine.salary.entity.salaryarchive.config.ArchiveFieldConfig; 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; import com.engine.salary.sys.entity.vo.UploadConfigResponse; 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; /** * 薪资档案-薪资项目 *

Copyright: Copyright (c) 2022

*

Company: 泛微软件

* * @author qiantao * @version 1.0 **/ public interface SalaryArchiveItemService { /** * 获取单个薪资档案项目调整记录 * * @param salaryArchiveItemId * @return */ SalaryArchiveItemPO getById(Long salaryArchiveItemId); /** * 获取可以调整的薪资项目 */ List getCanAdjustSalaryItems(); /** * 获取薪资项目调整前的值 * * @param adjustBeforeParam */ String getSalaryItemAdjustBeforeValue(SalaryItemAdjustBeforeParam adjustBeforeParam); /** * @description 根据薪资档案id和薪资项id获取薪资项目(生效+不生效) * @return List * @author Harryxzy * @date 2022/11/14 17:07 */ List getSalaryItemsBySalaryArchiveIdAndItemIds(Long salaryArchiveId, List salaryItemPageIds); /** * 获取当前已生效 * * @param salaryArchiveId * @param salaryItemPageIds */ List getEffectiveSalaryItems(Long salaryArchiveId, List salaryItemPageIds); /** * 调薪前置校验 * @param saveParam * @return */ String checkSaveSalaryItem(SalaryArchiveItemSaveParam saveParam); /** * 保存薪资项目调整 * * @param saveParam * @return */ String saveSalaryItem(SalaryArchiveItemSaveParam saveParam); /** * 删除薪资项目调整 * * @param salaryArchiveItemId * @return */ String deleteSalaryItem(Long salaryArchiveItemId); /** * 薪资调整记录列表(分页) * * @param queryParam * @param salaryItemIds * @return */ PageInfo salaryItemAdjustRecordListPage(SalaryItemAdjustRecordQueryParam queryParam, List salaryItemIds); /** * 薪资调整记录列表 * * @param queryParam * @param salaryItemIds * @return */ List salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam queryParam, List salaryItemIds); /** * 导出薪资项目的调整记录列表 * * @param queryParam */ XSSFWorkbook exportAdjustRecordList(SalaryItemAdjustRecordQueryParam queryParam); /** * 获取薪资档案对应的当前生效的薪资项目 * * @param salaryArchivesIds * @return */ List getCurrentEffectiveItemList(Collection salaryArchivesIds, Collection salaryItemIds); /** * 获取薪资档案对应的当前生效的薪资项目忽略值 * * @param salaryArchivesIds * @param salaryItemIds * @return */ List getCurrentEffectiveItemListIngoreValue(Collection salaryArchivesIds, List salaryItemIds); /** * 获取当前已生效 * * @param salaryArchiveIds * @param isNoNeedSalaryItem * @param salaryItemIds * @return */ Map> getEffectiveItemListMap(Collection salaryArchiveIds, boolean isNoNeedSalaryItem, Collection salaryItemIds); /** * 获取当前未生效 * * @param salaryArchiveIds * @param isNoNeedSalaryItem * @param salaryItemIds * @return */ Map> getIneffectiveItemListMap(Collection salaryArchiveIds, boolean isNoNeedSalaryItem, Collection salaryItemIds); /** * @description 单个档案的薪资项目调整的编辑 * @return String * @author Harryxzy * @date 2022/11/14 13:38 */ String editSingleSalaryItem(SalaryArchiveItemSaveParam salaryArchiveItemSaveParam); ArchiveFieldConfig getConfig(); UploadConfigResponse.Result parseConfig(ArchiveFieldConfig config); /** * 根据薪资档案id和生效日期范围获取数据 * * @param salaryArchiveIds * @param dateRange * @return */ List listByArchiveIdAndEffectiveTime(List salaryArchiveIds, LocalDateRange dateRange); }