package com.engine.salary.service;
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.util.page.PageInfo;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.util.List;
/**
* 薪资档案-薪资项目
*
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);
/**
* 获取当前已生效
*
* @param salaryArchiveId
* @param salaryItemPageIds
*/
List getEffectiveSalaryItems(Long salaryArchiveId, List salaryItemPageIds);
/**
* 保存薪资项目调整
*
* @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);
}