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

192 lines
4.3 KiB
Java
Raw Normal View History

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-12-28 14:09:34 +08:00
import com.engine.salary.entity.taxdeclaration.param.DeclareTaxResultFeedbackQueryParam;
2023-08-11 14:20:14 +08:00
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam;
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam;
2024-04-07 11:29:09 +08:00
import com.engine.salary.entity.taxdeclaration.param.TaxDeclareRecordParam;
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
**/
2024-01-03 10:40:55 +08:00
public interface TaxDeclareRecordService {
2023-08-10 09:33:04 +08:00
/**
* 查询个税申报记录
*
* @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
2024-01-04 15:35:23 +08:00
/**
* 税局端申报明细查询
*
*/
2024-04-07 11:29:09 +08:00
String queryCompanyIncomes(TaxDeclareRecordParam taxDeclareRecordParam);
2024-01-04 15:35:23 +08:00
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
*/
2024-03-29 10:44:55 +08:00
void declare(Long id, Integer reportType);
2023-08-10 09:33:04 +08:00
/**
* 个税申报获取反馈
*
* @param id
*/
2024-03-29 10:44:55 +08:00
void getDeclareFeedback(Long id, Integer reportType, TaxDeclarationRateDTO taxDeclarationRate);
2023-08-10 09:33:04 +08:00
2023-12-05 14:58:02 +08:00
/**
* 申报内置算税结果查询
2024-01-03 10:40:55 +08:00
*
2023-12-05 14:58:02 +08:00
* @param id
* @return
*/
Object getDeclareTaxResultFeedback(Long id);
2023-12-28 14:09:34 +08:00
XSSFWorkbook exportGetDeclareTaxResultFeedback(DeclareTaxResultFeedbackQueryParam param);
2024-01-03 10:40:55 +08:00
2023-08-10 09:33:04 +08:00
/**
* 作废
*
* @param id
*/
2024-03-29 10:44:55 +08:00
void cancelDeclare(Long id, Integer reportType);
2023-08-10 09:33:04 +08:00
/**
* 获取作废反馈
*
* @param id
*/
2024-03-29 10:44:55 +08:00
void getCancelFeedback(Long id, Integer reportType, TaxDeclarationRateDTO taxDeclarationRate);
2023-08-10 09:33:04 +08:00
/**
* 更正申报
*
* @param id
*/
2024-03-29 10:44:55 +08:00
void updateDeclare(Long id, Integer reportType);
2023-08-10 09:33:04 +08:00
2024-01-03 10:40:55 +08:00
/**
* 撤销申报
*
* @param id
*/
void cancelCorrect(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
2023-08-17 14:55:32 +08:00
void updateById(TaxDeclareRecordPO taxDeclareRecord);
2023-08-10 09:33:04 +08:00
}