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

228 lines
6.7 KiB
Java
Raw Normal View History

2022-04-06 20:01:00 +08:00
package com.engine.salary.service;
2022-04-11 20:17:47 +08:00
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
2022-04-06 20:01:00 +08:00
import com.engine.salary.entity.salaryacct.dto.ConsolidatedTaxDetailDTO;
import com.engine.salary.entity.salaryacct.dto.SalaryAcctResultDetailDTO;
import com.engine.salary.entity.salaryacct.dto.SalaryAcctResultListColumnDTO;
2023-12-05 14:57:34 +08:00
import com.engine.salary.entity.salaryacct.param.*;
2024-06-20 10:39:40 +08:00
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
2022-04-06 20:01:00 +08:00
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
2024-06-20 10:39:40 +08:00
import com.engine.salary.enums.common.SalaryLogOperateTypeEnum;
2022-04-08 19:08:59 +08:00
import com.engine.salary.util.page.PageInfo;
2022-04-06 20:01:00 +08:00
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* 薪资核算结果
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
public interface SalaryAcctResultService {
/**
* 根据薪资核算记录的id查询薪资核算结果
*
* @param salaryAcctRecordIds 薪资核算记录的id
* @return
*/
List<SalaryAcctResultPO> listBySalaryAcctRecordIds(Collection<Long> salaryAcctRecordIds);
/**
* 根据薪资核算人员的主键id查询薪资核算结果
*
* @param salaryAcctEmployeeId 薪资核算人员的主键id
* @return
*/
List<SalaryAcctResultPO> listBySalaryAcctEmployeeId(Long salaryAcctEmployeeId);
/**
* 根据薪资核算人员的主键id查询薪资核算结果
*
* @param salaryAcctEmployeeIds 薪资核算人员的主键id
* @return
*/
List<SalaryAcctResultPO> listBySalaryAcctEmployeeIds(Collection<Long> salaryAcctEmployeeIds);
/**
* 根据薪资核算id人员id查询薪资核算结果
*
* @param salaryAcctRecordIds 薪资核算记录id
* @param employeeIds 人员id
* @return
*/
List<SalaryAcctResultPO> listBySalaryAcctRecordIdsAndEmployeeIds(Collection<Long> salaryAcctRecordIds, Collection<Long> employeeIds);
/**
* 根据薪资核算人员的主键id查询薪资核算结果
*
* @param salaryAcctEmployeeId 薪资核算人员的主键id
* @return
*/
SalaryAcctResultDetailDTO getBySalaryAcctEmployeeId(Long salaryAcctEmployeeId);
/**
* 根据薪资核算结果列表查询条件查询薪资核算结果分页
*
* @param queryParam 列表查询条件
* @return
*/
2022-04-08 19:08:59 +08:00
PageInfo<Map<String, Object>> listPageByParam(SalaryAcctResultQueryParam queryParam);
2022-04-06 20:01:00 +08:00
2022-09-27 15:47:13 +08:00
/**
* 合计行
2022-11-17 09:28:40 +08:00
*
2022-09-27 15:47:13 +08:00
* @param queryParam
* @return
*/
Map<String, Object> sumRow(SalaryAcctResultQueryParam queryParam);
2022-04-06 20:01:00 +08:00
/**
* 根据薪资核算结果列表查询条件查询薪资核算结果
*
* @param queryParam 列表查询条件
* @return
*/
List<Map<String, Object>> listByParam(SalaryAcctResultQueryParam queryParam);
/**
* 获取合并计税详情
*
* @param salaryAcctEmployeeId 薪资核算人员
* @return
*/
ConsolidatedTaxDetailDTO getConsolidatedTaxDetail(Long salaryAcctEmployeeId);
/**
* 根据薪资核算记录id获取表头数据
*
* @param salaryAcctRecordId
* @return
*/
Map<String, SalaryAcctResultListColumnDTO> getColumnBySalaryAcctRecordId(Long salaryAcctRecordId);
2022-04-06 20:01:00 +08:00
/**
* 保存
*
2022-11-17 09:28:40 +08:00
* @param saveParam 保存参数
2022-04-06 20:01:00 +08:00
*/
2022-04-08 19:08:59 +08:00
void save(SalaryAcctResultSaveParam saveParam);
2022-04-06 20:01:00 +08:00
/**
* 批量保存
*
* @param salaryAcctResultPOS 薪资核算结果
*/
2023-09-26 17:18:27 +08:00
void batchSave(List<SalaryAcctResultPO> salaryAcctResultPOS);
2024-06-06 13:51:33 +08:00
void batchUpdate(List<SalaryAcctResultPO> salaryAcctResultPOS);
2022-04-06 20:01:00 +08:00
/**
* 根据薪资核算人员id删除薪资核算结果
*
* @param salaryAcctEmployeeIds 薪资核算人员id
*/
void deleteBySalaryAcctEmployeeIds(Collection<Long> salaryAcctEmployeeIds);
2022-04-06 20:01:00 +08:00
/**
* 根据薪资核算人员id薪资项目id删除薪资核算结果
*
* @param salaryAcctEmployeeIds 薪资核算人员id
* @param salaryItemIds 薪资项目id
*/
void deleteByAcctEmployeeIdsAndSalaryItemIds(List<Long> salaryAcctEmployeeIds, Collection<Long> salaryItemIds);
2022-04-06 20:01:00 +08:00
/**
* 根据薪资核算记录id删除薪资核算结果
*
* @param salaryAcctRecordIds 薪资核算记录id
*/
void deleteBySalaryAcctRecordIds(Collection<Long> salaryAcctRecordIds);
2022-04-11 20:17:47 +08:00
/**
* 薪资核算
*
* @param calculateParam
* @param simpleEmployee
*/
void calculate(SalaryAcctCalculateParam calculateParam, DataCollectionEmployee simpleEmployee);
2022-06-07 19:10:40 +08:00
/**
* 根据薪资核算记录的id个税扣缴义务人查询薪资核算结果
*
* @param salaryAcctRecordIds 薪资核算记录的id
* @param taxAgentIds 个税扣缴义务人id
* @return
*/
List<SalaryAcctResultPO> listBySalaryAcctRecordIdsAndTaxAgentIds(Collection<Long> salaryAcctRecordIds, Collection<Long> taxAgentIds);
2022-11-17 09:28:40 +08:00
/**
2024-05-28 17:29:18 +08:00
* 锁定项目
2022-11-17 09:28:40 +08:00
*
* @param updateParam
*/
void updateLockStatusByParam(SalaryAcctResultUpdateLockStatusParam updateParam);
/**
* 批量更新
*
* @param salaryAcctResultValues
*/
void batchUpdateOriginResultValue(List<SalaryAcctResultPO> salaryAcctResultValues);
/**
* @description 薪资回算
* @return void
* @author Harryxzy
* @date 2022/11/24 20:26
*/
void reCalc(Long id);
2022-12-06 15:29:08 +08:00
/**
* 根据薪资核算记录的id薪资项目id查询薪资核算结果
2022-12-06 15:29:08 +08:00
*
* @param salaryAcctRecordIds 薪资核算记录的id
* @param salaryItemIds 薪资项目id
* @return
*/
List<SalaryAcctResultPO> listBySalaryAcctRecordIdsAndSalaryItemIds(Collection<Long> salaryAcctRecordIds, Collection<Long> salaryItemIds);
2022-12-26 23:17:32 +08:00
/**
* @description 根据薪资核算人员id薪资项目id获取薪资核算结果
* @return List<SalaryAesultPO>
* @author Harryxzy
* @date 2022/12/26 22:24
*/
List<SalaryAcctResultPO> listByAcctEmployeeIdsAndSalaryItemIds(List<Long> salaryAcctEmpIds, Collection<Long> salaryItemIds);
2023-06-20 17:27:18 +08:00
List<Long> listAcctEmpIdByAcctEmpId(List<Long> salaryAcctEmployeeIds);
2023-06-27 14:58:33 +08:00
/**
* 检查当前用户是否有查看权限
* @param salaryAcctRecordId
* @return
*/
Boolean checkAuth(Long salaryAcctRecordId);
2023-12-05 14:57:34 +08:00
/**
2023-12-06 16:05:08 +08:00
* 薪资核算结果批量更新
2023-12-05 14:57:34 +08:00
* @param param
*/
2023-12-06 16:05:08 +08:00
void batchUpdate(SalaryAcctResultBatchUpdateParam param);
2024-06-20 10:39:40 +08:00
/**
* 记录日志
*
* @param salaryAcctRecord
* @param newResultValueMap
* @param operateType
*/
void writeBatchLog(SalaryAcctRecordPO salaryAcctRecord,
Map<String, String> newResultValueMap,
SalaryLogOperateTypeEnum operateType);
2022-04-06 20:01:00 +08:00
}