From 07d8f0087dffaa79a45b8a7e6afb067278ab9167 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期一, 06 七月 2026 16:45:06 +0800
Subject: [PATCH] fix(attendance): 修复考勤配置查询和排班逻辑问题

---
 src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java
index 48c6745..14d522c 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java
@@ -72,7 +72,8 @@
         List<PersonalShift> personalShifts = personalShiftMapper.selectList(Wrappers.<PersonalShift>lambdaQuery()
                 .eq(PersonalShift::getStaffOnJobId, staffOnJob.getId())
                 .eq(PersonalShift::getWorkTime, currentDate.atStartOfDay())
-                .isNotNull(PersonalShift::getPersonalAttendanceLocationConfigId));
+                .isNotNull(PersonalShift::getPersonalAttendanceLocationConfigId)
+                .ne(PersonalShift::getPersonalAttendanceLocationConfigId, 999));
         if (CollectionUtil.isEmpty(personalShifts)){
             throw new BaseException("褰撳墠鐢ㄦ埛褰撳ぉ娌℃湁鎺掔彮鏁版嵁");
         }
@@ -230,12 +231,15 @@
         List<PersonalShift> personalShifts = personalShiftMapper.selectList(Wrappers.<PersonalShift>lambdaQuery()
                 .eq(PersonalShift::getStaffOnJobId, staffOnJob.getId())
                 .eq(PersonalShift::getWorkTime, currentDate.atStartOfDay())
-                .isNotNull(PersonalShift::getPersonalAttendanceLocationConfigId));
+                .isNotNull(PersonalShift::getPersonalAttendanceLocationConfigId)
+                .ne(PersonalShift::getPersonalAttendanceLocationConfigId, 999));
         if (CollectionUtil.isNotEmpty(personalShifts)){
             PersonalAttendanceLocationConfig personalAttendanceLocationConfig = personalAttendanceLocationConfigMapper.selectById(personalShifts.get(0).getPersonalAttendanceLocationConfigId());
-            resultDto.setStartAt(personalAttendanceLocationConfig.getStartAt());
-            resultDto.setEndAt(personalAttendanceLocationConfig.getEndAt());
-            resultDto.setShift(personalAttendanceLocationConfig.getShift());
+            if (personalAttendanceLocationConfig != null) {
+                resultDto.setStartAt(personalAttendanceLocationConfig.getStartAt());
+                resultDto.setEndAt(personalAttendanceLocationConfig.getEndAt());
+                resultDto.setShift(personalAttendanceLocationConfig.getShift());
+            }
         }
         return resultDto;
     }

--
Gitblit v1.9.3