From 6de10786df6b43fa749b1344d6cd3a6bd7b2e2c1 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Thu, 31 Jul 2025 10:47:27 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=86=E6=82=A6=E9=9C=80=E6=B1=82=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIAccountBiz.java | 1 + .../impl/LySalaryReportServiceImpl.java | 52 ++++++++++++++----- 2 files changed, 39 insertions(+), 14 deletions(-) diff --git a/src/com/engine/salary/biz/SIAccountBiz.java b/src/com/engine/salary/biz/SIAccountBiz.java index 56a1ce4b8..b57e06249 100644 --- a/src/com/engine/salary/biz/SIAccountBiz.java +++ b/src/com/engine/salary/biz/SIAccountBiz.java @@ -647,6 +647,7 @@ public class SIAccountBiz extends Service { Map otherPerson = detailPOS.stream() .filter(item -> Objects.equals(IsPaymentEnum.YES.getValue(), item.getIsPayment()) && Objects.equals(item.getPaymentScope(), PaymentScopeEnum.SCOPE_PERSON.getValue()) && (item.getPaymentCycle() == null || item.getPaymentCycle() == 0 || (item.getPaymentCycle() == 1 && String.valueOf(item.getCycleSetting().charAt(monthIndex)).equals("1")))) + .filter(item -> item.getInsuranceId() != null) // 过滤掉insuranceId为null的项 .collect( Collectors.toMap(InsuranceSchemeDetailPO::getInsuranceId, Function.identity())); //档案中包含的基数信息 diff --git a/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java b/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java index ca84b5b86..77b2cd9f4 100644 --- a/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java +++ b/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java @@ -2095,6 +2095,12 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport // 获取当月导入社保数据 List ufSbInfos = getLyUfSbgjjMapper().listSbInfoByFyssq(salaryMonth); + ufSbInfos = ufSbInfos.stream().map(info -> { + if (info.getGmgsqc() == null) { + info.setGmgsqc(""); + } + return info; + }).collect(Collectors.toList()); // 根据社保购买公司汇总 Map> ufSbInfoGroupMap = SalaryEntityUtil.group2Map(ufSbInfos, UfSbInfo::getGmgsqc); // 以购买公司维度求和 @@ -2103,23 +2109,23 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport List valueList = entry.getValue(); HashMap singelGsSumMap = new HashMap<>(); // 养老 - BigDecimal ylSum = valueList.stream().map(UfSbInfo::getYlbxdwjn1).filter(value -> value != null).map(BigDecimal::new) + BigDecimal ylSum = valueList.stream().map(UfSbInfo::getYlbxgrjn1).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) .reduce(new BigDecimal("0"), BigDecimal::add); singelGsSumMap.put("yl", ylSum); // 医疗 - BigDecimal yliaoSum = valueList.stream().map(UfSbInfo::getYlbxdwjn).filter(value -> value != null).map(BigDecimal::new) + BigDecimal yliaoSum = valueList.stream().map(UfSbInfo::getYlbxgrjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) .reduce(new BigDecimal("0"), BigDecimal::add); singelGsSumMap.put("yliao", yliaoSum); // 生育 - BigDecimal sySum = valueList.stream().map(UfSbInfo::getSybxdwjn1).filter(value -> value != null).map(BigDecimal::new) + BigDecimal sySum = valueList.stream().map(UfSbInfo::getSybxdwjn1).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) .reduce(new BigDecimal("0"), BigDecimal::add); singelGsSumMap.put("sy", sySum); // 工伤 - BigDecimal gsSum = valueList.stream().map(UfSbInfo::getGsbxdwjn).filter(value -> value != null).map(BigDecimal::new) + BigDecimal gsSum = valueList.stream().map(UfSbInfo::getGsbxdwjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) .reduce(new BigDecimal("0"), BigDecimal::add); singelGsSumMap.put("gs", gsSum); // 失业 - BigDecimal syeSum = valueList.stream().map(UfSbInfo::getSybxdwjn).filter(value -> value != null).map(BigDecimal::new) + BigDecimal syeSum = valueList.stream().map(UfSbInfo::getSybxgrjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) .reduce(new BigDecimal("0"), BigDecimal::add); singelGsSumMap.put("sye", syeSum); singelGsSumMap.put("empNums", BigDecimal.valueOf(valueList.size())); @@ -2255,6 +2261,12 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport // 获取当月导入公积金数据 List ufGjjInfos = getLyUfSbgjjMapper().listGjjInfoByFyssq(salaryMonth); // 根据公积金购买公司汇总 + ufGjjInfos = ufGjjInfos.stream().map(value -> { + if (value.getFycdgsqc() == null) { + value.setFycdgsqc(""); + } + return value; + }).collect(Collectors.toList()); Map> ufGjjInfoGroupMap = SalaryEntityUtil.group2Map(ufGjjInfos, UfGjjInfo::getFycdgsqc); // 以购买公司维度求和 Map> ufGjjSumByGsMap = new HashMap<>(); @@ -2262,7 +2274,7 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport List valueList = entry.getValue(); HashMap singelGsSumMap = new HashMap<>(); // 公积金 - BigDecimal gjjSum = valueList.stream().map(UfGjjInfo::getGjjdwjn).filter(value -> value != null).map(BigDecimal::new) + BigDecimal gjjSum = valueList.stream().map(UfGjjInfo::getGjjgrjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) .reduce(new BigDecimal("0"), BigDecimal::add); singelGsSumMap.put("gjj", gjjSum); @@ -2378,31 +2390,37 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport // 获取当月导入社保数据 List ufSbInfos = getLyUfSbgjjMapper().listSbInfoByFyssq(salaryMonth); + ufSbInfos = ufSbInfos.stream().map(value -> { + if (value.getGmgsqc() == null) { + value.setGmgsqc(""); + } + return value; + }).collect(Collectors.toList()); // 根据社保购买公司汇总 - Map> ufSbInfoGroupMap = SalaryEntityUtil.group2Map(ufSbInfos, ufSbInfo -> ufSbInfo.getGmgsqc() + "_split" + ufSbInfo.getYg()); + Map> ufSbInfoGroupMap = SalaryEntityUtil.group2Map(ufSbInfos, ufSbInfo -> Utils.null2String(ufSbInfo.getGmgsqc()) + "_split" + Utils.null2String(ufSbInfo.getYg())); // 以购买公司维度求和 Map> ufSbSumByGsMap = new HashMap<>(); for (Map.Entry> entry : ufSbInfoGroupMap.entrySet()) { List valueList = entry.getValue(); HashMap singelGsSumMap = new HashMap<>(); // 养老 - BigDecimal ylSum = valueList.stream().map(UfSbInfo::getYlbxdwjn1).filter(value -> value != null).map(BigDecimal::new) + BigDecimal ylSum = valueList.stream().map(UfSbInfo::getYlbxgrjn1).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) .reduce(new BigDecimal("0"), BigDecimal::add); singelGsSumMap.put("yl", ylSum); // 医疗 - BigDecimal yliaoSum = valueList.stream().map(UfSbInfo::getYlbxdwjn).filter(value -> value != null).map(BigDecimal::new) + BigDecimal yliaoSum = valueList.stream().map(UfSbInfo::getYlbxgrjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) .reduce(new BigDecimal("0"), BigDecimal::add); singelGsSumMap.put("yliao", yliaoSum); // 生育 - BigDecimal sySum = valueList.stream().map(UfSbInfo::getSybxdwjn1).filter(value -> value != null).map(BigDecimal::new) + BigDecimal sySum = valueList.stream().map(UfSbInfo::getSybxdwjn1).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) .reduce(new BigDecimal("0"), BigDecimal::add); singelGsSumMap.put("sy", sySum); // 工伤 - BigDecimal gsSum = valueList.stream().map(UfSbInfo::getGsbxdwjn).filter(value -> value != null).map(BigDecimal::new) + BigDecimal gsSum = valueList.stream().map(UfSbInfo::getGsbxdwjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) .reduce(new BigDecimal("0"), BigDecimal::add); singelGsSumMap.put("gs", gsSum); // 失业 - BigDecimal syeSum = valueList.stream().map(UfSbInfo::getSybxdwjn).filter(value -> value != null).map(BigDecimal::new) + BigDecimal syeSum = valueList.stream().map(UfSbInfo::getSybxgrjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) .reduce(new BigDecimal("0"), BigDecimal::add); singelGsSumMap.put("sye", syeSum); String[] splitKey = entry.getKey().split("_split"); @@ -2580,15 +2598,21 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport // 获取当月导入社保数据 List ufGjjInfos = getLyUfSbgjjMapper().listGjjInfoByFyssq(salaryMonth); + ufGjjInfos = ufGjjInfos.stream().map(value -> { + if (value.getFycdgsqc() == null) { + value.setFycdgsqc(""); + } + return value; + }).collect(Collectors.toList()); // 根据社保购买公司汇总 - Map> ufGjjInfoGroupMap = SalaryEntityUtil.group2Map(ufGjjInfos, ufGjjInfo -> ufGjjInfo.getFycdgsqc() + "_split" + ufGjjInfo.getYg()); + Map> ufGjjInfoGroupMap = SalaryEntityUtil.group2Map(ufGjjInfos, ufGjjInfo -> Utils.null2String(ufGjjInfo.getFycdgsqc()) + "_split" + Utils.null2String(ufGjjInfo.getYg())); // 以购买公司维度求和 Map> ufGjjSumByGsMap = new HashMap<>(); for (Map.Entry> entry : ufGjjInfoGroupMap.entrySet()) { List valueList = entry.getValue(); HashMap singelGsSumMap = new HashMap<>(); // 公积金 - BigDecimal gjjSum = valueList.stream().map(UfGjjInfo::getGjjdwjn).filter(value -> value != null).map(BigDecimal::new) + BigDecimal gjjSum = valueList.stream().map(UfGjjInfo::getGjjgrjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) .reduce(new BigDecimal("0"), BigDecimal::add); singelGsSumMap.put("gjj", gjjSum);