package com.engine.salary.service; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.salaryacct.dto.ConsolidatedTaxDetailDTO; import com.engine.salary.entity.salaryacct.dto.SalaryAcctResultDetailDTO; import com.engine.salary.entity.salaryacct.dto.SalaryAcctResultListColumnDTO; import com.engine.salary.entity.salaryacct.param.SalaryAcctCalculateParam; import com.engine.salary.entity.salaryacct.param.SalaryAcctResultQueryParam; import com.engine.salary.entity.salaryacct.param.SalaryAcctResultSaveParam; import com.engine.salary.entity.salaryacct.param.SalaryAcctResultUpdateLockStatusParam; import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO; import com.engine.salary.util.page.PageInfo; import java.util.Collection; import java.util.List; import java.util.Map; /** * 薪资核算结果 *

Copyright: Copyright (c) 2022

*

Company: 泛微软件

* * @author qiantao * @version 1.0 **/ public interface SalaryAcctResultService { /** * 根据薪资核算记录的id查询薪资核算结果 * * @param salaryAcctRecordIds 薪资核算记录的id * @return */ List listBySalaryAcctRecordIds(Collection salaryAcctRecordIds); /** * 根据薪资核算人员的主键id查询薪资核算结果 * * @param salaryAcctEmployeeId 薪资核算人员的主键id * @return */ List listBySalaryAcctEmployeeId(Long salaryAcctEmployeeId); /** * 根据薪资核算人员的主键id查询薪资核算结果 * * @param salaryAcctEmployeeIds 薪资核算人员的主键id * @return */ List listBySalaryAcctEmployeeIds(Collection salaryAcctEmployeeIds); /** * 根据薪资核算id、人员id查询薪资核算结果 * * @param salaryAcctRecordIds 薪资核算记录id * @param employeeIds 人员id * @return */ List listBySalaryAcctRecordIdsAndEmployeeIds(Collection salaryAcctRecordIds, Collection employeeIds); /** * 根据薪资核算人员的主键id查询薪资核算结果 * * @param salaryAcctEmployeeId 薪资核算人员的主键id * @return */ SalaryAcctResultDetailDTO getBySalaryAcctEmployeeId(Long salaryAcctEmployeeId); /** * 根据薪资核算结果列表查询条件查询薪资核算结果(分页) * * @param queryParam 列表查询条件 * @return */ PageInfo> listPageByParam(SalaryAcctResultQueryParam queryParam); /** * 合计行 * * @param queryParam * @return */ Map sumRow(SalaryAcctResultQueryParam queryParam); /** * 根据薪资核算结果列表查询条件查询薪资核算结果 * * @param queryParam 列表查询条件 * @return */ List> listByParam(SalaryAcctResultQueryParam queryParam); /** * 获取合并计税详情 * * @param salaryAcctEmployeeId 薪资核算人员 * @return */ ConsolidatedTaxDetailDTO getConsolidatedTaxDetail(Long salaryAcctEmployeeId); /** * 根据薪资核算记录id获取表头数据 * * @param salaryAcctRecordId * @return */ Map getColumnBySalaryAcctRecordId(Long salaryAcctRecordId); /** * 保存 * * @param saveParam 保存参数 */ void save(SalaryAcctResultSaveParam saveParam); /** * 批量保存 * * @param salaryAcctResultPOS 薪资核算结果 */ void batchSave(Collection salaryAcctResultPOS); /** * 根据薪资核算人员id删除薪资核算结果 * * @param salaryAcctEmployeeIds 薪资核算人员id */ void deleteBySalaryAcctEmployeeIds(Collection salaryAcctEmployeeIds); /** * 根据薪资核算人员id、薪资项目id删除薪资核算结果 * * @param salaryAcctEmployeeIds 薪资核算人员id * @param salaryItemIds 薪资项目id */ void deleteByAcctEmployeeIdsAndSalaryItemIds(Collection salaryAcctEmployeeIds, Collection salaryItemIds); /** * 根据薪资核算记录id删除薪资核算结果 * * @param salaryAcctRecordIds 薪资核算记录id */ void deleteBySalaryAcctRecordIds(Collection salaryAcctRecordIds); /** * 薪资核算 * * @param calculateParam * @param simpleEmployee */ void calculate(SalaryAcctCalculateParam calculateParam, DataCollectionEmployee simpleEmployee); /** * 根据薪资核算记录的id、个税扣缴义务人查询薪资核算结果 * * @param salaryAcctRecordIds 薪资核算记录的id * @param taxAgentIds 个税扣缴义务人id * @return */ List listBySalaryAcctRecordIdsAndTaxAgentIds(Collection salaryAcctRecordIds, Collection taxAgentIds); /** * 更新锁定状态 * * @param updateParam */ void updateLockStatusByParam(SalaryAcctResultUpdateLockStatusParam updateParam); /** * 批量更新 * * @param salaryAcctResultValues */ void batchUpdateOriginResultValue(List salaryAcctResultValues); /** * @description 薪资回算 * @return void * @author Harryxzy * @date 2022/11/24 20:26 */ void reCalc(Long id); /** * 根据薪资核算记录的id、薪资项目id查询薪资核算结果 * * @param salaryAcctRecordIds 薪资核算记录的id * @param salaryItemIds 薪资项目id * @return */ List listBySalaryAcctRecordIdsAndSalaryItemIds(Collection salaryAcctRecordIds, Collection salaryItemIds); /** * @description 根据薪资核算人员id、薪资项目id获取薪资核算结果 * @return List * @author Harryxzy * @date 2022/12/26 22:24 */ List listByAcctEmployeeIdsAndSalaryItemIds(Collection salaryAcctEmpIds, Collection salaryItemIds); }