diff --git a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationRequest.java b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationRequest.java index cd4140605..1dbb8de4b 100644 --- a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationRequest.java +++ b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationRequest.java @@ -340,6 +340,11 @@ public class TaxDeclarationRequest { } List taxReportColumnList = taxReportColumnMap.get(Util.null2String(incomeCategoryEnum.getValue())); Map employeeRequestParam = convert2RequestParam(incomeCategoryEnum, taxReportColumnList, taxDeclarationValue, employeeDeclare); + if (incomeCategoryEnum == IncomeCategoryEnum.CLASSIFIED_INCOME_LISTED_COMPANY_DIVIDENDS_BONUSES) { + // 上市公司股息红利所得(沪市、深市、创业板) + List> employeeRequestParams = listRequestParam.computeIfAbsent("ssgsgxhllb", k -> Lists.newArrayList()); + employeeRequestParams.add(employeeRequestParam); + } if (incomeCategoryEnum == IncomeCategoryEnum.CLASSIFIED_INCOME_OTHER_INTEREST_DIVIDENDS_BONUSES) { // 其他利息股息红利所得 List> employeeRequestParams = listRequestParam.computeIfAbsent("lxgxhllb", k -> Lists.newArrayList()); diff --git a/src/com/engine/salary/remote/tax/response/declare/GetDeclareTaxResultFeedbackResponse.java b/src/com/engine/salary/remote/tax/response/declare/GetDeclareTaxResultFeedbackResponse.java index aec9cc394..137d849ae 100644 --- a/src/com/engine/salary/remote/tax/response/declare/GetDeclareTaxResultFeedbackResponse.java +++ b/src/com/engine/salary/remote/tax/response/declare/GetDeclareTaxResultFeedbackResponse.java @@ -711,7 +711,7 @@ public class GetDeclareTaxResultFeedbackResponse extends BaseResponse { @Data public static class flsdssjgdx { /** - * 非算税成功列表 参考输入报文非居民所得输出结果报文 + * 算税成功列表 参考输入报文非居民所得输出结果报文 */ private List 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; /** * 分类所得名字 必填:是 分类所得薪金类别-利息股息红利所得,股权转让所得,其他财产转让所得,偶然所得,其他所得" diff --git a/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java index f0f5f9a38..5d75c8efa 100644 --- a/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java @@ -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>> onlineDataMap = new HashMap<>(); List 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 resultList = new HashMap<>(); List 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)) { @@ -504,7 +510,7 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar // 获取线下对比结果 Map contrastMap = contrast(param); List header = ((List) contrastMap.get("columns")); - PageInfo> pageInfo = (PageInfo>)contrastMap.get("pageInfo"); + PageInfo> pageInfo = (PageInfo>) contrastMap.get("pageInfo"); List> list = pageInfo.getList(); List empInfoColumns = new ArrayList<>(); diff --git a/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java index 28914157d..57afeeb08 100644 --- a/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java @@ -734,7 +734,7 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe Map params = new HashMap<>(1); Map 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, "服务异常"));