package com.engine.salary.service; import com.engine.salary.entity.salaryacct.dto.SalaryAcctEmployeeCountDTO; import com.engine.salary.entity.salaryacct.param.*; import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO; import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO; import com.engine.salary.report.entity.param.SalaryStatisticsReportDataQueryParam; import com.engine.salary.util.page.PageInfo; import java.util.Collection; import java.util.Date; import java.util.List; import java.util.Set; /** * 薪资核算人员 *

Copyright: Copyright (c) 2022

*

Company: 泛微软件

* * @author qiantao * @version 1.0 **/ public interface SalaryAcctEmployeeService { /** * 根据薪资核算记录id统计薪资核算人员的数量 * * @param salaryAcctRecordIds 薪资核算记录的id * @return */ List countBySalaryAcctRecordId(Collection salaryAcctRecordIds); /** * 根据主键id获取单个薪资核算人员 * * @param id 主键id * @return */ SalaryAcctEmployeePO getById(Long id); /** * 根据主键id查询薪资核算人员 * * @param ids 主键id * @return */ List listByIds(Collection ids); /** * 根据薪资核算记录id查询薪资核算人员 * * @param salaryAcctRecordId 薪资核算记录id * @return */ List listBySalaryAcctRecordId(Long salaryAcctRecordId); /** * 根据薪资核算记录id查询薪资核算人员 * * @param salaryAcctRecordIds 薪资核算记录id * @return */ List listBySalaryAcctRecordIds(Collection salaryAcctRecordIds); /** * 根据薪资核算记录id、个税扣缴义务人id查询薪资核算人员 * * @param salaryAcctRecordId 薪资核算记录id * @param taxAgentId 个税扣缴义务人id * @return */ List listBySalaryAcctRecordIdAndTaxAgentId(Long salaryAcctRecordId, Long taxAgentId); /** * 根据薪资核算记录id、主键id查询薪资核算人员 * * @param salaryAcctRecordId 薪资核算记录id * @param ids 主键id * @return */ List listBySalaryAcctRecordIdAndIds(Long salaryAcctRecordId, Collection ids); /** * 根据薪资核算记录id、人员id查询薪资核算人员 * * @param salaryAcctRecordId 薪资核算记录id * @param employeeIds 人员id * @return */ List listBySalaryAcctRecordIdAndEmployeeIds(Long salaryAcctRecordId, Collection employeeIds); /** * 根据薪资核算记录id、人员id查询薪资核算人员 * * @param salaryAcctRecordIds 薪资核算记录id * @param employeeIds 人员id * @return */ List listBySalaryAcctRecordIdsAndEmployeeIds(Collection salaryAcctRecordIds, Collection employeeIds); /** * 根据薪资核算记录id、人员id、个税扣缴义务人id查询薪资核算人员 * * @param salaryAcctRecordIds 薪资核算记录id * @param employeeId 人员id * @param taxAgentId 个税扣缴义务人 * @return */ List listByRecordIdsAndEmpIdAndTaxAgentId(Collection salaryAcctRecordIds, Long employeeId, Long taxAgentId); /** * 根据列表查询条件查询薪资核算人员(分页) * * @param queryParam 列表查询条件 * @return */ PageInfo listPageByParam(SalaryAcctEmployeeQueryParam queryParam); /** * 根据列表查询条件查询薪资核算人员 * * @param queryParam 列表查询条件 * @return */ List listByParam(SalaryAcctEmployeeQueryParam queryParam); List listByTaxCycleAndTaxAgentId(SalaryAcctEmployeeQueryParam queryParam); /** * 根据薪资核算结果列表的列表查询条件查询薪资核算人员(分页) * * @param queryParam 薪资核算结果列表的列表查询条件 * @return */ PageInfo listPageByResultQueryParam(SalaryAcctResultQueryParam queryParam); /** * 根据薪资核算结果列表的列表查询条件查询薪资核算人员 * * @param queryParam 薪资核算结果列表的列表查询条件 * @return */ List listByResultQueryParam(SalaryAcctResultQueryParam queryParam); /** * 根据列表查询条件查询同比减少的薪资核算人员(分页) * * @param queryParam 列表查询条件 * @return */ PageInfo listPageByParam4Reduce(SalaryAcctEmployeeQueryParam queryParam); /** * 根据列表查询条件查询同比增加的薪资核算人员(分页) * * @param queryParam 列表查询条件 * @return */ PageInfo listPageByParam4Add(SalaryAcctEmployeeQueryParam queryParam); /** * 根据列表查询条件查询同比减少的薪资核算人员 * * @param queryParam 列表查询条件 * @return */ List listByParam4Reduce(SalaryAcctEmployeeQueryParam queryParam); /** * 根据列表查询条件查询同比增加的薪资核算人员 * * @param queryParam 列表查询条件 * @return */ List listByParam4Add(SalaryAcctEmployeeQueryParam queryParam); /** * 根据列表查询条件查询合并计税的薪资核算人员(分页) * * @param queryParam 列表查询条件 * @return */ PageInfo listPageByParam4ConsolidatedTax(SalaryAcctEmployeeQueryParam queryParam); /** * 根据列表查询条件查询合并计税的薪资核算人员 * * @param queryParam 列表查询条件 * @return */ List listByParam4ConsolidatedTax(SalaryAcctEmployeeQueryParam queryParam); /** * 添加薪资核算人员 * * @param saveParam 保存参数 */ void save(SalaryAcctEmployeeSaveParam saveParam); /** * 从环比上月减少添加薪资核算人员 * * @param param */ void addFromReduce(SalaryAcctEmployeeAddParam param); /** * 批量保存 * * @param salaryAcctEmployeePOS 薪资核算人员 */ void batchSave(Collection salaryAcctEmployeePOS); /** * 薪资核算记录(会删除薪资核算结果、校验异常明细、线下对比导入结果) * * @param ids */ void deleteByIds(Collection ids); /** * 根据参数删除薪资核算人员 * * @param deleteParam 删除参数 */ void deleteByParam(SalaryAcctEmployeeDeleteParam deleteParam); /** * 根据薪资核算记录id删除薪资核算人员 * * @param salaryAcctRecordIds 薪资核算记录id */ void deleteBySalaryAcctRecordIds(Collection salaryAcctRecordIds); /** * 根据薪资核算记录id初始化薪资核算人员 * * @param salaryAcctRecordPO 薪资核算记录 */ void initBySalaryAcctRecord(SalaryAcctRecordPO salaryAcctRecordPO); /** * 刷新薪资核算人员的个税扣缴义务人 * * @param salaryAcctRecordId 薪资核算记录 */ void refresh(Long salaryAcctRecordId); List listBySalaryStatisticsReportParam(SalaryStatisticsReportDataQueryParam param); /** * 根据个税扣缴义务人和薪资所属月获取列表 * * @param taxAgentIds * @param salaryMonths * @return */ List listByTaxAgentAndSalaryMonth(List taxAgentIds, Set salaryMonths); }