package com.engine.salary.service; import com.engine.salary.entity.salaryBill.dto.*; import com.engine.salary.entity.salaryBill.param.*; import com.engine.salary.entity.salaryBill.po.SalarySendPO; import com.engine.salary.entity.salaryBill.po.SalaryTemplatePO; import com.engine.salary.util.page.PageInfo; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.util.List; import java.util.Map; /** * @Description: 工资单发放 */ public interface SalarySendService { /** * 获取单个工资单发放 * * @param salarySendId * @return */ SalarySendPO getById(Long salarySendId); List findReAccountingIdsByAcctIds(List salaryAccountingIds, String tenantKey); /** * 薪资核算-归档生成工资单 * @param salaryAccountingId * @param currentTenantKey * @return */ // Map generateSalaryBill(Long salaryAccountingId, Long currentEmployeeId, String currentTenantKey); /** * 薪资核算-归档撤销工资单 * @param salaryAccountingId * @param currentTenantKey * @return */ // void revokeSalaryBill(Long salaryAccountingId, Long currentEmployeeId, String currentTenantKey); /** * 工资单发放列表(分页) * * @param queryParam * @return */ PageInfo listPage(SalarySendQueryParam queryParam); /** * 工资单发放 * @param queryParam * @return */ Map grant(SalarySendGrantParam queryParam); /** * 工资单撤回 * @param queryParam * @return */ Map withdraw(SalarySendWithdrawParam queryParam); /** * 工资单发放基本信息 * @param id * @return */ SalarySendBaseInfoDTO getBaseInfo(Long id); /** * 我的工资单 * @param salaryInfoId * @param currentEmployeeId * @return */ Map mySalaryBill(Long salaryInfoId, Long currentEmployeeId); /** * 工资单发放信息列表(分页) * @param queryParam * @return */ PageInfo salarySendInfoListPage(SalarySendInfoQueryParam queryParam); /** * 我的工资单列表详情 * * @param queryParam * @return */ PageInfo mySalaryBillListPage(SalaryBillQueryParam queryParam); /** * 工资单发放详情列表 * @param queryParam * @return */ PageInfo salarySendInfoDetailListPage(SalarySendDetailQueryParam queryParam); /** * 获取薪资项目设置 * * @param salaryTemplatePO * @return */ List getSalaryItemsSetting(SalaryTemplatePO salaryTemplatePO); /** * 构建详情列表 * * @param salaryItems * @param records * @param salaryAccountingId * @return */ List> buildDetailList(List salaryItems, List records, Long salaryAccountingId); /** * 导出-工资单发放详情列表 * * @param queryParam */ XSSFWorkbook exportInfoList(SalarySendInfoQueryParam queryParam); /** * 导出-工资单发放详情列表 * @param salarySend * @param queryParam */ XSSFWorkbook exportDetailList(SalarySendPO salarySend, SalarySendDetailQueryParam queryParam); }