From ea1a4b7994b0d9710c47cbb54b7824a9f4bd72c9 Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期五, 27 三月 2026 17:02:33 +0800
Subject: [PATCH] fix(EmpContractInfo): 修正导入合同信息的循环缩进并添加结束日期差值计算

---
 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