From 6fe2976b2a20f224ca2d1a54d8a9b0bb37ffb404 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Wed, 30 Jul 2025 15:58:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=87=E5=BE=B7=E9=9A=86=E5=B8=A6=E5=87=BA?= =?UTF-8?q?=E8=96=AA=E8=B5=84=E9=A1=B9=E7=9B=AE=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SalaryArchiveServiceImpl.java | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java index 3662ecb61..52ddb848b 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java @@ -1508,13 +1508,32 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe Collection salaryItemIds = salaryItems.stream().map(SalaryItemPO::getId).collect(Collectors.toList()); // 获取薪资档案所对应的当前生效的薪资项目数据 List salaryArchiveItemList = getCurrentEffectiveItemList(Collections.singletonList(salaryArchivePO.getId()), salaryItemIds); - + // 获取建模中的薪资项目 + RecordSet rs = new RecordSet(); + // 获取有哪些薪资项目 + rs.execute("select xzxm from uf_lcmxmr t left join uf_lcmxmr_dt1 d on t.id = d.mainid"); + List lcSalaryItemIds = new ArrayList<>(); + while (rs.next()) { + String xzxm = rs.getString("xzxm"); + if (NumberUtils.isCreatable(xzxm)) { + lcSalaryItemIds.add(Long.valueOf(xzxm)); + } + } + lcSalaryItemIds = lcSalaryItemIds.stream().distinct().collect(Collectors.toList()); + List finalLcSalaryItemIds = lcSalaryItemIds; salaryItems.forEach(item -> { Optional optionalItem = salaryArchiveItemList.stream().filter(f -> f.getSalaryItemId().equals(item.getId())).findFirst(); // 过滤值为0的 if (optionalItem.isPresent() && StringUtils.isNotBlank(optionalItem.get().getItemValue())) { if (NumberUtils.isCreatable(optionalItem.get().getItemValue())) { if (new BigDecimal(optionalItem.get().getItemValue()).compareTo(BigDecimal.ZERO) == 0) { + if (finalLcSalaryItemIds.contains(item.getId())) { + Map salaryItemMap = new LinkedHashMap<>(); + salaryItemMap.put("salaryItemId", item.getId()); + salaryItemMap.put("salaryItemName", item.getName()); + salaryItemMap.put("value", "0"); + resultList.add(salaryItemMap); + } } else { Map salaryItemMap = new LinkedHashMap<>(); salaryItemMap.put("salaryItemId", item.getId()); @@ -1529,6 +1548,12 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe salaryItemMap.put("value", optionalItem.get().getItemValue()); resultList.add(salaryItemMap); } + } else if (finalLcSalaryItemIds.contains(item.getId())) { + Map salaryItemMap = new LinkedHashMap<>(); + salaryItemMap.put("salaryItemId", item.getId()); + salaryItemMap.put("salaryItemName", item.getName()); + salaryItemMap.put("value", ""); + resultList.add(salaryItemMap); } }); return resultList;