2022-03-01 18:49:22 +08:00
|
|
|
package com.engine.salary.service;
|
|
|
|
|
|
2023-09-06 09:40:50 +08:00
|
|
|
import com.engine.salary.common.YearMonthRange;
|
2022-06-08 16:36:50 +08:00
|
|
|
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
2022-06-09 19:02:18 +08:00
|
|
|
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
2022-04-16 15:33:51 +08:00
|
|
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam;
|
|
|
|
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam;
|
|
|
|
|
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
|
|
|
|
import com.engine.salary.util.page.PageInfo;
|
|
|
|
|
|
2022-08-08 17:45:18 +08:00
|
|
|
import java.time.YearMonth;
|
2022-04-16 15:33:51 +08:00
|
|
|
import java.util.Collection;
|
|
|
|
|
import java.util.List;
|
2022-03-01 18:49:22 +08:00
|
|
|
|
|
|
|
|
public interface TaxDeclarationService {
|
|
|
|
|
|
2022-08-08 17:45:18 +08:00
|
|
|
/**
|
|
|
|
|
* 根据税款所属期、个税扣缴义务人查询个税申报表
|
|
|
|
|
*
|
|
|
|
|
* @param salaryMonth 薪资所属月
|
|
|
|
|
* @param taxAgentIds 个税扣缴义务人id
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
List<TaxDeclarationPO> listByTaxCycleAndTaxAgentIds(YearMonth salaryMonth, Collection<Long> taxAgentIds);
|
|
|
|
|
|
2023-12-20 17:21:46 +08:00
|
|
|
List<TaxDeclarationPO> listByTaxDeclareRecordId(Long taxDeclareRecordId);
|
2023-12-27 17:33:53 +08:00
|
|
|
List<TaxDeclarationPO> listByTaxDeclareRecordId(Long taxDeclareRecordId,Integer incomeCategory);
|
2023-12-20 17:21:46 +08:00
|
|
|
|
2022-04-16 15:33:51 +08:00
|
|
|
PageInfo<TaxDeclarationPO> listPageByParam(TaxDeclarationListQueryParam queryParam);
|
|
|
|
|
|
2022-06-09 19:02:18 +08:00
|
|
|
List<TaxAgentPO> countByTaxDeclarationId(Collection<Long> taxAgentIds);
|
2022-04-16 15:33:51 +08:00
|
|
|
|
2022-06-10 13:33:48 +08:00
|
|
|
TaxDeclarationPO getById(Long id);
|
2022-04-16 15:33:51 +08:00
|
|
|
|
|
|
|
|
void save(TaxDeclarationSaveParam saveParam);
|
2022-03-01 18:49:22 +08:00
|
|
|
|
2022-05-09 11:46:49 +08:00
|
|
|
/**
|
|
|
|
|
* 删除个税申报表
|
|
|
|
|
*/
|
2022-08-08 17:45:18 +08:00
|
|
|
void delete(SalaryAcctRecordPO salaryAcctRecordPO);
|
2022-05-09 11:46:49 +08:00
|
|
|
|
2022-08-02 10:59:12 +08:00
|
|
|
/**
|
|
|
|
|
* 判断是否有权限可查看个税申报表
|
|
|
|
|
*
|
|
|
|
|
* @param taxDeclarationPO
|
|
|
|
|
* @param employeeId
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
boolean checkByAuthority(TaxDeclarationPO taxDeclarationPO, Long employeeId);
|
|
|
|
|
|
2023-06-12 10:40:01 +08:00
|
|
|
/**
|
|
|
|
|
* 撤回个税申报单
|
2023-12-20 17:21:46 +08:00
|
|
|
*
|
2023-06-12 10:40:01 +08:00
|
|
|
* @param taxDeclarationId
|
|
|
|
|
*/
|
|
|
|
|
void withDrawTaxDeclaration(Long taxDeclarationId);
|
2023-08-11 14:20:14 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 删除个税申报表
|
|
|
|
|
*
|
|
|
|
|
* @param taxDeclareRecordIds
|
|
|
|
|
*/
|
|
|
|
|
void deleteByTaxDeclareRecordIds(Collection<Long> taxDeclareRecordIds);
|
|
|
|
|
|
|
|
|
|
void saveBatch(List<TaxDeclarationPO> taxDeclarations);
|
2023-09-06 09:40:50 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据税款所属期查询个税申报表
|
|
|
|
|
*
|
|
|
|
|
* @param yearMonthRange
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
List<TaxDeclarationPO> listByTaxCycleRange(YearMonthRange yearMonthRange);
|
|
|
|
|
|
2022-03-01 18:49:22 +08:00
|
|
|
}
|