package com.engine.salary.service;
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationValueListDTO;
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationValueListQueryParam;
import com.engine.salary.entity.taxdeclaration.param.TaxDeclareRecordDetailSaveParam;
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationValuePO;
import com.engine.salary.entity.taxdeclaration.po.TaxDeclareRecordPO;
import com.engine.salary.util.page.PageInfo;
import java.util.Collection;
import java.util.List;
/**
* 个税申报表明细
*
Copyright: Copyright (c) 2023
* Company: 泛微软件
*
* @author qiantao
* @version 1.0
**/
public interface TaxDeclarationValueService {
/**
* 查询个税申报表明细
*
* @param taxDeclarationIds
* @return
*/
PageInfo listPageByTaxDeclarationIds(TaxDeclarationValueListQueryParam queryParam,Collection taxDeclarationIds);
/**
* 查询个税申报表明细
*
* @param taxDeclarationIds
* @return
*/
List listByTaxDeclarationIds(Collection taxDeclarationIds);
List listByTaxDeclarationId(Long taxDeclarationIds);
/**
* 查询个税申报表明细
*
* @param taxDeclarationIds
* @return
*/
List listByTaxDeclarationIdsNoDecrypt(Collection taxDeclarationIds);
/**
* 个税申报表明细列表
*
* @param taxDeclarationValues
* @return
*/
TaxDeclarationValueListDTO convert2List(TaxDeclarationPO taxDeclaration, List taxDeclarationValues);
/**
* 批量保存
*
* @param taxDeclarationValues
*/
void batchSave(List taxDeclarationValues);
void batchEdit(List taxDeclarationValues);
void save(TaxDeclareRecordDetailSaveParam param);
void edit(TaxDeclareRecordDetailSaveParam param);
TaxDeclarationValuePO getById(Long id);
/**
* 删除个税申报表明细
*
* @param taxDeclareRecordIds
*/
void deleteByTaxDeclareRecordIds(Collection taxDeclareRecordIds);
/**
* 因为单独申报年终奖不可行
* 需要补充正常工资薪金的申报,按0申报
* @param po
*/
void autoAddWagesDeclare(TaxDeclareRecordPO po);
}