From 70409bf0d1bef6876916faf6a4ce24f3e797ec32 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期四, 22 十月 2026 14:19:31 +0800
Subject: [PATCH] fix(人力): 在职员工台账默认不再按合同到期日过滤(可显示全部在职员工);入职同步写入入职日期;修复离职状态过滤失效

---
 src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
index f82ecc8..f10bc12 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
@@ -58,14 +58,23 @@
             if (staffOnJobs.size()>0){
                 StaffOnJob staffOnJob = staffOnJobs.get(0);
                 //鍏堟瘮杈冨埌鏈熸棩鏈�,杩欓噷閫夌敤鍒版湡鏃ユ湡鏈�涔呯殑
-                if (staffJoinLeaveRecord.getContractEndTime().compareTo(staffOnJob.getContractExpireTime())>0) {
+                if (staffJoinLeaveRecord.getContractEndTime() != null
+                        && (staffOnJob.getContractExpireTime() == null
+                        || staffJoinLeaveRecord.getContractEndTime().compareTo(staffOnJob.getContractExpireTime())>0)) {
                     BeanUtils.copyProperties(staffJoinLeaveRecord,staffOnJob,ignoreProperties);
+                    staffOnJob.setContractExpireTime(staffJoinLeaveRecord.getContractEndTime());
+                    //鍏ヨ亴鏃ユ湡瀛楁鍚嶄笉鍚�(contractStartTime -> entryDate)锛孊eanUtils 鎷蜂笉杩囨潵锛岄渶鎵嬪姩璧嬪��
+                    if (staffJoinLeaveRecord.getContractStartTime() != null) {
+                        staffOnJob.setEntryDate(staffJoinLeaveRecord.getContractStartTime());
+                    }
                     staffOnJobMapper.updateById(staffOnJob);
                 }
             }else {
                 StaffOnJob staffOnJob = new StaffOnJob();
                 BeanUtils.copyProperties(staffJoinLeaveRecord,staffOnJob,ignoreProperties);
                 staffOnJob.setContractExpireTime(staffJoinLeaveRecord.getContractEndTime());
+                //鍏ヨ亴鏃ユ湡鍚屾鍒板彴璐︼紝淇濊瘉鍙拌处鈥滃叆鑱屾椂闂粹�濆垪鏈夊��
+                staffOnJob.setEntryDate(staffJoinLeaveRecord.getContractStartTime());
                 staffOnJobMapper.insert(staffOnJob);
             }
         }else {

--
Gitblit v1.9.3