万德隆带出薪资项目调整

This commit is contained in:
Harryxzy 2025-07-30 15:58:54 +08:00
parent 038b15db0f
commit 6fe2976b2a
1 changed files with 26 additions and 1 deletions

View File

@ -1508,13 +1508,32 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
Collection<Long> salaryItemIds = salaryItems.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
// 获取薪资档案所对应的当前生效的薪资项目数据
List<SalaryArchiveItemPO> 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<Long> 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<Long> finalLcSalaryItemIds = lcSalaryItemIds;
salaryItems.forEach(item -> {
Optional<SalaryArchiveItemPO> 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<String, Object> salaryItemMap = new LinkedHashMap<>();
salaryItemMap.put("salaryItemId", item.getId());
salaryItemMap.put("salaryItemName", item.getName());
salaryItemMap.put("value", "0");
resultList.add(salaryItemMap);
}
} else {
Map<String, Object> 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<String, Object> salaryItemMap = new LinkedHashMap<>();
salaryItemMap.put("salaryItemId", item.getId());
salaryItemMap.put("salaryItemName", item.getName());
salaryItemMap.put("value", "");
resultList.add(salaryItemMap);
}
});
return resultList;