This commit is contained in:
钱涛 2022-05-31 18:27:33 +08:00
parent 3471783d65
commit 3f958d2886
2 changed files with 24 additions and 7 deletions

View File

@ -23,7 +23,7 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
@SalaryTable(pageId = "a4f85287-e3f9-4275-adn9-7d06e54y6rj8", tableType = WeaTableType.CHECKBOX, operates = {
@SalaryTable(pageId = "a4f85287-e3f9-4275-adn9-7d06e54y67j8", tableType = WeaTableType.CHECKBOX, operates = {
@SalaryTableOperate(text = "查看明细")
})
public class AddUpDeductionDTO {

View File

@ -16,11 +16,12 @@ import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.page.PageInfo;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import dm.jdbc.util.IdGenerator;
import lombok.Data;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.math.NumberUtils;
import weaver.hrm.User;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
@ -157,7 +158,8 @@ public class TaxDeclarationBO {
// 核算结果按照人员id分类
Map<Long, List<SalaryAcctResultPO>> acctResultMap = SalaryEntityUtil.group2Map(salaryAcctResults, SalaryAcctResultPO::getEmployeeId);
acctResultMap.forEach((k, v) -> {
Map<String, BigDecimal> valueMap = Maps.newHashMapWithExpectedSize(32);
Long employeeId = k;
Map<String, BigDecimal> valueMap = new HashMap<>();
Map<Long, List<SalaryAcctResultPO>> resultMap = SalaryEntityUtil.group2Map(v, SalaryAcctResultPO::getSalaryItemId);
// 收入
BigDecimal income = SalaryEntityUtil.reduce(resultMap.get(salaryItemMap.getOrDefault("income", 0L)), e -> SalaryEntityUtil.empty2Zero(e.getResultValue()));
@ -204,6 +206,9 @@ public class TaxDeclarationBO {
// 累计收入
BigDecimal addUpIncome = findAddUpValue("addUpIncome", resultMap, salaryItemMap);
valueMap.put("addUpIncome", addUpIncome);
// 累计免税收入
BigDecimal addUpTaxFreeIncome = findAddUpValue("addUpTaxFreeIncome", resultMap, salaryItemMap);
valueMap.put("addUpTaxFreeIncome", addUpTaxFreeIncome);
// 累计减除费用
BigDecimal addUpSubtraction = findAddUpValue("addUpSubtraction", resultMap, salaryItemMap);
valueMap.put("addUpSubtraction", addUpSubtraction);
@ -225,6 +230,12 @@ public class TaxDeclarationBO {
// 累计赡养老人
BigDecimal addUpSupportElderly = findAddUpValue("addUpSupportElderly", resultMap, salaryItemMap);
valueMap.put("addUpSupportElderly", addUpSupportElderly);
// 累计大病医疗
BigDecimal addUpIllnessMedical = findAddUpValue("addUpIllnessMedical", resultMap, salaryItemMap);
valueMap.put("addUpIllnessMedical", addUpIllnessMedical);
// 累计婴幼儿照护
BigDecimal addUpInfantCare = findAddUpValue("addUpInfantCare", resultMap, salaryItemMap);
valueMap.put("addUpInfantCare", addUpInfantCare);
// 累计其他扣除
BigDecimal addUpOtherDeduction = findAddUpValue("addUpOtherDeduction", resultMap, salaryItemMap);
valueMap.put("addUpOtherDeduction", addUpOtherDeduction);
@ -249,6 +260,9 @@ public class TaxDeclarationBO {
// 减免税额
BigDecimal addUpTaxDeduction = BigDecimal.ZERO;
valueMap.put("addUpTaxDeduction", addUpTaxDeduction);
// 减免税额
BigDecimal taxDeduction = findValue("taxDeduction", resultMap, salaryItemMap);
valueMap.put("taxDeduction", taxDeduction);
// 应补缴税额
BigDecimal refundedOrSupplementedTax = SalaryEntityUtil.reduce(resultMap.get(salaryItemMap.getOrDefault("refundedOrSupplementedTax", 0L)),
e -> SalaryEntityUtil.empty2Zero(e.getResultValue()));
@ -281,9 +295,9 @@ public class TaxDeclarationBO {
// 更新累计情况
AddUpSituation accumulatedSituation = AddUpSituation.builder()
.id(IdGenerator.generate())
.employeeId(k)
.employeeId(employeeId)
.taxAgentId(taxDeclaration.getTaxAgentId())
.taxYearMonth((taxDeclaration.getSalaryMonth()))
.taxYearMonth(taxDeclaration.getSalaryMonth())
.year(taxDeclaration.getSalaryMonth().getYear())
.addUpIncome(addUpIncome.toPlainString())
.addUpSocialSecurityTotal(addUpSocialSecurityTotal.toPlainString())
@ -295,15 +309,18 @@ public class TaxDeclarationBO {
.addUpHousingLoanInterest(addUpHousingLoanInterest.toPlainString())
.addUpHousingRent(addUpHousingRent.toPlainString())
.addUpSupportElderly(addUpSupportElderly.toPlainString())
.addUpIllnessMedical(addUpIllnessMedical.toPlainString())
.addUpInfantCare(addUpInfantCare.toPlainString())
.addUpOtherDeduction(addUpOtherDeduction.toPlainString())
.addUpTaxExemptIncome("0")
.addUpTaxExemptIncome(addUpTaxFreeIncome.toPlainString())
.addUpAllowedDonation(addUpAllowedDonation.toPlainString())
.addUpAdvanceTax(addUpTaxPayable.toPlainString())
// .addUpTaxSavings(taxDeduction.toPlainString())
.creator(taxDeclaration.getCreator())
.createTime(taxDeclaration.getCreateTime())
.updateTime(taxDeclaration.getUpdateTime())
.tenantKey(taxDeclaration.getTenantKey())
.deleteType(0)
.deleteType(NumberUtils.INTEGER_ZERO)
.build();
result.getNeedInsertAccumulatedSituations().add(accumulatedSituation);
});