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);
|
|
|
|
|
|
|
2023-05-26 11:17:25 +08:00
|
|
|
|
List<SalaryAcctRecordPO> listAll();
|
|
|
|
|
|
|
2022-04-06 20:01:00 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 根据主键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);
|
|
|
|
|
|
|
2022-09-13 16:03:55 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 根据税款周期查询薪资核算记录
|
|
|
|
|
|
*
|
|
|
|
|
|
* @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);
|
2022-12-02 17:35:14 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @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);
|
2023-05-26 11:17:25 +08:00
|
|
|
|
|
|
|
|
|
|
|
2023-06-16 11:49:23 +08:00
|
|
|
|
List<SalaryAcctRecordPO> listSome(SalaryAcctRecordPO po);
|
2022-04-06 20:01:00 +08:00
|
|
|
|
}
|