diff --git a/src/com/engine/salary/service/impl/SalaryCalcTaxServiceImpl.java b/src/com/engine/salary/service/impl/SalaryCalcTaxServiceImpl.java index f6182ce83..2ee4b657e 100644 --- a/src/com/engine/salary/service/impl/SalaryCalcTaxServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryCalcTaxServiceImpl.java @@ -159,7 +159,7 @@ public class SalaryCalcTaxServiceImpl extends Service implements SalaryCalcTaxSe // 请求第三方供应商 String res = HttpUtil.doPost(url, header, reqJson, HttpUtil.JSON_TYPE); TaskUtil taskUtil = new TaskUtil(); - taskUtil.writeApiTaskRecord(salaryAcctRecordId+"", url, reqJson, res); + taskUtil.writeApiTaskRecord(salaryAcctRecordId + "", url, reqJson, res); DeclareTaxResponse declareTaxResponse = JsonUtil.parseObject(res, DeclareTaxResponse.class); if (Objects.isNull(declareTaxResponse) || Objects.isNull(declareTaxResponse.getHead())) { @@ -262,31 +262,33 @@ public class SalaryCalcTaxServiceImpl extends Service implements SalaryCalcTaxSe continue; } List taxRules = salarySobTaxRuleDTO.getTaxRules(); - taxRules.forEach(rule -> { - Long salaryItemId = rule.getSalaryItemId(); - SalaryAcctResultPO salaryAcctResultPO = salaryAcctResultValue.get(salaryItemId); - if (salaryAcctResultPO != null) { - salaryAcctResultPO.setResultValue(rule.getValue()); - updateResultPOS.add(salaryAcctResultPO); - } else { - salaryAcctResultPO = SalaryAcctResultPO.builder() - .salaryAcctRecordId(salaryAcctRecordId) - .salaryAcctEmpId(salaryAcctEmployee.getId()) - .employeeId(salaryAcctEmployee.getEmployeeId()) - .taxAgentId(salaryAcctEmployee.getTaxAgentId()) - .salarySobId(salaryAcctEmployee.getSalarySobId()) - .salaryItemId(salaryItemId) - .resultValue(rule.getValue()) - .originResultValue("") - .creator((long) user.getUID()) - .createTime(now) - .updateTime(now) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .deleteType(0) - .build(); - addResultPOS.add(salaryAcctResultPO); - } - }); + taxRules.stream() + .filter(rule -> rule.getSalaryItemId() != null) + .forEach(rule -> { + Long salaryItemId = rule.getSalaryItemId(); + SalaryAcctResultPO salaryAcctResultPO = salaryAcctResultValue.get(salaryItemId); + if (salaryAcctResultPO != null) { + salaryAcctResultPO.setResultValue(rule.getValue()); + updateResultPOS.add(salaryAcctResultPO); + } else { + salaryAcctResultPO = SalaryAcctResultPO.builder() + .salaryAcctRecordId(salaryAcctRecordId) + .salaryAcctEmpId(salaryAcctEmployee.getId()) + .employeeId(salaryAcctEmployee.getEmployeeId()) + .taxAgentId(salaryAcctEmployee.getTaxAgentId()) + .salarySobId(salaryAcctEmployee.getSalarySobId()) + .salaryItemId(salaryItemId) + .resultValue(rule.getValue()) + .originResultValue("") + .creator((long) user.getUID()) + .createTime(now) + .updateTime(now) + .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) + .deleteType(0) + .build(); + addResultPOS.add(salaryAcctResultPO); + } + }); } } }