package com.engine.salary.report.service; import com.engine.salary.report.entity.param.SalaryStatisticsReportDataQueryParam; import com.engine.salary.report.entity.param.SalaryStatisticsReportSaveParam; import com.engine.salary.report.entity.param.SalaryStatisticsSearchConditionSaveParam; import com.engine.salary.report.entity.po.SalaryStatisticsDimensionPO; import com.engine.salary.report.entity.po.SalaryStatisticsItemPO; import com.engine.salary.report.entity.po.SalaryStatisticsReportPO; import com.engine.salary.util.page.PageInfo; import java.util.Collection; import java.util.List; import java.util.Map; /** * @Description: 薪酬统计报表 * @Author: wangxiangzhong * @Date: 2022/12/15 14:09 */ public interface SalaryStatisticsReportService { /** * 获取所有薪酬报表 * * @return */ List listAll(); /** * 获取薪酬报表列表 * * @param currentEmployeeId * @param currentTenantKey * @return */ List list(); /** * 获取单个薪酬统计报表 * * @param id * @param currentTenantKey * @return */ SalaryStatisticsReportPO getById(Long id); /** * 保存薪酬统计报表 * * @param saveParam * @param currentEmployeeId * @param currentTenantKey * @return */ String save(SalaryStatisticsReportSaveParam saveParam ); /** * 删除薪酬统计报表 * * @param ids * @param currentEmployeeId * @param currentTenantKey * @return */ Map delete(Collection ids ); /** * 保存统计范围 * * @param param * @return */ String saveSearchCondition(SalaryStatisticsSearchConditionSaveParam param); /** * 构建报表分页统计记录 * * * @param dimension * @param param * @param salaryStatisticsReport * @param salaryStatisticsItemList * @param employeeId * @param tenantKey * @return */ PageInfo> buildReportRecords(SalaryStatisticsDimensionPO dimension, SalaryStatisticsReportDataQueryParam param, SalaryStatisticsReportPO salaryStatisticsReport, List salaryStatisticsItemList, Long employeeId, String tenantKey); }