194 lines
5.2 KiB
Java
194 lines
5.2 KiB
Java
package com.engine.salary.service;
|
||
|
||
import com.engine.salary.common.LocalDateRange;
|
||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
|
||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordSaveParam;
|
||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
|
||
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
|
||
import com.engine.salary.util.page.PageInfo;
|
||
|
||
import java.util.Collection;
|
||
import java.util.List;
|
||
|
||
/**
|
||
* 薪资核算记录
|
||
* <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);
|
||
|
||
/**
|
||
* 根据列表查询条件查询薪资核算记录(分页)
|
||
*
|
||
* @param queryParam 列表查询条件
|
||
* @return
|
||
*/
|
||
PageInfo<SalaryAcctRecordPO> listPageByParam(SalaryAcctRecordQueryParam queryParam);
|
||
|
||
/**
|
||
* 根据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
|
||
*/
|
||
Long save(SalaryAcctRecordSaveParam saveParam);
|
||
|
||
/**
|
||
* 更新薪资核算记录的状态
|
||
*
|
||
* @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);
|
||
|
||
/**
|
||
* 根据状态查询薪资核算记录
|
||
*
|
||
* @param status
|
||
* @return
|
||
*/
|
||
List<SalaryAcctRecordPO> listByStatus(SalaryAcctRecordStatusEnum status);
|
||
|
||
/**
|
||
* 根据核算人和核算状态查询核算记录
|
||
*
|
||
* @param status
|
||
* @param employeeId
|
||
* @return
|
||
*/
|
||
List<SalaryAcctRecordPO> listByStatusAndEmployeeId(SalaryAcctRecordStatusEnum status, Long employeeId);
|
||
|
||
void updateLockSalaryItemIds(SalaryAcctRecordPO salaryAcctRecord);
|
||
|
||
/**
|
||
* @description 回算
|
||
* @return void
|
||
* @author Harryxzy
|
||
* @date 2022/11/24 16:09
|
||
*/
|
||
void backCalculate(Long salaryAcctRecordId);
|
||
}
|