package com.engine.salary.service; import com.engine.salary.common.YearMonthRange; import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationRateDTO; import com.engine.salary.entity.taxdeclaration.param.DeclareTaxResultFeedbackQueryParam; import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam; import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam; import com.engine.salary.entity.taxdeclaration.param.TaxDeclareRecordParam; import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO; import com.engine.salary.entity.taxdeclaration.po.TaxDeclareRecordPO; import com.engine.salary.util.page.PageInfo; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.util.Collection; import java.util.Date; import java.util.List; /** * 个税申报 *

Copyright: Copyright (c) 2023

*

Company: 泛微软件

* * @author qiantao * @version 1.0 **/ public interface TaxDeclareRecordService { /** * 查询个税申报记录 * * @param id * @return */ TaxDeclareRecordPO getById(Long id); /** * 查询个税申报记录 * * @param ids * @return */ List listByIds(Collection ids); /** * 查询个税申报记录 * * @param taxCycleRange * @return */ List listByTaxCycleRange(YearMonthRange taxCycleRange); /** * 根据个税扣缴义务人id、税款所属期查询个税申报记录 * * @param taxAgentIds * @param taxCycle * @return */ List listByTaxCycleAndTaxAgentIds(Date taxCycle, Collection taxAgentIds); /** * 根据个税扣缴义务人id、薪资所属月查询个税申报记录 * * @param salaryMonth * @param taxAgentIds * @return */ List listBySalaryMonthAndTaxAgentIds(Date salaryMonth, Collection taxAgentIds); /** * 查询个税申报记录 * * @param queryParam * @return */ PageInfo listPageByParam(TaxDeclarationListQueryParam queryParam); /** * 生成申报表 * * @param saveParam */ void save(TaxDeclarationSaveParam saveParam); /** * 税局端申报明细查询 * */ String queryCompanyIncomes(TaxDeclareRecordParam taxDeclareRecordParam); /** * 刷新数据 * * @param id */ void refreshData(Long id); /** * 更新个税申报表的待刷新数据的标识 * * @param id */ void updateIcon(Long id, Integer displayIcon); /** * 因为薪资核算结果发生变动,所以需要更新个税申报表的待刷新数据的标识 * * @param taxCycle * @param taxAgentIds */ void updateByTaxCycleAndTaxAgentIds(Date taxCycle, Collection taxAgentIds); /** * 判断是否有权限可查看个税申报表 * * @param taxDeclaration * @return */ boolean checkByAuthority(TaxDeclarationPO taxDeclaration); /** * 根据id删除 * * @param ids */ void deleteByIds(Collection ids); /** * 个税申报 * * @param id */ void declare(Long id, Integer reportType); /** * 个税申报获取反馈 * * @param id */ void getDeclareFeedback(Long id, Integer reportType, TaxDeclarationRateDTO taxDeclarationRate); /** * 申报内置算税结果查询 * * @param id * @return */ Object getDeclareTaxResultFeedback(Long id); XSSFWorkbook exportGetDeclareTaxResultFeedback(DeclareTaxResultFeedbackQueryParam param); /** * 作废 * * @param id */ void cancelDeclare(Long id, Integer reportType); /** * 获取作废反馈 * * @param id */ void getCancelFeedback(Long id, Integer reportType, TaxDeclarationRateDTO taxDeclarationRate); /** * 更正申报 * * @param id */ void updateDeclare(Long id, Integer reportType); /** * 撤销申报 * * @param id */ void cancelCorrect(Long id); /** * 税局端申报状态查询 * * @param id */ String queryDeclareStatus(Long id); void updateById(TaxDeclareRecordPO taxDeclareRecord); }