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

274 lines
8.2 KiB
Java

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