From 43a8301f04a6ea7891ef16861734163b2646e07f Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期三, 14 一月 2026 18:05:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New

---
 src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java |   21 ++++++++++++++++++++-
 1 files changed, 20 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..d20ee41 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
@@ -24,6 +24,8 @@
 import java.util.*;
 import java.util.function.Function;
 
+import static com.ruoyi.common.enums.StaffJoinLeaveRecordDimissionReason.StaffJoinLeaveRecordDimissionReasonOther;
+
 @Service
 @AllArgsConstructor
 @Transactional(rollbackFor = Exception.class)
@@ -77,6 +79,12 @@
                 staffOnJobMapper.updateById(staffOnJob);
             }else {
                 throw new BaseException("娌℃湁鎵惧埌"+staffJoinLeaveRecord.getStaffNo()+"缂栧彿鐨勫憳宸�,鏃犳硶鏂板绂昏亴!!!");
+            }
+            if (staffJoinLeaveRecord.getDimissionReason()==null){
+                throw new BaseException("绂昏亴鍘熷洜涓嶈兘涓虹┖!!!");
+            }
+            if (!StaffJoinLeaveRecordDimissionReasonOther.getCode().equals(staffJoinLeaveRecord.getDimissionReason())){
+                staffJoinLeaveRecord.setDimissionRemark("");
             }
         }
         return staffJoinLeaveRecordMapper.insert(staffJoinLeaveRecord);
@@ -155,14 +163,25 @@
             /*鍏ヨ亴*/
             StaffOnJob job = staffOnJobMapper.selectList(Wrappers.<StaffOnJob>lambdaQuery()
                     .eq(StaffOnJob::getStaffNo, staffJoinLeaveRecord.getStaffNo())).get(0);
+            // 澧炲姞浜嗗悎鍚屾柟妗堟墍浠ュ幓鎺夎繖涓垽鏂�
             //濡傛灉鏇存敼鐨勫悎鍚屽埌鏈熸椂闂存洿涔呭垯鏇存柊,濡傛灉娌℃湁灏变笉鐢ㄦ洿鏂�
-            if (staffJoinLeaveRecord.getContractEndTime().compareTo(job.getContractExpireTime())>0) {
+//            if (staffJoinLeaveRecord.getContractEndTime().compareTo(job.getContractExpireTime())>0) {
+//                BeanUtils.copyProperties(staffJoinLeaveRecord,job,ignoreProperties);
+//                staffOnJobMapper.updateById(job);
+//            }
+            if(job != null){
                 BeanUtils.copyProperties(staffJoinLeaveRecord,job,ignoreProperties);
                 staffOnJobMapper.updateById(job);
             }
         }else {
             /*绂昏亴*/
             //绂昏亴鐨勭紪杈戜笉浼氬奖鍝嶅湪鑱岃〃
+            if (staffJoinLeaveRecord.getDimissionReason()==null){
+                throw new BaseException("绂昏亴鍘熷洜涓嶈兘涓虹┖!!!");
+            }
+            if (!StaffJoinLeaveRecordDimissionReasonOther.getCode().equals(staffJoinLeaveRecord.getDimissionReason())){
+                staffJoinLeaveRecord.setDimissionRemark("");
+            }
         }
         return staffJoinLeaveRecordMapper.updateById(staffJoinLeaveRecord);
     }

--
Gitblit v1.9.3