From 7a9bd9b7da7c4943e8b5853d4d7de5cba72f3de0 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 28 一月 2026 17:52:00 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New

---
 src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java
index 2d30dc5..53604e0 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java
@@ -5,12 +5,15 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.mapper.SysUserMapper;
 import com.ruoyi.staff.dto.StaffLeaveDto;
 import com.ruoyi.staff.mapper.StaffLeaveMapper;
 import com.ruoyi.staff.mapper.StaffOnJobMapper;
 import com.ruoyi.staff.pojo.StaffOnJob;
 import com.ruoyi.staff.service.StaffLeaveService;
 import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.staff.pojo.StaffLeave;
 import org.springframework.transaction.annotation.Transactional;
@@ -23,9 +26,14 @@
 @AllArgsConstructor
 @Service
 public class StaffLeaveServiceImpl extends ServiceImpl<StaffLeaveMapper, StaffLeave> implements StaffLeaveService {
+    @Autowired
     private StaffLeaveMapper staffLeaveMapper;
 
+    @Autowired
     private StaffOnJobMapper staffOnJobMapper;
+
+    @Autowired
+    private SysUserMapper sysUserMapper;
 
     //鏂板绂昏亴鍒楄〃鍒嗛〉鏌ヨ
     @Override
@@ -51,11 +59,18 @@
         // 鏂板绂昏亴璁板綍
         StaffLeave staffLeave = new StaffLeave();
         staffLeave.setStaffOnJobId(staffLeaveDto.getStaffOnJobId());
+        staffLeave.setReason(staffLeaveDto.getReason());
         String reason = staffLeaveDto.getReason();
-        if (!StaffLeaveReasonOther.getCode().equals(reason)){
-            staffLeave.setRemark("");
+        if (StaffLeaveReasonOther.getCode().equals(reason)){
+            staffLeave.setRemark(staffLeaveDto.getRemark());
         }
         staffLeaveMapper.insert(staffLeave);
+
+        // 鏇存柊瀵瑰簲鐢ㄦ埛鐘舵�佷负鍋滅敤
+        // 鏍规嵁鍛樺伐缂栧彿鏌ヨ鐢ㄦ埛
+        SysUser sysUser = sysUserMapper.selectUserByUserName(staffOnJob.getStaffNo());
+        sysUser.setStatus("1");
+        sysUserMapper.updateUser(sysUser);
 
         // 鏇存柊绂昏亴鐘舵�佷负绂昏亴
         staffOnJob.setStaffState(0);
@@ -97,6 +112,5 @@
         ExcelUtil<StaffLeaveDto> util = new ExcelUtil<StaffLeaveDto>(StaffLeaveDto.class);
         util.exportExcel(response, staffLeaves, "鍛樺伐绂昏亴瀵煎嚭");
     }
-
 }
 

--
Gitblit v1.9.3