分类所得-上市公司股息红利所得(沪市、深市、创业板)

分类所得-其他利息股息红利所得
This commit is contained in:
钱涛 2025-06-17 17:25:27 +08:00
parent d4ff9af8b7
commit c3d6ac8b66
4 changed files with 60 additions and 5 deletions

View File

@ -340,6 +340,11 @@ public class TaxDeclarationRequest {
}
List<TaxReportColumnPO> taxReportColumnList = taxReportColumnMap.get(Util.null2String(incomeCategoryEnum.getValue()));
Map<String, Object> employeeRequestParam = convert2RequestParam(incomeCategoryEnum, taxReportColumnList, taxDeclarationValue, employeeDeclare);
if (incomeCategoryEnum == IncomeCategoryEnum.CLASSIFIED_INCOME_LISTED_COMPANY_DIVIDENDS_BONUSES) {
// 上市公司股息红利所得沪市深市创业板
List<Map<String, Object>> employeeRequestParams = listRequestParam.computeIfAbsent("ssgsgxhllb", k -> Lists.newArrayList());
employeeRequestParams.add(employeeRequestParam);
}
if (incomeCategoryEnum == IncomeCategoryEnum.CLASSIFIED_INCOME_OTHER_INTEREST_DIVIDENDS_BONUSES) {
// 其他利息股息红利所得
List<Map<String, Object>> employeeRequestParams = listRequestParam.computeIfAbsent("lxgxhllb", k -> Lists.newArrayList());

View File

@ -711,7 +711,7 @@ public class GetDeclareTaxResultFeedbackResponse extends BaseResponse {
@Data
public static class flsdssjgdx {
/**
* 算税成功列表 参考输入报文非居民所得输出结果报文
* 算税成功列表 参考输入报文非居民所得输出结果报文
*/
private List<flsdscbw> sscglb;
/**
@ -743,90 +743,134 @@ public class GetDeclareTaxResultFeedbackResponse extends BaseResponse {
/**
* 姓名 必填null 汇总申报返回空
*/
@SalaryTableColumn(text = "姓名", width = "10%", column = "xm")
@ExcelHead(title = "姓名", dataIndex = "xm")
private String xm;
/**
* 证件类型名称 必填null 汇总申报返回空
*/
@SalaryTableColumn(text = "证件类型", width = "10%", column = "zzlx")
@ExcelHead(title = "证件类型", dataIndex = "zzlx")
private String zzlx;
/**
* 证件号码 必填null 汇总申报返回空
*/
@SalaryTableColumn(text = "证件号码", width = "10%", column = "zzhm")
@ExcelHead(title = "证件号码", dataIndex = "zzhm")
private String zzhm;
/**
* 收入额 必填
*/
@SalaryTableColumn(text = "本期收入", width = "10%", column = "sre")
@ExcelHead(title = "本期收入", dataIndex = "sre")
private String sre;
/**
* 免税收入 必填
*/
@SalaryTableColumn(text = "本期免税收入", width = "10%", column = "mssd")
@ExcelHead(title = "本期免税收入", dataIndex = "mssd")
private String mssd;
/**
* 财产原值 必填
*/
@SalaryTableColumn(text = "财产原值", width = "10%", column = "ccyz")
@ExcelHead(title = "财产原值", dataIndex = "ccyz")
private String ccyz;
/**
* 允许扣除的税费 必填
*/
@SalaryTableColumn(text = "允许扣除的税费", width = "10%", column = "yxkcsf")
@ExcelHead(title = "允许扣除的税费", dataIndex = "yxkcsf")
private String yxkcsf;
/**
* 投资抵扣 必填
*/
@SalaryTableColumn(text = "投资抵扣", width = "10%", column = "tzdk")
@ExcelHead(title = "投资抵扣", dataIndex = "tzdk")
private String tzdk;
/**
* 其他 必填
*/
@SalaryTableColumn(text = "其他", width = "10%", column = "qt")
@ExcelHead(title = "其他", dataIndex = "qt")
private String qt;
/**
* 备注 必填
*/
@SalaryTableColumn(text = "备注", width = "10%", column = "bz")
@ExcelHead(title = "备注", dataIndex = "bz")
private String bz;
/**
* 减除费用 必填
*/
@SalaryTableColumn(text = "减除费用", width = "10%", column = "jcfy")
@ExcelHead(title = "减除费用", dataIndex = "jcfy")
private String jcfy;
/**
* 减计比例 必填
*/
@SalaryTableColumn(text = "减计比例", width = "10%", column = "jjbl")
@ExcelHead(title = "减计比例", dataIndex = "jjbl")
private String jjbl;
/**
* 准予扣除的捐赠额 必填
*/
@SalaryTableColumn(text = "准予扣除的捐赠额", width = "10%", column = "zykcjze")
@ExcelHead(title = "准予扣除的捐赠额", dataIndex = "zykcjze")
private String zykcjze;
/**
* 税前扣除项目合计 必填
*/
@SalaryTableColumn(text = "税前扣除项目合计", width = "10%", column = "sqkcxmhj")
@ExcelHead(title = "税前扣除项目合计", dataIndex = "sqkcxmhj")
private String sqkcxmhj;
/**
* 应纳税所得额 必填
*/
@SalaryTableColumn(text = "应纳税所得额", width = "10%", column = "ynssde")
@ExcelHead(title = "应纳税所得额", dataIndex = "ynssde")
private String ynssde;
/**
* 应纳税额 必填
*/
@SalaryTableColumn(text = "应纳税额", width = "10%", column = "ynse")
@ExcelHead(title = "应纳税额", dataIndex = "ynse")
private String ynse;
/**
* 减免税额 必填
*/
@SalaryTableColumn(text = "减免税额", width = "10%", column = "jmse")
@ExcelHead(title = "减免税额", dataIndex = "jmse")
private String jmse;
/**
* 已缴税额 必填 无需填写该值按0处理
*/
@SalaryTableColumn(text = "已缴税额", width = "10%", column = "ykjse")
@ExcelHead(title = "已缴税额", dataIndex = "ykjse")
private String ykjse;
/**
* 应扣缴税额 必填
*/
@SalaryTableColumn(text = "应扣缴税额", width = "10%", column = "yingkjse")
@ExcelHead(title = "应扣缴税额", dataIndex = "yingkjse")
private String yingkjse;
/**
* 税率 必填
*/
@SalaryTableColumn(text = "税率", width = "10%", column = "sl")
@ExcelHead(title = "税率", dataIndex = "sl")
private String sl;
/**
* 速算扣除数 必填
*/
@SalaryTableColumn(text = "速算扣除数", width = "10%", column = "sskcs")
@ExcelHead(title = "速算扣除数", dataIndex = "sskcs")
private String sskcs;
/**
* 应补退税额 必填
*/
@SalaryTableColumn(text = "应补退税额", width = "10%", column = "ybtse")
@ExcelHead(title = "应补退税额", dataIndex = "ybtse")
private String ybtse;
/**
* 分类所得名字 必填 分类所得薪金类别-利息股息红利所得股权转让所得其他财产转让所得偶然所得其他所得"

View File

@ -25,6 +25,7 @@ import com.engine.salary.entity.taxdeclaration.po.*;
import com.engine.salary.enums.OperateTypeEnum;
import com.engine.salary.enums.salaryaccounting.EmployeeTypeEnum;
import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
import com.engine.salary.enums.salarysob.DeclareReportTypeEnum;
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
import com.engine.salary.enums.sicategory.DeleteTypeEnum;
import com.engine.salary.enums.taxdeclaration.SourceEnum;
@ -365,7 +366,12 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar
Map<String, List<List<Object>>> onlineDataMap = new HashMap<>();
List<TaxDeclarationPO> list = getTaxDeclarationService(user).listByTaxDeclareRecordId(taxDeclareRecordPO.getId());
list.stream().map(TaxDeclarationPO::getIncomeCategory).map(IncomeCategoryEnum::parseByValue).forEach(e -> e.parseGetDeclareTaxResultFeedbackResponse(onlineDataMap, declareTaxResultFeedbackResponse));
list.stream()
.map(TaxDeclarationPO::getIncomeCategory)
.map(IncomeCategoryEnum::parseByValue)
.filter(Objects::nonNull)
.filter(e -> e.getReportType() == DeclareReportTypeEnum.parseByValue(reportType))
.forEach(e -> e.parseGetDeclareTaxResultFeedbackResponse(onlineDataMap, declareTaxResultFeedbackResponse));
Map<String, Object> resultList = new HashMap<>();
List<TaxDeclarationValuePO> taxDeclarationValues = listByTaxDeclarationId(taxDeclaration.getId());
@ -446,7 +452,7 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar
onlyShowColumns.add(col);
hasDiff.set(true);
}
} else if ((StrUtil.isBlank(localValue) && "0.00".equals(onlineValue)) || (StrUtil.isBlank(onlineValue) && "0.00".equals(localValue))) {
} else if ((StrUtil.isBlank(localValue) && ("0.00".equals(onlineValue) || "0".equals(onlineValue))) || (StrUtil.isBlank(onlineValue) && ("0.00".equals(localValue) || "0".equals(localValue)))) {
//短路
} else {
if (!Objects.equals(localValue, onlineValue)) {

View File

@ -734,7 +734,7 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
Map<String, String> params = new HashMap<>(1);
Map<String, String> header = SingnatureData.initHeader(params, apiConfig.getAppKey(), apiConfig.getAppSecret());
String res = HttpUtil.doPost(url, header, reqJson, HttpUtil.JSON_TYPE);
log.info("个税申报数据:params {} ,res {}, taxDeclareRecord: {}",params, res, taxDeclareRecord);
log.info("个税申报数据:params {} ,res {}, taxDeclareRecord: {}",reqJson, res, taxDeclareRecord);
DeclareTaxResponse declareTaxResponse = JsonUtil.parseObject(res, DeclareTaxResponse.class);
if (Objects.isNull(declareTaxResponse) || Objects.isNull(declareTaxResponse.getHead())) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(156449, "服务异常"));