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

176 lines
4.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 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);
}