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

206 lines
5.5 KiB
Java
Raw Normal View History

2022-04-06 20:01:00 +08:00
package com.engine.salary.service;
import com.engine.salary.common.LocalDateRange;
2022-04-07 11:39:22 +08:00
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
2022-04-06 20:01:00 +08:00
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordSaveParam;
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
2023-05-18 14:28:31 +08:00
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
2022-04-06 20:01:00 +08:00
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
2022-04-07 11:39:22 +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;
2022-12-19 11:12:26 +08:00
import java.util.Set;
2022-04-06 20:01:00 +08:00
/**
* 薪资核算记录
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
public interface SalaryAcctRecordService {
/**
* 根据主键id获取单条薪资核算记录
*
* @param id 主键id
* @return
*/
SalaryAcctRecordPO getById(Long id);
/**
* 根据主键id查询薪资核算记录
*
* @param ids 主键id
* @return
*/
List<SalaryAcctRecordPO> listByIds(Collection<Long> ids);
/**
* 根据薪资账套id薪资所属月查询薪资核算记录
*
* @param salarySobIds 薪资账套id
* @param salaryMonthDateRange 薪资所属月的时间范围
* @return
*/
List<SalaryAcctRecordPO> listBySalarySobIdsAndSalaryMonth(Collection<Long> salarySobIds, LocalDateRange salaryMonthDateRange);
/**
* 根据薪资账套id税款所属期查询薪资核算记录
*
* @param salarySobIds 薪资账套id
* @param taxCycleDateRange 税款所属期的时间范围
* @return
*/
List<SalaryAcctRecordPO> listBySalarySobIdsAndTaxCycle(Collection<Long> salarySobIds, LocalDateRange taxCycleDateRange);
/**
* 根据薪资所属月查询薪资核算记录
*
* @param salaryMonthDateRange 薪资所属月的时间范围
* @return
*/
List<SalaryAcctRecordPO> listBySalaryMonth(LocalDateRange salaryMonthDateRange);
/**
* 根据税款周期查询薪资核算记录
*
* @param salaryMonthDateRange
* @return
*/
List<SalaryAcctRecordPO> listByTaxCycle(LocalDateRange salaryMonthDateRange,Collection<Long> salarySobIds);
2022-04-06 20:01:00 +08:00
/**
* 根据列表查询条件查询薪资核算记录分页
*
* @param queryParam 列表查询条件
* @return
*/
2022-04-07 11:39:22 +08:00
PageInfo<SalaryAcctRecordPO> listPageByParam(SalaryAcctRecordQueryParam queryParam);
2022-04-06 20:01:00 +08:00
/**
* 根据id查询同一个账套上一个月的薪资核算记录
*
* @param id 薪资核算记录id
* @return
*/
List<SalaryAcctRecordPO> listById4LastSalaryMonth(Long id);
/**
* 根据薪资账套ID查询薪资核算记录
*
* @param salarySobIds 薪资账套id
* @return
*/
List<SalaryAcctRecordPO> listBySalarySobIds(Collection<Long> salarySobIds);
/**
* 根据id查询其他合并计税的薪资核算记录
*
* @param id 薪资核算记录的id
* @return
*/
List<SalaryAcctRecordPO> listById4OtherConsolidatedTax(Long id);
/**
* 薪资核算记录所用的薪资账套薪资周期考勤周期
*
* @param id 薪资核算记录的id
* @return
*/
SalarySobCycleDTO getSalarySobCycleById(Long id);
/**
* 保存
*
* @param saveParam 保存参数
* @return
*/
2022-04-07 11:39:22 +08:00
Long save(SalaryAcctRecordSaveParam saveParam);
2022-04-06 20:01:00 +08:00
/**
* 更新薪资核算记录的状态
*
* @param ids 主键id
* @param status 薪资核算记录的状态
*/
void updateStatusByIds(Collection<Long> ids, SalaryAcctRecordStatusEnum status);
/**
* 根据主键id删除
*
* @param ids 薪资核算记录的id
*/
void deleteByIds(Collection<Long> ids);
/**
* 归档
*
* @param id 薪资核算记录的id
*/
void file(Long id);
/**
* 重新核算并不是重新执行公式而是变更薪资核算记录状态为未归档并且撤回生成的工资单
*
* @param id 薪资核算记录的id
*/
void reCalculate(Long id);
/**
* 判断是否存在合并计税
*
* @param id 薪资核算记录的id
* @return 0不存在1存在
*/
Integer hasConsolidatedTax(Long id);
/**
* 查询操作日志中的操作对象名称
*
* @param id 薪资核算记录的id
* @return
*/
String getLogTargetNameById(Long id);
2022-05-18 09:19:50 +08:00
/**
* 根据状态查询薪资核算记录
*
* @param status
* @return
*/
List<SalaryAcctRecordPO> listByStatus(SalaryAcctRecordStatusEnum status);
2022-05-19 14:50:01 +08:00
/**
* 根据核算人和核算状态查询核算记录
*
* @param status
* @param employeeId
* @return
*/
List<SalaryAcctRecordPO> listByStatusAndEmployeeId(SalaryAcctRecordStatusEnum status, Long employeeId);
2022-11-17 09:28:40 +08:00
void updateLockSalaryItemIds(SalaryAcctRecordPO salaryAcctRecord);
/**
* @description 回算
* @return void
* @author Harryxzy
* @date 2022/11/24 16:09
*/
void backCalculate(Long salaryAcctRecordId);
2022-12-19 11:12:26 +08:00
/**
* @description 获取是回算的薪资核算
* @return List<SalaryAecordPO>
* @author Harryxzy
* @date 2022/12/19 9:05
*/
List<SalaryAcctRecordPO> getBackCalcRecordByIds(Set<Long> salaryAcctIds);
2023-05-18 14:28:31 +08:00
List<SalaryAcctResultPO> listBySalaryAcctEmpId(Long salaryAcctEmpId);
2022-04-06 20:01:00 +08:00
}