diff --git a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java index 66aec4865..4c4e54e09 100644 --- a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java +++ b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java @@ -209,64 +209,64 @@ public class TaxDeclarationBO { // 本期收入 BigDecimal income = SalaryEntityUtil.reduce(resultMap.get(salaryItemMap.getOrDefault(TaxDeclarationDataIndexConstant.INCOME, 0L)), salaryAcctResultPO -> SalaryEntityUtil.empty2Zero(salaryAcctResultPO.getResultValue())); - valueMap.put(TaxDeclarationDataIndexConstant.INCOME, income.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.INCOME, SalaryEntityUtil.zero2Empty(income)); // 本期免税收入 BigDecimal taxFreeIncome = findValue(TaxDeclarationDataIndexConstant.TAX_FREE_INCOME, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.TAX_FREE_INCOME, taxFreeIncome.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.TAX_FREE_INCOME, SalaryEntityUtil.zero2Empty(taxFreeIncome)); // 基本养老保险 BigDecimal endowmentInsurance = findValue(TaxDeclarationDataIndexConstant.ENDOWMENT_INSURANCE, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ENDOWMENT_INSURANCE, endowmentInsurance.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ENDOWMENT_INSURANCE, SalaryEntityUtil.zero2Empty(endowmentInsurance)); // 基本医疗保险 BigDecimal medicalInsurance = findValue(TaxDeclarationDataIndexConstant.MEDICAL_INSURANCE, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.MEDICAL_INSURANCE, medicalInsurance.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.MEDICAL_INSURANCE, SalaryEntityUtil.zero2Empty(medicalInsurance)); // 失业保险费 BigDecimal unemploymentInsurance = findValue(TaxDeclarationDataIndexConstant.UNEMPLOYMENT_INSURANCE, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.UNEMPLOYMENT_INSURANCE, unemploymentInsurance.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.UNEMPLOYMENT_INSURANCE, SalaryEntityUtil.zero2Empty(unemploymentInsurance)); // 住房公积金 BigDecimal housingProvidentFund = findValue(TaxDeclarationDataIndexConstant.HOUSING_PROVIDENT_FUND, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.HOUSING_PROVIDENT_FUND, housingProvidentFund.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.HOUSING_PROVIDENT_FUND, SalaryEntityUtil.zero2Empty(housingProvidentFund)); // 累计子女教育 BigDecimal addUpChildEducation = findValue(TaxDeclarationDataIndexConstant.ADD_UP_CHILD_EDUCATION, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_CHILD_EDUCATION, addUpChildEducation.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_CHILD_EDUCATION, SalaryEntityUtil.zero2Empty(addUpChildEducation)); // 累计继续教育 BigDecimal addUpContinuingEducation = findValue(TaxDeclarationDataIndexConstant.ADD_UP_CONTINUING_EDUCATION, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_CONTINUING_EDUCATION, addUpContinuingEducation.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_CONTINUING_EDUCATION, SalaryEntityUtil.zero2Empty(addUpContinuingEducation)); // 累计住房贷款利息 BigDecimal addUpHousingLoanInterest = findValue(TaxDeclarationDataIndexConstant.ADD_UP_HOUSING_LOAN_INTEREST, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_HOUSING_LOAN_INTEREST, addUpHousingLoanInterest.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_HOUSING_LOAN_INTEREST, SalaryEntityUtil.zero2Empty(addUpHousingLoanInterest)); // 累计住房租金 BigDecimal addUpHousingRent = findValue(TaxDeclarationDataIndexConstant.ADD_UP_HOUSING_RENT, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_HOUSING_RENT, addUpHousingRent.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_HOUSING_RENT, SalaryEntityUtil.zero2Empty(addUpHousingRent)); // 累计赡养老人 BigDecimal addUpSupportElderly = findValue(TaxDeclarationDataIndexConstant.ADD_UP_SUPPORT_ELDERLY, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_SUPPORT_ELDERLY, addUpSupportElderly.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_SUPPORT_ELDERLY, SalaryEntityUtil.zero2Empty(addUpSupportElderly)); // 累计大病医疗 BigDecimal addUpIllnessMedical = findValue(TaxDeclarationDataIndexConstant.ADD_UP_ILLNESS_MEDICAL, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_ILLNESS_MEDICAL, addUpIllnessMedical.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_ILLNESS_MEDICAL, SalaryEntityUtil.zero2Empty(addUpIllnessMedical)); // 累计婴幼儿照护 BigDecimal addUpInfantCare = findValue(TaxDeclarationDataIndexConstant.ADD_UP_INFANT_CARE, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_INFANT_CARE, addUpInfantCare.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_INFANT_CARE, SalaryEntityUtil.zero2Empty(addUpInfantCare)); // 累计个人养老金 BigDecimal addUpPrivatePension = findValue(TaxDeclarationDataIndexConstant.ADD_UP_PRIVATE_PENSION, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_PRIVATE_PENSION, addUpPrivatePension.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_PRIVATE_PENSION, SalaryEntityUtil.zero2Empty(addUpPrivatePension)); // 企业(职业)年金 BigDecimal annuity = findValue(TaxDeclarationDataIndexConstant.ANNUITY, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ANNUITY, annuity.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ANNUITY, SalaryEntityUtil.zero2Empty(annuity)); // 商业健康保险 BigDecimal commercialHealthInsurance = findValue(TaxDeclarationDataIndexConstant.COMMERCIAL_HEALTH_INSURANCE, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.COMMERCIAL_HEALTH_INSURANCE, commercialHealthInsurance.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.COMMERCIAL_HEALTH_INSURANCE, SalaryEntityUtil.zero2Empty(commercialHealthInsurance)); // 税延养老保险 BigDecimal taxDeferredEndowmentInsurance = findValue(TaxDeclarationDataIndexConstant.TAX_DEFERRED_ENDOWMENT_INSURANCE, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.TAX_DEFERRED_ENDOWMENT_INSURANCE, taxDeferredEndowmentInsurance.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.TAX_DEFERRED_ENDOWMENT_INSURANCE, SalaryEntityUtil.zero2Empty(taxDeferredEndowmentInsurance)); // 其他 BigDecimal other = findValue(TaxDeclarationDataIndexConstant.OTHER, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.OTHER, other.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.OTHER, SalaryEntityUtil.zero2Empty(other)); // 准予扣除的捐赠额 BigDecimal allowedDonation = findValue(TaxDeclarationDataIndexConstant.ALLOWED_DONATION, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ALLOWED_DONATION, allowedDonation.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ALLOWED_DONATION, SalaryEntityUtil.zero2Empty(allowedDonation)); // 减免税额 BigDecimal taxDeduction = findValue(TaxDeclarationDataIndexConstant.TAX_DEDUCTION, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.TAX_DEDUCTION, taxDeduction.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.TAX_DEDUCTION, SalaryEntityUtil.zero2Empty(taxDeduction)); // 生成个税申报表详情 result.getNeedInsertTaxDeclarationDetails().addAll(convert2DetailPO(taxDeclaration, employeeType, employeeId, valueMap)); }); @@ -303,22 +303,22 @@ public class TaxDeclarationBO { valueMap.put(TaxDeclarationDataIndexConstant.INCOME_ITEMS, incomeItems); // 收入 BigDecimal laborIncome = findValue(TaxDeclarationDataIndexConstant.LABOR_INCOME, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.LABOR_INCOME, laborIncome.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.LABOR_INCOME, SalaryEntityUtil.zero2Empty(laborIncome)); // 免税收入 BigDecimal laborTaxFreeIncome = findValue(TaxDeclarationDataIndexConstant.LABOR_TAX_FREE_INCOME, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.LABOR_TAX_FREE_INCOME, laborTaxFreeIncome.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.LABOR_TAX_FREE_INCOME, SalaryEntityUtil.zero2Empty(laborTaxFreeIncome)); // 商业健康保险 BigDecimal commercialHealthInsurance = findValue(TaxDeclarationDataIndexConstant.COMMERCIAL_HEALTH_INSURANCE, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.COMMERCIAL_HEALTH_INSURANCE, commercialHealthInsurance.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.COMMERCIAL_HEALTH_INSURANCE, SalaryEntityUtil.zero2Empty(commercialHealthInsurance)); // 税延养老保险 BigDecimal taxDeferredEndowmentInsurance = findValue(TaxDeclarationDataIndexConstant.TAX_DEFERRED_ENDOWMENT_INSURANCE, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.TAX_DEFERRED_ENDOWMENT_INSURANCE, taxDeferredEndowmentInsurance.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.TAX_DEFERRED_ENDOWMENT_INSURANCE, SalaryEntityUtil.zero2Empty(taxDeferredEndowmentInsurance)); // 其他 BigDecimal other = findValue(TaxDeclarationDataIndexConstant.OTHER, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.OTHER, other.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.OTHER, SalaryEntityUtil.zero2Empty(other)); // 准予扣除的捐赠额 BigDecimal allowedDonation = findValue(TaxDeclarationDataIndexConstant.ALLOWED_DONATION, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ALLOWED_DONATION, allowedDonation.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ALLOWED_DONATION, SalaryEntityUtil.zero2Empty(allowedDonation)); // 生成个税申报表详情 result.getNeedInsertTaxDeclarationDetails().addAll(convert2DetailPO(taxDeclaration, employeeType, employeeId, valueMap)); }); @@ -349,19 +349,19 @@ public class TaxDeclarationBO { Map> resultMap = SalaryEntityUtil.group2Map(salaryAcctResultPOS, SalaryAcctResultPO::getSalaryItemId); // 全年一次性奖金额 BigDecimal laborIncome = findValue(TaxDeclarationDataIndexConstant.ANNUAL_INCOME, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ANNUAL_INCOME, laborIncome.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ANNUAL_INCOME, SalaryEntityUtil.zero2Empty(laborIncome)); // 免税收入 BigDecimal laborTaxFreeIncome = findValue(TaxDeclarationDataIndexConstant.ANNUAL_TAX_FREE_INCOME, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ANNUAL_TAX_FREE_INCOME, laborTaxFreeIncome.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ANNUAL_TAX_FREE_INCOME, SalaryEntityUtil.zero2Empty(laborTaxFreeIncome)); // 其他 BigDecimal other = findValue(TaxDeclarationDataIndexConstant.ANNUAL_OTHER, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ANNUAL_OTHER, other.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ANNUAL_OTHER, SalaryEntityUtil.zero2Empty(other)); // 准予扣除的捐赠额 BigDecimal allowedDonation = findValue(TaxDeclarationDataIndexConstant.ANNUAL_DONATE_TAX, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ANNUAL_DONATE_TAX, allowedDonation.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ANNUAL_DONATE_TAX, SalaryEntityUtil.zero2Empty(allowedDonation)); // 减免税额 BigDecimal annualTaxSavings = findValue(TaxDeclarationDataIndexConstant.ANNUAL_TAX_SAVINGS, resultMap, salaryItemMap); - valueMap.put(TaxDeclarationDataIndexConstant.ANNUAL_TAX_SAVINGS, annualTaxSavings.toPlainString()); + valueMap.put(TaxDeclarationDataIndexConstant.ANNUAL_TAX_SAVINGS, SalaryEntityUtil.zero2Empty(annualTaxSavings)); // 备注 String annualRemark = findStringValue(TaxDeclarationDataIndexConstant.ANNUAL_REMARK, resultMap, salaryItemMap); valueMap.put(TaxDeclarationDataIndexConstant.ANNUAL_REMARK, annualRemark); diff --git a/src/com/engine/salary/util/SalaryEntityUtil.java b/src/com/engine/salary/util/SalaryEntityUtil.java index 03cc7c8df..06ca45e3d 100644 --- a/src/com/engine/salary/util/SalaryEntityUtil.java +++ b/src/com/engine/salary/util/SalaryEntityUtil.java @@ -216,6 +216,13 @@ public class SalaryEntityUtil { } } + public static String zero2Empty(BigDecimal value) { + if (value==null || value.equals(BigDecimal.ZERO)) { + return ""; + } + return value.toPlainString(); + } + /** * 进位规则