diff --git a/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java b/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java index f6cc8c1b3..3e58ab132 100644 --- a/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java +++ b/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java @@ -1,6 +1,5 @@ package com.engine.salary.entity.salaryacct.bo; -import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.NumberUtil; import com.engine.salary.annotation.SalaryFormulaVar; import com.engine.salary.common.LocalDateRange; @@ -32,6 +31,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import lombok.Data; import lombok.experimental.Accessors; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; import weaver.general.Util; @@ -504,19 +504,32 @@ public class CalculateFormulaVarBO { private void handleWelfareData(SalaryAcctCalculateBO salaryAcctCalculateBO, Map> resultMap) { // 社保福利可选字段 List fieldNames = Lists.newArrayList(salaryAcctCalculateBO.getWelfareColumns().values()); - Map> fieldNameMap = fieldNames.stream().collect(Collectors.groupingBy(fieldName -> fieldName.split("_")[0])); + // Map> fieldNameMap = fieldNames.stream().collect(Collectors.groupingBy(fieldName -> fieldName.split("_")[0])); // 社保福利数据 Map> tempMap = new HashMap<>(); welfareData.forEach(map -> { - // String key = map.getOrDefault("employeeId", StringUtils.EMPTY) + "_" + map.getOrDefault("taxAgentId", StringUtils.EMPTY); - String taxAgentId = Utils.null2String(map.getOrDefault("taxAgentId", StringUtils.EMPTY)); - // String taxAgentIdKey = taxAgentId + "_"; + List fieldNamesKeys = map.keySet().stream().filter(k -> k != null).map(k -> { + String[] split = k.split("_"); + if (split != null && split.length > 1) { + return split[0]; + } + return ""; + }).filter(k -> NumberUtils.isCreatable(k)).distinct().collect(Collectors.toList()); + List finalFieldNames = fieldNames.stream().filter(name -> { + if (StringUtils.isBlank(name)) { + return false; + } + String[] split = name.split("_"); + if (split != null && split.length > 1) { + return fieldNamesKeys.contains(split[0]); + } + return false; + }).collect(Collectors.toList()); String key = Utils.null2String(map.getOrDefault("employeeId", StringUtils.EMPTY)); List formulaVarValues = tempMap.computeIfAbsent(key, k -> Lists.newArrayList()); - List fieldNameList = fieldNameMap.get(taxAgentId); - if (CollectionUtil.isNotEmpty(fieldNameList)) { - formulaVarValues.addAll(fieldNameList.stream().map(fieldName -> { + if (CollectionUtils.isNotEmpty(fieldNamesKeys)) { + formulaVarValues.addAll(finalFieldNames.stream().filter(fieldName -> map.get(fieldName) != null).map(fieldName -> { String fieldId = SalaryFormulaReferenceEnum.WELFARE.getValue() + SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR + fieldName; diff --git a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml index 1f077543d..d6c954485 100644 --- a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml +++ b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml @@ -573,6 +573,7 @@ t.fund_per_sum,t.fund_com_sum,t.other_per_sum, t.other_com_sum,t.per_sum,t.com_sum,t.payment_status, t.social_payment_base_string,t.fund_payment_base_string,t.other_payment_base_string + ,t.social_scheme_id, t.fund_scheme_id, t.other_scheme_id,t.status FROM hrsa_bill_detail t WHERE t.delete_type = 0 diff --git a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java index d3042cfcd..ce827fb27 100644 --- a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java @@ -941,38 +941,45 @@ public class SIAccountServiceImpl extends Service implements SIAccountService { Map record = new HashMap<>(); record.put("employeeId", item.getEmployeeId()); record.put("taxAgentId", taxAgentId); + + // 社保方案id + String socialSchemeKey = item.getSocialSchemeId() + "_"; if (StringUtils.isNotEmpty(item.getSocialPerJson())) { Map socialJson = JSON.parseObject(item.getSocialPerJson(), new HashMap().getClass()); socialJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "socialPer", v); + record.put(socialSchemeKey + k + "socialPer", v); }); } if (StringUtils.isNotEmpty(item.getSocialComJson())) { Map socialJson = JSON.parseObject(item.getSocialComJson(), new HashMap().getClass()); socialJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "socialCom", v); + record.put(socialSchemeKey + k + "socialCom", v); }); } - record.put(taxAgentIdKey + "socialPerSum", item.getSocialPerSum()); - record.put(taxAgentIdKey + "socialComSum", item.getSocialComSum()); + record.put(socialSchemeKey + "socialPerSum", item.getSocialPerSum()); + record.put(socialSchemeKey + "socialComSum", item.getSocialComSum()); + // 公积金方案id + String fundSchemeKey = item.getFundSchemeId() + "_"; if (StringUtils.isNotEmpty(item.getFundPerJson())) { Map fundPerJson = JSON.parseObject(item.getFundPerJson(), new HashMap().getClass()); fundPerJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "fundPer", v); + record.put(fundSchemeKey + k + "fundPer", v); }); } if (StringUtils.isNotEmpty(item.getFundComJson())) { Map fundPerJson = JSON.parseObject(item.getFundComJson(), new HashMap().getClass()); fundPerJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "fundCom", v); + record.put(fundSchemeKey + k + "fundCom", v); }); } - record.put(taxAgentIdKey + "fundPerSum", item.getFundPerSum()); - record.put(taxAgentIdKey + "fundComSum", item.getFundComSum()); + record.put(fundSchemeKey + "fundPerSum", item.getFundPerSum()); + record.put(fundSchemeKey + "fundComSum", item.getFundComSum()); + // 其他方案id + String otherSchemeKey = item.getOtherSchemeId() + "_"; if (StringUtils.isNotEmpty(item.getOtherPerJson())) { Map fundPerJson = JSON.parseObject(item.getOtherPerJson(), new HashMap().getClass()); fundPerJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "otherPer", v); + record.put(otherSchemeKey + k + "otherPer", v); }); } if (StringUtils.isNotEmpty(item.getOtherComJson())) { @@ -981,13 +988,13 @@ public class SIAccountServiceImpl extends Service implements SIAccountService { } fundComJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "otherCom", v); + record.put(otherSchemeKey + k + "otherCom", v); }); } - record.put(taxAgentIdKey + "otherPerSum", item.getOtherPerSum()); - record.put(taxAgentIdKey + "otherComSum", item.getOtherComSum()); - record.put(taxAgentIdKey + "perSum", item.getPerSum()); - record.put(taxAgentIdKey + "comSum", item.getComSum()); + record.put(otherSchemeKey + "otherPerSum", item.getOtherPerSum()); + record.put(otherSchemeKey + "otherComSum", item.getOtherComSum()); + record.put(socialSchemeKey + "perSum", item.getPerSum()); + record.put(socialSchemeKey + "comSum", item.getComSum()); //20230707增加福利核算明细中的缴纳状态+合计的数据项、缴纳状态+福利项的数据项 InsuranceAccountDetailPO commonSiAcct = siAcctResultWithEmpAndPayStatus.get(item.getEmployeeId() + "_" + PaymentStatusEnum.COMMON.getValue()); @@ -997,165 +1004,165 @@ public class SIAccountServiceImpl extends Service implements SIAccountService { if (commonSiAcct != null && StringUtils.isNotEmpty(commonSiAcct.getSocialPaymentBaseString())) { Map socialBaseJson = JSON.parseObject(commonSiAcct.getSocialPaymentBaseString(), new HashMap().getClass()); socialBaseJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "socialBase", v); + record.put(socialSchemeKey + k + "socialBase", v); }); } if (commonSiAcct != null && StringUtils.isNotEmpty(commonSiAcct.getFundPaymentBaseString())) { Map fundBaseJson = JSON.parseObject(commonSiAcct.getFundPaymentBaseString(), new HashMap().getClass()); fundBaseJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "fundBase", v); + record.put(fundSchemeKey + k + "fundBase", v); }); } if (commonSiAcct != null && StringUtils.isNotEmpty(commonSiAcct.getOtherPaymentBaseString())) { Map otherBaseJson = JSON.parseObject(commonSiAcct.getOtherPaymentBaseString(), new HashMap().getClass()); otherBaseJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "otherBase", v); + record.put(otherSchemeKey + k + "otherBase", v); }); } //社保-正常缴纳 if (commonSiAcct != null && StringUtils.isNotEmpty(commonSiAcct.getSocialPerJson())) { Map socialJson = JSON.parseObject(commonSiAcct.getSocialPerJson(), new HashMap().getClass()); socialJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "socialCommonPer", v); + record.put(socialSchemeKey + k + "socialCommonPer", v); }); } if (commonSiAcct != null && StringUtils.isNotEmpty(commonSiAcct.getSocialComJson())) { Map socialJson = JSON.parseObject(commonSiAcct.getSocialComJson(), new HashMap().getClass()); socialJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "socialCommonCom", v); + record.put(socialSchemeKey + k + "socialCommonCom", v); }); } - record.put(taxAgentIdKey + "socialPerCommonSum", commonSiAcct != null ? commonSiAcct.getSocialPerSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "socialComCommonSum", commonSiAcct != null ? commonSiAcct.getSocialComSum() : new BigDecimal("0")); + record.put(socialSchemeKey + "socialPerCommonSum", commonSiAcct != null ? commonSiAcct.getSocialPerSum() : new BigDecimal("0")); + record.put(socialSchemeKey + "socialComCommonSum", commonSiAcct != null ? commonSiAcct.getSocialComSum() : new BigDecimal("0")); //社保-补缴 if (repairSiAcct != null && StringUtils.isNotEmpty(repairSiAcct.getSocialPerJson())) { Map socialJson = JSON.parseObject(repairSiAcct.getSocialPerJson(), new HashMap().getClass()); socialJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "socialRepairPer", v); + record.put(socialSchemeKey + k + "socialRepairPer", v); }); } if (repairSiAcct != null && StringUtils.isNotEmpty(repairSiAcct.getSocialComJson())) { Map socialJson = JSON.parseObject(repairSiAcct.getSocialComJson(), new HashMap().getClass()); socialJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "socialRepairCom", v); + record.put(socialSchemeKey + k + "socialRepairCom", v); }); } - record.put(taxAgentIdKey + "socialPerRepairSum", repairSiAcct != null ? repairSiAcct.getSocialPerSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "socialComRepairSum", repairSiAcct != null ? repairSiAcct.getSocialComSum() : new BigDecimal("0")); + record.put(socialSchemeKey + "socialPerRepairSum", repairSiAcct != null ? repairSiAcct.getSocialPerSum() : new BigDecimal("0")); + record.put(socialSchemeKey + "socialComRepairSum", repairSiAcct != null ? repairSiAcct.getSocialComSum() : new BigDecimal("0")); //社保-补差 if (balanceSiAcct != null && StringUtils.isNotEmpty(balanceSiAcct.getSocialPerJson())) { Map socialJson = JSON.parseObject(balanceSiAcct.getSocialPerJson(), new HashMap().getClass()); socialJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "socialBalancePer", v); + record.put(socialSchemeKey + k + "socialBalancePer", v); }); } if (balanceSiAcct != null && StringUtils.isNotEmpty(balanceSiAcct.getSocialComJson())) { Map socialJson = JSON.parseObject(balanceSiAcct.getSocialComJson(), new HashMap().getClass()); socialJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "socialBalanceCom", v); + record.put(socialSchemeKey + k + "socialBalanceCom", v); }); } - record.put(taxAgentIdKey + "socialPerBalanceSum", balanceSiAcct != null ? balanceSiAcct.getSocialPerSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "socialComBalanceSum", balanceSiAcct != null ? balanceSiAcct.getSocialComSum() : new BigDecimal("0")); + record.put(socialSchemeKey + "socialPerBalanceSum", balanceSiAcct != null ? balanceSiAcct.getSocialPerSum() : new BigDecimal("0")); + record.put(socialSchemeKey + "socialComBalanceSum", balanceSiAcct != null ? balanceSiAcct.getSocialComSum() : new BigDecimal("0")); //公积金-正常缴纳 if (commonSiAcct != null && StringUtils.isNotEmpty(commonSiAcct.getFundPerJson())) { Map socialJson = JSON.parseObject(commonSiAcct.getFundPerJson(), new HashMap().getClass()); socialJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "fundCommonPer", v); + record.put(fundSchemeKey + k + "fundCommonPer", v); }); } if (commonSiAcct != null && StringUtils.isNotEmpty(commonSiAcct.getFundComJson())) { Map socialJson = JSON.parseObject(commonSiAcct.getFundComJson(), new HashMap().getClass()); socialJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "fundCommonCom", v); + record.put(fundSchemeKey + k + "fundCommonCom", v); }); } - record.put(taxAgentIdKey + "fundPerCommonSum", commonSiAcct != null ? commonSiAcct.getFundPerSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "fundComCommonSum", commonSiAcct != null ? commonSiAcct.getFundComSum() : new BigDecimal("0")); + record.put(fundSchemeKey + "fundPerCommonSum", commonSiAcct != null ? commonSiAcct.getFundPerSum() : new BigDecimal("0")); + record.put(fundSchemeKey + "fundComCommonSum", commonSiAcct != null ? commonSiAcct.getFundComSum() : new BigDecimal("0")); //公积金-补缴 if (repairSiAcct != null && StringUtils.isNotEmpty(repairSiAcct.getFundPerJson())) { Map fundJson = JSON.parseObject(repairSiAcct.getFundPerJson(), new HashMap().getClass()); fundJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "fundRepairPer", v); + record.put(fundSchemeKey + k + "fundRepairPer", v); }); } if (repairSiAcct != null && StringUtils.isNotEmpty(repairSiAcct.getFundComJson())) { Map fundJson = JSON.parseObject(repairSiAcct.getFundComJson(), new HashMap().getClass()); fundJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "fundRepairCom", v); + record.put(fundSchemeKey + k + "fundRepairCom", v); }); } - record.put(taxAgentIdKey + "fundPerRepairSum", repairSiAcct != null ? repairSiAcct.getFundPerSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "fundComRepairSum", repairSiAcct != null ? repairSiAcct.getFundComSum() : new BigDecimal("0")); + record.put(fundSchemeKey + "fundPerRepairSum", repairSiAcct != null ? repairSiAcct.getFundPerSum() : new BigDecimal("0")); + record.put(fundSchemeKey + "fundComRepairSum", repairSiAcct != null ? repairSiAcct.getFundComSum() : new BigDecimal("0")); //公积金-补差 if (balanceSiAcct != null && StringUtils.isNotEmpty(balanceSiAcct.getFundPerJson())) { Map fundJson = JSON.parseObject(balanceSiAcct.getFundPerJson(), new HashMap().getClass()); fundJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "fundBalancePer", v); + record.put(fundSchemeKey + k + "fundBalancePer", v); }); } if (balanceSiAcct != null && StringUtils.isNotEmpty(balanceSiAcct.getFundComJson())) { Map fundJson = JSON.parseObject(balanceSiAcct.getFundComJson(), new HashMap().getClass()); fundJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "fundBalanceCom", v); + record.put(fundSchemeKey + k + "fundBalanceCom", v); }); } - record.put(taxAgentIdKey + "fundPerBalanceSum", balanceSiAcct != null ? balanceSiAcct.getFundPerSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "fundComBalanceSum", balanceSiAcct != null ? balanceSiAcct.getFundComSum() : new BigDecimal("0")); + record.put(fundSchemeKey + "fundPerBalanceSum", balanceSiAcct != null ? balanceSiAcct.getFundPerSum() : new BigDecimal("0")); + record.put(fundSchemeKey + "fundComBalanceSum", balanceSiAcct != null ? balanceSiAcct.getFundComSum() : new BigDecimal("0")); //其他福利-正常缴纳 if (commonSiAcct != null && StringUtils.isNotEmpty(commonSiAcct.getOtherPerJson())) { Map otherJson = JSON.parseObject(commonSiAcct.getOtherPerJson(), new HashMap().getClass()); otherJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "otherCommonPer", v); + record.put(otherSchemeKey + k + "otherCommonPer", v); }); } if (commonSiAcct != null && StringUtils.isNotEmpty(commonSiAcct.getOtherComJson())) { Map otherJson = JSON.parseObject(commonSiAcct.getOtherComJson(), new HashMap().getClass()); otherJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "otherCommonCom", v); + record.put(otherSchemeKey + k + "otherCommonCom", v); }); } - record.put(taxAgentIdKey + "otherPerCommonSum", commonSiAcct != null ? commonSiAcct.getOtherPerSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "otherComCommonSum", commonSiAcct != null ? commonSiAcct.getOtherComSum() : new BigDecimal("0")); + record.put(otherSchemeKey + "otherPerCommonSum", commonSiAcct != null ? commonSiAcct.getOtherPerSum() : new BigDecimal("0")); + record.put(otherSchemeKey + "otherComCommonSum", commonSiAcct != null ? commonSiAcct.getOtherComSum() : new BigDecimal("0")); //其他福利-补缴 if (repairSiAcct != null && StringUtils.isNotEmpty(repairSiAcct.getOtherPerJson())) { Map otherJson = JSON.parseObject(repairSiAcct.getOtherPerJson(), new HashMap().getClass()); otherJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "otherRepairPer", v); + record.put(otherSchemeKey + k + "otherRepairPer", v); }); } if (repairSiAcct != null && StringUtils.isNotEmpty(repairSiAcct.getOtherComJson())) { Map otherJson = JSON.parseObject(repairSiAcct.getOtherComJson(), new HashMap().getClass()); otherJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "otherRepairCom", v); + record.put(otherSchemeKey + k + "otherRepairCom", v); }); } - record.put(taxAgentIdKey + "otherPerRepairSum", repairSiAcct != null ? repairSiAcct.getOtherPerSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "otherComRepairSum", repairSiAcct != null ? repairSiAcct.getOtherComSum() : new BigDecimal("0")); + record.put(otherSchemeKey + "otherPerRepairSum", repairSiAcct != null ? repairSiAcct.getOtherPerSum() : new BigDecimal("0")); + record.put(otherSchemeKey + "otherComRepairSum", repairSiAcct != null ? repairSiAcct.getOtherComSum() : new BigDecimal("0")); //其他福利-补差 if (balanceSiAcct != null && StringUtils.isNotEmpty(balanceSiAcct.getOtherPerJson())) { Map otherJson = JSON.parseObject(balanceSiAcct.getOtherPerJson(), new HashMap().getClass()); otherJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "otherBalancePer", v); + record.put(otherSchemeKey + k + "otherBalancePer", v); }); } if (balanceSiAcct != null && StringUtils.isNotEmpty(balanceSiAcct.getOtherComJson())) { Map otherJson = JSON.parseObject(balanceSiAcct.getOtherComJson(), new HashMap().getClass()); otherJson.forEach((k, v) -> { - record.put(taxAgentIdKey + k + "otherBalanceCom", v); + record.put(otherSchemeKey + k + "otherBalanceCom", v); }); } - record.put(taxAgentIdKey + "otherPerBalanceSum", balanceSiAcct != null ? balanceSiAcct.getOtherPerSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "otherComBalanceSum", balanceSiAcct != null ? balanceSiAcct.getOtherComSum() : new BigDecimal("0")); + record.put(otherSchemeKey + "otherPerBalanceSum", balanceSiAcct != null ? balanceSiAcct.getOtherPerSum() : new BigDecimal("0")); + record.put(otherSchemeKey + "otherComBalanceSum", balanceSiAcct != null ? balanceSiAcct.getOtherComSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "perCommonSum", commonSiAcct != null ? commonSiAcct.getPerSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "comCommonSum", commonSiAcct != null ? commonSiAcct.getComSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "perRepairSum", repairSiAcct != null ? repairSiAcct.getPerSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "comRepairSum", repairSiAcct != null ? repairSiAcct.getComSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "perBalanceSum", balanceSiAcct != null ? balanceSiAcct.getPerSum() : new BigDecimal("0")); - record.put(taxAgentIdKey + "comBalanceSum", balanceSiAcct != null ? balanceSiAcct.getComSum() : new BigDecimal("0")); + record.put(socialSchemeKey + "perCommonSum", commonSiAcct != null ? commonSiAcct.getPerSum() : new BigDecimal("0")); + record.put(socialSchemeKey + "comCommonSum", commonSiAcct != null ? commonSiAcct.getComSum() : new BigDecimal("0")); + record.put(socialSchemeKey + "perRepairSum", repairSiAcct != null ? repairSiAcct.getPerSum() : new BigDecimal("0")); + record.put(socialSchemeKey + "comRepairSum", repairSiAcct != null ? repairSiAcct.getComSum() : new BigDecimal("0")); + record.put(socialSchemeKey + "perBalanceSum", balanceSiAcct != null ? balanceSiAcct.getPerSum() : new BigDecimal("0")); + record.put(socialSchemeKey + "comBalanceSum", balanceSiAcct != null ? balanceSiAcct.getComSum() : new BigDecimal("0")); result.add(record); }); @@ -1176,100 +1183,74 @@ public class SIAccountServiceImpl extends Service implements SIAccountService { // 获取所有个税扣缴义务人 List allTaxAgentList = getTaxAgentService(user).listAll(); - for (TaxAgentPO taxAgentPO : allTaxAgentList) { + // 获取所有社保方案 + List socialSchemeList = getInsuranceSchemeMapper().listByWelfareType(WelfareTypeEnum.SOCIAL_SECURITY.getValue()); + List fundSchemeList = getInsuranceSchemeMapper().listByWelfareType(WelfareTypeEnum.ACCUMULATION_FUND.getValue()); + List otherSchemeList = getInsuranceSchemeMapper().listByWelfareType(WelfareTypeEnum.OTHER.getValue()); + + for (InsuranceSchemePO socialScheme : socialSchemeList) { Map commonResult = new LinkedHashMap<>(); Map repairResult = new LinkedHashMap<>(); Map balanceResult = new LinkedHashMap<>(); Map baseResult = new LinkedHashMap<>(); - String taxAgentNameFlag = taxAgentPO.getName() + "_"; - String taxAgentIdFlag = taxAgentPO.getId() + "_"; + String socialSchemeNameFlag = socialScheme.getSchemeName() + "_"; + String socialSchemeIdFlag = socialScheme.getId() + "_"; - result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100393, "个人合计"), taxAgentIdFlag + "perSum"); - result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100388, "社保个人合计"), taxAgentIdFlag + "socialPerSum"); - result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100390, "公积金个人合计"), taxAgentIdFlag + "fundPerSum"); - result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100392, "其他福利个人合计"), taxAgentIdFlag + "otherPerSum"); + result.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(100393, "个人合计"), socialSchemeIdFlag + "perSum"); + result.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(100388, "社保个人合计"), socialSchemeIdFlag + "socialPerSum"); + // result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100390, "公积金个人合计"), taxAgentIdFlag + "fundPerSum"); + // result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100392, "其他福利个人合计"), taxAgentIdFlag + "otherPerSum"); - commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "个人正常缴纳合计"), taxAgentIdFlag + "perCommonSum"); - commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保个人正常缴纳合计"), taxAgentIdFlag + "socialPerCommonSum"); - commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金个人正常缴纳合计"), taxAgentIdFlag + "fundPerCommonSum"); - commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利个人正常缴纳合计"), taxAgentIdFlag + "otherPerCommonSum"); - repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "个人补缴合计"), taxAgentIdFlag + "perRepairSum"); - repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保个人补缴合计"), taxAgentIdFlag + "socialPerRepairSum"); - repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金个人补缴合计"), taxAgentIdFlag + "fundPerRepairSum"); - repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利个人补缴合计"), taxAgentIdFlag + "otherPerRepairSum"); - balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "个人补差合计"), taxAgentIdFlag + "perBalanceSum"); - balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保个人补差合计"), taxAgentIdFlag + "socialPerBalanceSum"); - balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金个人补差合计"), taxAgentIdFlag + "fundPerBalanceSum"); - balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利个人补差合计"), taxAgentIdFlag + "otherPerBalanceSum"); + commonResult.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "个人正常缴纳合计"), socialSchemeIdFlag + "perCommonSum"); + commonResult.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保个人正常缴纳合计"), socialSchemeIdFlag + "socialPerCommonSum"); + // commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金个人正常缴纳合计"), taxAgentIdFlag + "fundPerCommonSum"); + // commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利个人正常缴纳合计"), taxAgentIdFlag + "otherPerCommonSum"); + repairResult.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "个人补缴合计"), socialSchemeIdFlag + "perRepairSum"); + repairResult.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保个人补缴合计"), socialSchemeIdFlag + "socialPerRepairSum"); + // repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金个人补缴合计"), taxAgentIdFlag + "fundPerRepairSum"); + // repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利个人补缴合计"), taxAgentIdFlag + "otherPerRepairSum"); + balanceResult.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "个人补差合计"), socialSchemeIdFlag + "perBalanceSum"); + balanceResult.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保个人补差合计"), socialSchemeIdFlag + "socialPerBalanceSum"); + // balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金个人补差合计"), taxAgentIdFlag + "fundPerBalanceSum"); + // balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利个人补差合计"), taxAgentIdFlag + "otherPerBalanceSum"); Map categoryIdNameMap = getSICategoryService(user).categoryIdNameMap(); list.stream().forEach(item -> { if (Objects.equals(WelfareTypeEnum.SOCIAL_SECURITY.getValue(), item.getWelfareType())) { if (Objects.equals(DataTypeEnum.SYSTEM.getValue(), item.getDataType())) { - baseResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "申报基数"), taxAgentIdFlag + item.getId() + "socialBase"); + baseResult.put(socialSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "申报基数"), socialSchemeIdFlag + item.getId() + "socialBase"); } - result.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(87159, "个人"), taxAgentIdFlag + item.getId() + "socialPer"); - commonResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳个人"), taxAgentIdFlag + item.getId() + "socialCommonPer"); - repairResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴个人"), taxAgentIdFlag + item.getId() + "socialRepairPer"); - balanceResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差个人"), taxAgentIdFlag + item.getId() + "socialBalancePer"); + result.put(socialSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(87159, "个人"), socialSchemeIdFlag + item.getId() + "socialPer"); + commonResult.put(socialSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳个人"), socialSchemeIdFlag + item.getId() + "socialCommonPer"); + repairResult.put(socialSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴个人"), socialSchemeIdFlag + item.getId() + "socialRepairPer"); + balanceResult.put(socialSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差个人"), socialSchemeIdFlag + item.getId() + "socialBalancePer"); } - if (Objects.equals(WelfareTypeEnum.ACCUMULATION_FUND.getValue(), item.getWelfareType())) { - if (Objects.equals(DataTypeEnum.SYSTEM.getValue(), item.getDataType())) { - baseResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "申报基数"), taxAgentIdFlag + item.getId() + "fundBase"); - } - result.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(87159, "个人"), taxAgentIdFlag + item.getId() + "fundPer"); - commonResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳个人"), taxAgentIdFlag + item.getId() + "fundCommonPer"); - repairResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴个人"), taxAgentIdFlag + item.getId() + "fundRepairPer"); - balanceResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差个人"), taxAgentIdFlag + item.getId() + "fundBalancePer"); - } - if (Objects.equals(WelfareTypeEnum.OTHER.getValue(), item.getWelfareType())) { - if (Objects.equals(DataTypeEnum.SYSTEM.getValue(), item.getDataType())) { - baseResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "申报基数"),taxAgentIdFlag + item.getId() + "otherBase"); - } - result.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(87159, "个人"), taxAgentIdFlag + item.getId() + "otherPer"); - commonResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳个人"), taxAgentIdFlag + item.getId() + "otherCommonPer"); - repairResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴个人"), taxAgentIdFlag + item.getId() + "otherRepairPer"); - balanceResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差个人"), taxAgentIdFlag + item.getId() + "otherBalancePer"); - } - }); - result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100397, "单位合计"), taxAgentIdFlag + "comSum"); - result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100394, "社保单位合计"), taxAgentIdFlag + "socialComSum"); - result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100395, "公积金单位合计"), taxAgentIdFlag + "fundComSum"); - result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100396, "其他福利单位合计"), taxAgentIdFlag + "otherComSum"); + result.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(100397, "单位合计"), socialSchemeIdFlag + "comSum"); + result.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(100394, "社保单位合计"), socialSchemeIdFlag + "socialComSum"); + // result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100395, "公积金单位合计"), taxAgentIdFlag + "fundComSum"); + // result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100396, "其他福利单位合计"), taxAgentIdFlag + "otherComSum"); - commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "单位正常缴纳合计"), taxAgentIdFlag + "comCommonSum"); - commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保单位正常缴纳合计"), taxAgentIdFlag + "socialComCommonSum"); - commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金单位正常缴纳合计"), taxAgentIdFlag + "fundComCommonSum"); - commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利单位正常缴纳合计"), taxAgentIdFlag + "otherComCommonSum"); - repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "单位补缴合计"), taxAgentIdFlag + "comRepairSum"); - repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保单位补缴合计"), taxAgentIdFlag + "socialComRepairSum"); - repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金单位补缴合计"), taxAgentIdFlag + "fundComRepairSum"); - repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利单位补缴合计"), taxAgentIdFlag + "otherComRepairSum"); - balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "单位补差合计"), taxAgentIdFlag + "comBalanceSum"); - balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保单位补差合计"), taxAgentIdFlag + "socialComBalanceSum"); - balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金单位补差合计"), taxAgentIdFlag + "fundComBalanceSum"); - balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利单位补差合计"), taxAgentIdFlag + "otherComBalanceSum"); + commonResult.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "单位正常缴纳合计"), socialSchemeIdFlag + "comCommonSum"); + commonResult.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保单位正常缴纳合计"), socialSchemeIdFlag + "socialComCommonSum"); + // commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金单位正常缴纳合计"), taxAgentIdFlag + "fundComCommonSum"); + // commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利单位正常缴纳合计"), taxAgentIdFlag + "otherComCommonSum"); + repairResult.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "单位补缴合计"), socialSchemeIdFlag + "comRepairSum"); + repairResult.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保单位补缴合计"), socialSchemeIdFlag + "socialComRepairSum"); + // repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金单位补缴合计"), taxAgentIdFlag + "fundComRepairSum"); + // repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利单位补缴合计"), taxAgentIdFlag + "otherComRepairSum"); + balanceResult.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "单位补差合计"), socialSchemeIdFlag + "comBalanceSum"); + balanceResult.put(socialSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保单位补差合计"), socialSchemeIdFlag + "socialComBalanceSum"); + // balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金单位补差合计"), taxAgentIdFlag + "fundComBalanceSum"); + // balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利单位补差合计"), taxAgentIdFlag + "otherComBalanceSum"); list.stream().forEach(item -> { if (Objects.equals(WelfareTypeEnum.SOCIAL_SECURITY.getValue(), item.getWelfareType())) { - result.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(100289, "单位"), taxAgentIdFlag + item.getId() + "socialCom"); - commonResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳单位"), taxAgentIdFlag + item.getId() + "socialCommonCom"); - repairResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴单位"), taxAgentIdFlag + item.getId() + "socialRepairCom"); - balanceResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差单位"), taxAgentIdFlag + item.getId() + "socialBalanceCom"); - } - if (Objects.equals(WelfareTypeEnum.ACCUMULATION_FUND.getValue(), item.getWelfareType())) { - result.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(100289, "单位"), taxAgentIdFlag + item.getId() + "fundCom"); - commonResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳单位"), taxAgentIdFlag + item.getId() + "fundCommonCom"); - repairResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴单位"), taxAgentIdFlag + item.getId() + "fundRepairCom"); - balanceResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差单位"), taxAgentIdFlag + item.getId() + "fundBalanceCom"); - } - if (Objects.equals(WelfareTypeEnum.OTHER.getValue(), item.getWelfareType())) { - result.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(100289, "单位"), taxAgentIdFlag + item.getId() + "otherCom"); - commonResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳单位"), taxAgentIdFlag + item.getId() + "otherCommonCom"); - repairResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴单位"), taxAgentIdFlag + item.getId() + "otherRepairCom"); - balanceResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差单位"), taxAgentIdFlag + item.getId() + "otherBalanceCom"); + result.put(socialSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(100289, "单位"), socialSchemeIdFlag + item.getId() + "socialCom"); + commonResult.put(socialSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳单位"), socialSchemeIdFlag + item.getId() + "socialCommonCom"); + repairResult.put(socialSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴单位"), socialSchemeIdFlag + item.getId() + "socialRepairCom"); + balanceResult.put(socialSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差单位"), socialSchemeIdFlag + item.getId() + "socialBalanceCom"); } }); @@ -1278,6 +1259,204 @@ public class SIAccountServiceImpl extends Service implements SIAccountService { result.putAll(repairResult); result.putAll(balanceResult); } + for (InsuranceSchemePO fundScheme : fundSchemeList) { + Map commonResult = new LinkedHashMap<>(); + Map repairResult = new LinkedHashMap<>(); + Map balanceResult = new LinkedHashMap<>(); + Map baseResult = new LinkedHashMap<>(); + + String fundSchemeNameFlag = fundScheme.getSchemeName() + "_"; + String fundSchemeIdFlag = fundScheme.getId() + "_"; + + result.put(fundSchemeNameFlag + SalaryI18nUtil.getI18nLabel(100390, "公积金个人合计"), fundSchemeIdFlag + "fundPerSum"); + commonResult.put(fundSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金个人正常缴纳合计"), fundSchemeIdFlag + "fundPerCommonSum"); + repairResult.put(fundSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金个人补缴合计"), fundSchemeIdFlag + "fundPerRepairSum"); + balanceResult.put(fundSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金个人补差合计"), fundSchemeIdFlag + "fundPerBalanceSum"); + + Map categoryIdNameMap = getSICategoryService(user).categoryIdNameMap(); + list.stream().forEach(item -> { + if (Objects.equals(WelfareTypeEnum.ACCUMULATION_FUND.getValue(), item.getWelfareType())) { + if (Objects.equals(DataTypeEnum.SYSTEM.getValue(), item.getDataType())) { + baseResult.put(fundSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "申报基数"), fundSchemeIdFlag + item.getId() + "fundBase"); + } + result.put(fundSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(87159, "个人"), fundSchemeIdFlag + item.getId() + "fundPer"); + commonResult.put(fundSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳个人"), fundSchemeIdFlag + item.getId() + "fundCommonPer"); + repairResult.put(fundSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴个人"), fundSchemeIdFlag + item.getId() + "fundRepairPer"); + balanceResult.put(fundSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差个人"), fundSchemeIdFlag + item.getId() + "fundBalancePer"); + } + + }); + result.put(fundSchemeNameFlag + SalaryI18nUtil.getI18nLabel(100395, "公积金单位合计"), fundSchemeIdFlag + "fundComSum"); + + commonResult.put(fundSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金单位正常缴纳合计"), fundSchemeIdFlag + "fundComCommonSum"); + repairResult.put(fundSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金单位补缴合计"), fundSchemeIdFlag + "fundComRepairSum"); + balanceResult.put(fundSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金单位补差合计"), fundSchemeIdFlag + "fundComBalanceSum"); + + list.stream().forEach(item -> { + if (Objects.equals(WelfareTypeEnum.ACCUMULATION_FUND.getValue(), item.getWelfareType())) { + result.put(fundSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(100289, "单位"), fundSchemeIdFlag + item.getId() + "fundCom"); + commonResult.put(fundSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳单位"), fundSchemeIdFlag + item.getId() + "fundCommonCom"); + repairResult.put(fundSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴单位"), fundSchemeIdFlag + item.getId() + "fundRepairCom"); + balanceResult.put(fundSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差单位"), fundSchemeIdFlag + item.getId() + "fundBalanceCom"); + } + }); + + result.putAll(baseResult); + result.putAll(commonResult); + result.putAll(repairResult); + result.putAll(balanceResult); + } + for (InsuranceSchemePO otherScheme : otherSchemeList) { + Map commonResult = new LinkedHashMap<>(); + Map repairResult = new LinkedHashMap<>(); + Map balanceResult = new LinkedHashMap<>(); + Map baseResult = new LinkedHashMap<>(); + + String otherSchemeNameFlag = otherScheme.getSchemeName() + "_"; + String otherSchemeIdFlag = otherScheme.getId() + "_"; + + + result.put(otherSchemeNameFlag + SalaryI18nUtil.getI18nLabel(100392, "其他福利个人合计"), otherSchemeIdFlag + "otherPerSum"); + commonResult.put(otherSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利个人正常缴纳合计"), otherSchemeIdFlag + "otherPerCommonSum"); + repairResult.put(otherSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利个人补缴合计"), otherSchemeIdFlag + "otherPerRepairSum"); + balanceResult.put(otherSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利个人补差合计"), otherSchemeIdFlag + "otherPerBalanceSum"); + + Map categoryIdNameMap = getSICategoryService(user).categoryIdNameMap(); + list.stream().forEach(item -> { + if (Objects.equals(WelfareTypeEnum.OTHER.getValue(), item.getWelfareType())) { + if (Objects.equals(DataTypeEnum.SYSTEM.getValue(), item.getDataType())) { + baseResult.put(otherSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "申报基数"),otherSchemeIdFlag + item.getId() + "otherBase"); + } + result.put(otherSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(87159, "个人"), otherSchemeIdFlag + item.getId() + "otherPer"); + commonResult.put(otherSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳个人"), otherSchemeIdFlag + item.getId() + "otherCommonPer"); + repairResult.put(otherSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴个人"), otherSchemeIdFlag + item.getId() + "otherRepairPer"); + balanceResult.put(otherSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差个人"), otherSchemeIdFlag + item.getId() + "otherBalancePer"); + } + + }); + result.put(otherSchemeNameFlag + SalaryI18nUtil.getI18nLabel(100396, "其他福利单位合计"), otherSchemeIdFlag + "otherComSum"); + + commonResult.put(otherSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利单位正常缴纳合计"), otherSchemeIdFlag + "otherComCommonSum"); + repairResult.put(otherSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利单位补缴合计"), otherSchemeIdFlag + "otherComRepairSum"); + balanceResult.put(otherSchemeNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利单位补差合计"), otherSchemeIdFlag + "otherComBalanceSum"); + + list.stream().forEach(item -> { + if (Objects.equals(WelfareTypeEnum.OTHER.getValue(), item.getWelfareType())) { + result.put(otherSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(100289, "单位"), otherSchemeIdFlag + item.getId() + "otherCom"); + commonResult.put(otherSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳单位"), otherSchemeIdFlag + item.getId() + "otherCommonCom"); + repairResult.put(otherSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴单位"), otherSchemeIdFlag + item.getId() + "otherRepairCom"); + balanceResult.put(otherSchemeNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差单位"), otherSchemeIdFlag + item.getId() + "otherBalanceCom"); + } + }); + + result.putAll(baseResult); + result.putAll(commonResult); + result.putAll(repairResult); + result.putAll(balanceResult); + } + + // for (TaxAgentPO taxAgentPO : allTaxAgentList) { + // Map commonResult = new LinkedHashMap<>(); + // Map repairResult = new LinkedHashMap<>(); + // Map balanceResult = new LinkedHashMap<>(); + // Map baseResult = new LinkedHashMap<>(); + // + // String taxAgentNameFlag = taxAgentPO.getName() + "_"; + // String taxAgentIdFlag = taxAgentPO.getId() + "_"; + // + // result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100393, "个人合计"), taxAgentIdFlag + "perSum"); + // result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100388, "社保个人合计"), taxAgentIdFlag + "socialPerSum"); + // result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100390, "公积金个人合计"), taxAgentIdFlag + "fundPerSum"); + // result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100392, "其他福利个人合计"), taxAgentIdFlag + "otherPerSum"); + // + // commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "个人正常缴纳合计"), taxAgentIdFlag + "perCommonSum"); + // commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保个人正常缴纳合计"), taxAgentIdFlag + "socialPerCommonSum"); + // commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金个人正常缴纳合计"), taxAgentIdFlag + "fundPerCommonSum"); + // commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利个人正常缴纳合计"), taxAgentIdFlag + "otherPerCommonSum"); + // repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "个人补缴合计"), taxAgentIdFlag + "perRepairSum"); + // repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保个人补缴合计"), taxAgentIdFlag + "socialPerRepairSum"); + // repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金个人补缴合计"), taxAgentIdFlag + "fundPerRepairSum"); + // repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利个人补缴合计"), taxAgentIdFlag + "otherPerRepairSum"); + // balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "个人补差合计"), taxAgentIdFlag + "perBalanceSum"); + // balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保个人补差合计"), taxAgentIdFlag + "socialPerBalanceSum"); + // balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金个人补差合计"), taxAgentIdFlag + "fundPerBalanceSum"); + // balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利个人补差合计"), taxAgentIdFlag + "otherPerBalanceSum"); + // + // Map categoryIdNameMap = getSICategoryService(user).categoryIdNameMap(); + // list.stream().forEach(item -> { + // if (Objects.equals(WelfareTypeEnum.SOCIAL_SECURITY.getValue(), item.getWelfareType())) { + // if (Objects.equals(DataTypeEnum.SYSTEM.getValue(), item.getDataType())) { + // baseResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "申报基数"), taxAgentIdFlag + item.getId() + "socialBase"); + // } + // result.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(87159, "个人"), taxAgentIdFlag + item.getId() + "socialPer"); + // commonResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳个人"), taxAgentIdFlag + item.getId() + "socialCommonPer"); + // repairResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴个人"), taxAgentIdFlag + item.getId() + "socialRepairPer"); + // balanceResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差个人"), taxAgentIdFlag + item.getId() + "socialBalancePer"); + // } + // if (Objects.equals(WelfareTypeEnum.ACCUMULATION_FUND.getValue(), item.getWelfareType())) { + // if (Objects.equals(DataTypeEnum.SYSTEM.getValue(), item.getDataType())) { + // baseResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "申报基数"), taxAgentIdFlag + item.getId() + "fundBase"); + // } + // result.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(87159, "个人"), taxAgentIdFlag + item.getId() + "fundPer"); + // commonResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳个人"), taxAgentIdFlag + item.getId() + "fundCommonPer"); + // repairResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴个人"), taxAgentIdFlag + item.getId() + "fundRepairPer"); + // balanceResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差个人"), taxAgentIdFlag + item.getId() + "fundBalancePer"); + // } + // if (Objects.equals(WelfareTypeEnum.OTHER.getValue(), item.getWelfareType())) { + // if (Objects.equals(DataTypeEnum.SYSTEM.getValue(), item.getDataType())) { + // baseResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "申报基数"),taxAgentIdFlag + item.getId() + "otherBase"); + // } + // result.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(87159, "个人"), taxAgentIdFlag + item.getId() + "otherPer"); + // commonResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳个人"), taxAgentIdFlag + item.getId() + "otherCommonPer"); + // repairResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴个人"), taxAgentIdFlag + item.getId() + "otherRepairPer"); + // balanceResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差个人"), taxAgentIdFlag + item.getId() + "otherBalancePer"); + // } + // + // }); + // result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100397, "单位合计"), taxAgentIdFlag + "comSum"); + // result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100394, "社保单位合计"), taxAgentIdFlag + "socialComSum"); + // result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100395, "公积金单位合计"), taxAgentIdFlag + "fundComSum"); + // result.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(100396, "其他福利单位合计"), taxAgentIdFlag + "otherComSum"); + // + // commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "单位正常缴纳合计"), taxAgentIdFlag + "comCommonSum"); + // commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保单位正常缴纳合计"), taxAgentIdFlag + "socialComCommonSum"); + // commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金单位正常缴纳合计"), taxAgentIdFlag + "fundComCommonSum"); + // commonResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利单位正常缴纳合计"), taxAgentIdFlag + "otherComCommonSum"); + // repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "单位补缴合计"), taxAgentIdFlag + "comRepairSum"); + // repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保单位补缴合计"), taxAgentIdFlag + "socialComRepairSum"); + // repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金单位补缴合计"), taxAgentIdFlag + "fundComRepairSum"); + // repairResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利单位补缴合计"), taxAgentIdFlag + "otherComRepairSum"); + // balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "单位补差合计"), taxAgentIdFlag + "comBalanceSum"); + // balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "社保单位补差合计"), taxAgentIdFlag + "socialComBalanceSum"); + // balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "公积金单位补差合计"), taxAgentIdFlag + "fundComBalanceSum"); + // balanceResult.put(taxAgentNameFlag + SalaryI18nUtil.getI18nLabel(0, "其他福利单位补差合计"), taxAgentIdFlag + "otherComBalanceSum"); + // + // list.stream().forEach(item -> { + // if (Objects.equals(WelfareTypeEnum.SOCIAL_SECURITY.getValue(), item.getWelfareType())) { + // result.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(100289, "单位"), taxAgentIdFlag + item.getId() + "socialCom"); + // commonResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳单位"), taxAgentIdFlag + item.getId() + "socialCommonCom"); + // repairResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴单位"), taxAgentIdFlag + item.getId() + "socialRepairCom"); + // balanceResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差单位"), taxAgentIdFlag + item.getId() + "socialBalanceCom"); + // } + // if (Objects.equals(WelfareTypeEnum.ACCUMULATION_FUND.getValue(), item.getWelfareType())) { + // result.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(100289, "单位"), taxAgentIdFlag + item.getId() + "fundCom"); + // commonResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳单位"), taxAgentIdFlag + item.getId() + "fundCommonCom"); + // repairResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴单位"), taxAgentIdFlag + item.getId() + "fundRepairCom"); + // balanceResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差单位"), taxAgentIdFlag + item.getId() + "fundBalanceCom"); + // } + // if (Objects.equals(WelfareTypeEnum.OTHER.getValue(), item.getWelfareType())) { + // result.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(100289, "单位"), taxAgentIdFlag + item.getId() + "otherCom"); + // commonResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "正常缴纳单位"), taxAgentIdFlag + item.getId() + "otherCommonCom"); + // repairResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补缴单位"), taxAgentIdFlag + item.getId() + "otherRepairCom"); + // balanceResult.put(taxAgentNameFlag + categoryIdNameMap.get(String.valueOf(item.getId())) + SalaryI18nUtil.getI18nLabel(0, "补差单位"), taxAgentIdFlag + item.getId() + "otherBalanceCom"); + // } + // }); + // + // result.putAll(baseResult); + // result.putAll(commonResult); + // result.putAll(repairResult); + // result.putAll(balanceResult); + // } return result; } @@ -1485,6 +1664,17 @@ public class SIAccountServiceImpl extends Service implements SIAccountService { insuranceAccountDetailPO.setOtherComSum(otherCom.toPlainString()); insuranceAccountDetailPO.setPerSum(perSum.toPlainString()); insuranceAccountDetailPO.setComSum(comSum.toPlainString()); + // 取正常缴纳的id + List commonList = v.stream().filter(item -> item.getStatus().equals(PaymentStatusEnum.COMMON.getValue())).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(commonList)) { + insuranceAccountDetailPO.setSocialSchemeId(commonList.get(0).getSocialSchemeId()); + insuranceAccountDetailPO.setFundSchemeId(commonList.get(0).getFundSchemeId()); + insuranceAccountDetailPO.setOtherSchemeId(commonList.get(0).getOtherSchemeId()); + } else { + insuranceAccountDetailPO.setSocialSchemeId(v.get(0).getSocialSchemeId()); + insuranceAccountDetailPO.setFundSchemeId(v.get(0).getFundSchemeId()); + insuranceAccountDetailPO.setOtherSchemeId(v.get(0).getOtherSchemeId()); + } newList.add(insuranceAccountDetailPO); } return newList;