From 0960e84f87af09990397cb38801bdfd40a2c2d36 Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期五, 27 三月 2026 16:45:10 +0800
Subject: [PATCH] fix(hr): 修复保险提醒年龄范围判断逻辑
---
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
index 4d89057..b4cdc29 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
@@ -655,6 +655,7 @@
}
+
empBaseInfo.setDelFlag(2);
// 入职类型
dicItem = dicItems.parallelStream().filter(j -> StrUtil.equalsIgnoreCase(j.getDicCode(), "lztype") && StrUtil.equals(j.getDicItemName(), list.get(31).toString())).findFirst().orElse(null);
@@ -666,6 +667,8 @@
if (null != dicItem) {
empBaseInfo.setArchivesStatus(dicItem.getDicItemCode());
}
+ //身份证有效期
+ empBaseInfo.setCertificateValidity(DateUtil.parse(list.get(33).toString()));
empBaseInfo.setEmpStatus("0");
boolean saveResult = this.save(empBaseInfo);
// 新入职员工需要增加一条入职记录
@@ -1582,7 +1585,6 @@
private List<EmpBaseInfo> findInsuranceAlertList(EmpBaseInfo empBaseInfo, QueryRequest request) {
// 1. 计算时间范围
LocalDate[] dateRange = calculateDateRange(empBaseInfo.getTimeRange());
- LocalDate startDate = dateRange[0];
LocalDate endDate = dateRange[1];
// 2. 获取提醒年龄配置
@@ -1621,12 +1623,14 @@
}
int alertAge = "1".equals(emp.getSex()) ? alertManAge : alertWomanAge;
+ int maxAge = "1".equals(emp.getSex()) ? 50 : 40;
LocalDate birthDate = emp.getBirthdate().toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDate();
LocalDate alertDate = birthDate.plusYears(alertAge);
+ LocalDate maxDate = birthDate.plusYears(maxAge);
- return !alertDate.isAfter(endDate);
+ return !alertDate.isAfter(endDate) && endDate.isBefore(maxDate);
})
.collect(Collectors.toList());
}
--
Gitblit v1.8.0