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

161 lines
3.9 KiB
Java
Raw Normal View History

2022-04-12 10:11:53 +08:00
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.entity.salaryacct.po.SalaryAcctRecordPO;
2022-04-12 10:11:53 +08:00
import com.engine.salary.util.page.PageInfo;
2022-04-14 19:32:09 +08:00
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
2022-04-12 10:11:53 +08:00
import java.util.List;
import java.util.Map;
import java.util.Set;
2022-04-12 10:11:53 +08:00
/**
* @Description: 工资单发放
*/
public interface SalarySendService {
/**
* 获取单个工资单发放
*
* @param salarySendId
* @return
*/
SalarySendPO getById(Long salarySendId);
List<Long> findReAccountingIdsByAcctIds(List<Long> salaryAccountingIds, String tenantKey);
/**
* 薪资核算-归档生成工资单
* @param salaryAccountingId
* @return
*/
2022-04-21 16:45:03 +08:00
String generateSalaryBill(Long salaryAccountingId);
2022-04-12 10:11:53 +08:00
/**
* 薪资核算-归档撤销工资单
* @param salaryAcctRecord
2022-04-12 10:11:53 +08:00
* @return
*/
void revokeSalaryBill(SalaryAcctRecordPO salaryAcctRecord);
2022-04-12 10:11:53 +08:00
/**
* 工资单发放列表分页
*
* @param queryParam
* @return
*/
PageInfo<SalarySendListDTO> listPage(SalarySendQueryParam queryParam);
/**
* 工资单发放
* @param queryParam
* @return
*/
2022-04-14 19:32:09 +08:00
Map<String, Object> grant(SalarySendGrantParam queryParam);
2022-04-12 10:11:53 +08:00
/**
* 工资单撤回
* @param queryParam
* @return
*/
2022-04-14 19:32:09 +08:00
Map<String, Object> withdraw(SalarySendWithdrawParam queryParam);
2022-04-12 10:11:53 +08:00
/**
* 工资单发放基本信息
* @param id
* @return
*/
SalarySendBaseInfoDTO getBaseInfo(Long id);
/**
* 我的工资单
* @param salaryInfoId
* @param currentEmployeeId
* @return
*/
Map<String, Object> mySalaryBill(Long salaryInfoId, Long currentEmployeeId);
/**
* 工资单发放信息列表分页
* @param queryParam
* @return
*/
PageInfo<SalarySendInfoListDTO> salarySendInfoListPage(SalarySendInfoQueryParam queryParam);
List<SalarySendInfoListDTO> salarySendInfoList(Long salarySendId);
2022-04-12 10:11:53 +08:00
/**
* 我的工资单列表详情
*
* @param queryParam
* @return
*/
PageInfo<SalaryMySalaryBillListDTO> mySalaryBillListPage(SalaryBillQueryParam queryParam);
/**
* 工资单发放详情列表
* @param queryParam
* @return
*/
PageInfo<SalarySendDetailListDTO> salarySendInfoDetailListPage(SalarySendDetailQueryParam queryParam);
/**
* 获取薪资项目设置
*
* @param salaryTemplatePO
* @return
*/
2022-12-06 15:29:08 +08:00
List<SalaryTemplateSalaryItemListDTO> getSalaryItemsSetting(SalaryTemplatePO salaryTemplatePO, boolean isReplenish);
2022-04-12 10:11:53 +08:00
/**
* 构建详情列表
*
* @param salaryItems
* @param records
* @param salaryAccountingId
* @return
*/
List<Map<String, Object>> buildDetailList(List<SalaryTemplateSalaryItemListDTO> salaryItems, List<SalarySendDetailListDTO> records, Long salaryAccountingId);
/**
* 导出-工资单发放详情列表
*
* @param queryParam
*/
2022-04-14 19:32:09 +08:00
XSSFWorkbook exportInfoList(SalarySendInfoQueryParam queryParam);
2022-04-12 10:11:53 +08:00
/**
* 导出-工资单发放详情列表
* @param salarySend
* @param queryParam
*/
2022-04-14 19:32:09 +08:00
XSSFWorkbook exportDetailList(SalarySendPO salarySend, SalarySendDetailQueryParam queryParam);
/**
* 获取核算工资单发放结果
*
* @param salaryAcctRecordIds
* @return
*/
List<SalarySendCheckDTO> getSalarySendCheckResult(Set<Long> salaryAcctRecordIds);
/**
* @description 处理历史数据
* @return null
* @author Harryxzy
* @date 2022/11/25 10:45
*/
void handleHistory();
2023-03-15 16:00:37 +08:00
/**
* 合计行
*
* @param queryParam
* @return
*/
Map<String, Object> sumRow(SalarySendInfoQueryParam queryParam);
2022-04-12 10:11:53 +08:00
}