weaver-hrm-salary/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctConsolidatedTaxBO...

92 lines
5.2 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//package com.engine.salary.entity.salaryacct.bo;
//
//import com.google.common.collect.Lists;
//import com.weaver.hrm.salary.constant.TaxDeclarationDataIndexConstant;
//import com.weaver.hrm.salary.entity.salaryacct.po.SalaryAcctResultPO;
//import com.weaver.hrm.salary.entity.salaryitem.po.SalaryItemPO;
//import com.weaver.hrm.salary.util.SalaryEntityUtil;
//import org.apache.commons.lang3.StringUtils;
//
//import java.math.BigDecimal;
//import java.util.List;
//import java.util.Objects;
//import java.util.Optional;
//
//public class SalaryAcctConsolidatedTaxBO {
//
// /**
// * 处理合并计税的字段的值
// *
// * @param resultValue 本次薪资核算的结果
// * @param salaryItem 当前正在核算的薪资项目
// * @param salaryItems 系统内所有的薪资项目
// * @param salaryAcctResults 其他设计合并计税的薪资核算结果
// * @return
// */
// public static String handleConsolidatedTaxValue(String resultValue,
// SalaryItemPO salaryItem,
// List<SalaryItemPO> salaryItems,
// List<SalaryAcctResultPO> salaryAcctResults) {
// // 社保福利的当月值都是0
// List<String> welfareDataIndexList = Lists.newArrayList(TaxDeclarationDataIndexConstant.ENDOWMENT_INSURANCE,
// TaxDeclarationDataIndexConstant.MEDICAL_INSURANCE,
// TaxDeclarationDataIndexConstant.UNEMPLOYMENT_INSURANCE,
// TaxDeclarationDataIndexConstant.HOUSING_PROVIDENT_FUND,
// TaxDeclarationDataIndexConstant.SOCIAL_SECURITY_TOTAL,
// TaxDeclarationDataIndexConstant.ACCUMULATION_FUND_TOTAL,
// TaxDeclarationDataIndexConstant.SPECIAL_DEDUCTION);
// if (welfareDataIndexList.contains(salaryItem.getCode())) {
// return BigDecimal.ZERO.toPlainString();
// }
// // 专项附加扣除的当月值都是0
// List<String> speAddiDeductionDataIndexList = Lists.newArrayList(TaxDeclarationDataIndexConstant.ADD_UP_CHILD_EDUCATION,
// TaxDeclarationDataIndexConstant.ADD_UP_HOUSING_LOAN_INTEREST,
// TaxDeclarationDataIndexConstant.ADD_UP_HOUSING_RENT,
// TaxDeclarationDataIndexConstant.ADD_UP_CONTINUING_EDUCATION,
// TaxDeclarationDataIndexConstant.ADD_UP_SUPPORT_ELDERLY,
// TaxDeclarationDataIndexConstant.ADD_UP_ILLNESS_MEDICAL);
// if (speAddiDeductionDataIndexList.contains(salaryItem.getCode())) {
// return BigDecimal.ZERO.toPlainString();
// }
// // 本月减除费用也是0
// if (TaxDeclarationDataIndexConstant.SUBTRACTION.equals(salaryItem.getCode())) {
// return BigDecimal.ZERO.toPlainString();
// }
// // 当前累计减除费用、当前累计专项扣除合计、当前累计专项附加扣除合计
// if (TaxDeclarationDataIndexConstant.ADD_UP_SUBTRACTION.equals(salaryItem.getCode())
// || TaxDeclarationDataIndexConstant.ADD_UP_SPECIAL_DEDUCTION.equals(salaryItem.getCode())
// || TaxDeclarationDataIndexConstant.ADD_UP_SPE_ADDI_DEDUCTION.equals(salaryItem.getCode())) {
// return salaryAcctResults.stream()
// .filter(e -> Objects.equals(e.getSalaryItemId(), salaryItem.getId()))
// .map(SalaryAcctResultPO::getResultValue)
// .findFirst()
// .orElse("");
// }
// // 当前累计收入 = 累计值 + 本次收入 + 上几次收入
// if (TaxDeclarationDataIndexConstant.ADD_UP_INCOME.equals(salaryItem.getCode())) {
// Optional<Long> optional = salaryItems.stream().filter(e -> StringUtils.equals(e.getCode(), "income")).map(SalaryItemPO::getId).findAny();
// if (!optional.isPresent()) {
// return "";
// }
// BigDecimal income = salaryAcctResults.stream()
// .filter(e -> Objects.equals(e.getSalaryItemId(), optional.get()))
// .map(e -> SalaryEntityUtil.empty2Zero(e.getResultValue()))
// .reduce(BigDecimal.ZERO, BigDecimal::add);
// return new BigDecimal(resultValue).add(income).toPlainString();
// }
// // 当前累计已扣缴税额合计 = 累计值 + 上几次预扣预缴个税
// if (TaxDeclarationDataIndexConstant.ADD_UP_ADVANCE_TAX.equals(salaryItem.getCode())) {
// Optional<Long> optional = salaryItems.stream().filter(e -> StringUtils.equals(e.getCode(), "refundedOrSupplementedTax")).map(SalaryItemPO::getId).findAny();
// if (!optional.isPresent()) {
// return "";
// }
// BigDecimal refundedOrSupplementedTax = salaryAcctResults.stream()
// .filter(e -> Objects.equals(e.getSalaryItemId(), optional.get()))
// .map(e -> SalaryEntityUtil.empty2Zero(e.getResultValue()))
// .reduce(BigDecimal.ZERO, BigDecimal::add);
// return new BigDecimal(resultValue).add(refundedOrSupplementedTax).toPlainString();
// }
// return resultValue;
// }
//}