From 9a5d984a74d5f893fc51366b42391d9b4f8a83ed Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期四, 12 三月 2026 15:40:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New

---
 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..26a34c1 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::getLeaveDate, 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