From 2dc0f71fe33bf567f16d6c0231ced10293be571f Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期四, 12 三月 2026 10:19:33 +0800
Subject: [PATCH] yys  员工发工资增加离职和当月离职条件

---
 src/main/java/com/ruoyi/staff/service/impl/StaffSalaryMainServiceImpl.java |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffSalaryMainServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffSalaryMainServiceImpl.java
index c2d8519..3093c63 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffSalaryMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffSalaryMainServiceImpl.java
@@ -12,12 +12,10 @@
 import com.ruoyi.project.system.mapper.SysUserDeptMapper;
 import com.ruoyi.project.system.mapper.SysUserMapper;
 import com.ruoyi.staff.dto.CalculateSalaryDto;
+import com.ruoyi.staff.mapper.StaffLeaveMapper;
 import com.ruoyi.staff.mapper.StaffOnJobMapper;
 import com.ruoyi.staff.mapper.StaffSalaryDetailMapper;
-import com.ruoyi.staff.pojo.SchemeApplicableStaff;
-import com.ruoyi.staff.pojo.StaffOnJob;
-import com.ruoyi.staff.pojo.StaffSalaryDetail;
-import com.ruoyi.staff.pojo.StaffSalaryMain;
+import com.ruoyi.staff.pojo.*;
 import com.ruoyi.staff.mapper.StaffSalaryMainMapper;
 import com.ruoyi.staff.service.StaffSalaryDetailService;
 import com.ruoyi.staff.service.StaffSalaryMainService;
@@ -61,6 +59,9 @@
 
     @Autowired
     private StaffOnJobMapper staffOnJobMapper;
+
+    @Autowired
+    private StaffLeaveMapper staffLeaveMapper;
 
     @Autowired
     private AccountExpenseMapper accountExpenseMapper;
@@ -155,10 +156,21 @@
         if(CollectionUtils.isEmpty(longs)){
             return AjaxResult.error("鏃犲憳宸�");
         }
+        List<Map<String, Object>> mapList = new ArrayList<>();
         for (Map<String, Object> id : longs) {
+            // 鍒ゆ柇鍛樺伐鏄惁涓哄綋鏈堢鑱�
+            if((Integer) id.get("staffState") == 0){
+                StaffLeave id1 = staffLeaveMapper.selectOne(new LambdaQueryWrapper<StaffLeave>()
+                        .eq(StaffLeave::getStaffOnJobId, id.get("id"))
+                        .like(StaffLeave::getCreateTime, calculateSalaryDto.getDate()));
+                if(id1 == null){
+                    continue;
+                }
+            }
             schemeApplicableStaffService.calculateByEmployeeId((Integer) id.get("id"),id,calculateSalaryDto.getDate());
+            mapList.add(id);
         }
-        return AjaxResult.success(longs);
+        return AjaxResult.success(mapList);
     }
 
     public List<Map<String, Object>> setSchemeApplicableStaffUserInfo(List<Long> ids) {

--
Gitblit v1.9.3