2023-08-10 09:33:04 +08:00
|
|
|
|
package com.engine.salary.service;
|
|
|
|
|
|
|
2023-08-11 14:20:14 +08:00
|
|
|
|
import com.engine.salary.common.YearMonthRange;
|
2023-08-10 09:33:04 +08:00
|
|
|
|
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationRateDTO;
|
2023-08-11 14:20:14 +08:00
|
|
|
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam;
|
|
|
|
|
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam;
|
2023-08-10 09:33:04 +08:00
|
|
|
|
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
|
|
|
|
|
import com.engine.salary.entity.taxdeclaration.po.TaxDeclareRecordPO;
|
2023-08-11 14:20:14 +08:00
|
|
|
|
import com.engine.salary.util.page.PageInfo;
|
2023-12-08 18:15:56 +08:00
|
|
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
2023-08-10 09:33:04 +08:00
|
|
|
|
|
|
|
|
|
|
import java.util.Collection;
|
2023-08-11 14:20:14 +08:00
|
|
|
|
import java.util.Date;
|
|
|
|
|
|
import java.util.List;
|
2023-08-10 09:33:04 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
2023-08-23 16:49:45 +08:00
|
|
|
|
* 个税申报
|
|
|
|
|
|
* <p>Copyright: Copyright (c) 2023</p>
|
|
|
|
|
|
* <p>Company: 泛微软件</p>
|
|
|
|
|
|
*
|
|
|
|
|
|
* @author qiantao
|
|
|
|
|
|
* @version 1.0
|
|
|
|
|
|
**/
|
2023-08-10 09:33:04 +08:00
|
|
|
|
public interface TaxDeclareRecordService {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 查询个税申报记录
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param id
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
TaxDeclareRecordPO getById(Long id);
|
|
|
|
|
|
|
2023-08-11 14:20:14 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 查询个税申报记录
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param ids
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<TaxDeclareRecordPO> listByIds(Collection<Long> ids);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 查询个税申报记录
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param taxCycleRange
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<TaxDeclareRecordPO> listByTaxCycleRange(YearMonthRange taxCycleRange);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 根据个税扣缴义务人id、税款所属期查询个税申报记录
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param taxAgentIds
|
|
|
|
|
|
* @param taxCycle
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<TaxDeclareRecordPO> listByTaxCycleAndTaxAgentIds(Date taxCycle, Collection<Long> taxAgentIds);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 根据个税扣缴义务人id、薪资所属月查询个税申报记录
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param salaryMonth
|
|
|
|
|
|
* @param taxAgentIds
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<TaxDeclareRecordPO> listBySalaryMonthAndTaxAgentIds(Date salaryMonth, Collection<Long> taxAgentIds);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 查询个税申报记录
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param queryParam
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
PageInfo<TaxDeclareRecordPO> listPageByParam(TaxDeclarationListQueryParam queryParam);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 生成申报表
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param saveParam
|
|
|
|
|
|
*/
|
|
|
|
|
|
void save(TaxDeclarationSaveParam saveParam);
|
2023-08-10 09:33:04 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 刷新数据
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param id
|
|
|
|
|
|
*/
|
2023-08-11 14:20:14 +08:00
|
|
|
|
void refreshData(Long id);
|
2023-08-10 09:33:04 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 更新个税申报表的待刷新数据的标识
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param id
|
|
|
|
|
|
*/
|
2023-08-11 14:20:14 +08:00
|
|
|
|
void updateIcon(Long id, Integer displayIcon);
|
2023-08-10 09:33:04 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 因为薪资核算结果发生变动,所以需要更新个税申报表的待刷新数据的标识
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param taxCycle
|
|
|
|
|
|
* @param taxAgentIds
|
|
|
|
|
|
*/
|
2023-08-11 14:20:14 +08:00
|
|
|
|
void updateByTaxCycleAndTaxAgentIds(Date taxCycle, Collection<Long> taxAgentIds);
|
2023-08-10 09:33:04 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 判断是否有权限可查看个税申报表
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param taxDeclaration
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
2023-08-11 14:20:14 +08:00
|
|
|
|
boolean checkByAuthority(TaxDeclarationPO taxDeclaration);
|
2023-08-10 09:33:04 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 根据id删除
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param ids
|
|
|
|
|
|
*/
|
2023-08-11 14:20:14 +08:00
|
|
|
|
void deleteByIds(Collection<Long> ids);
|
2023-08-10 09:33:04 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 个税申报
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param id
|
|
|
|
|
|
*/
|
2023-08-11 14:20:14 +08:00
|
|
|
|
void declare(Long id);
|
2023-08-10 09:33:04 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 个税申报获取反馈
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param id
|
|
|
|
|
|
*/
|
2023-08-11 14:20:14 +08:00
|
|
|
|
void getDeclareFeedback(Long id, TaxDeclarationRateDTO taxDeclarationRate);
|
2023-08-10 09:33:04 +08:00
|
|
|
|
|
2023-12-05 14:58:02 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 申报内置算税结果查询
|
|
|
|
|
|
* @param id
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
Object getDeclareTaxResultFeedback(Long id);
|
|
|
|
|
|
|
2023-12-08 18:15:56 +08:00
|
|
|
|
XSSFWorkbook exportGetDeclareTaxResultFeedback(Long id,String requestId);
|
2023-08-10 09:33:04 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 作废
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param id
|
|
|
|
|
|
*/
|
2023-08-11 14:20:14 +08:00
|
|
|
|
void cancelDeclare(Long id);
|
2023-08-10 09:33:04 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取作废反馈
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param id
|
|
|
|
|
|
*/
|
2023-08-11 14:20:14 +08:00
|
|
|
|
void getCancelFeedback(Long id, TaxDeclarationRateDTO taxDeclarationRate);
|
2023-08-10 09:33:04 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 更正申报
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param id
|
|
|
|
|
|
*/
|
2023-08-11 14:20:14 +08:00
|
|
|
|
void updateDeclare(Long id);
|
2023-08-10 09:33:04 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 税局端申报状态查询
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param id
|
|
|
|
|
|
*/
|
2023-08-11 14:20:14 +08:00
|
|
|
|
String queryDeclareStatus(Long id);
|
2023-08-10 09:33:04 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 税局端申报明细查询
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param id
|
|
|
|
|
|
*/
|
2023-08-11 14:20:14 +08:00
|
|
|
|
String queryCompanyIncomes(Long id);
|
2023-08-17 14:55:32 +08:00
|
|
|
|
|
|
|
|
|
|
void updateById(TaxDeclareRecordPO taxDeclareRecord);
|
|
|
|
|
|
|
2023-08-10 09:33:04 +08:00
|
|
|
|
}
|