From c02bd2063edcf25ce82f9197da026eeee977e97d Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期一, 06 七月 2026 16:48:40 +0800
Subject: [PATCH] fix(attendance):初始化请假班次配置(id=999)

---
 src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java |   48 +++++++++++++++++++-----------------------------
 1 files changed, 19 insertions(+), 29 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 9d5e688..14d522c 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java
@@ -5,39 +5,35 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.project.system.domain.SysDept;
 import com.ruoyi.project.system.mapper.SysDeptMapper;
-import com.ruoyi.project.system.service.ISysDictDataService;
 import com.ruoyi.staff.dto.PersonalAttendanceRecordsDto;
-import com.ruoyi.staff.dto.StaffOnJobDto;
 import com.ruoyi.staff.mapper.PersonalAttendanceLocationConfigMapper;
+import com.ruoyi.staff.mapper.PersonalAttendanceRecordsMapper;
 import com.ruoyi.staff.mapper.PersonalShiftMapper;
 import com.ruoyi.staff.mapper.StaffOnJobMapper;
 import com.ruoyi.staff.pojo.PersonalAttendanceLocationConfig;
 import com.ruoyi.staff.pojo.PersonalAttendanceRecords;
-import com.ruoyi.staff.mapper.PersonalAttendanceRecordsMapper;
 import com.ruoyi.staff.pojo.PersonalShift;
 import com.ruoyi.staff.pojo.StaffOnJob;
 import com.ruoyi.staff.service.PersonalAttendanceRecordsService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.staff.task.PersonalAttendanceRecordsTask;
 import com.ruoyi.staff.utils.LocationUtils;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
-import java.time.format.DateTimeFormatter;
 import java.util.List;
 
 /**
@@ -50,24 +46,14 @@
  */
 @Service
 @Transactional(rollbackFor = Exception.class)
+@RequiredArgsConstructor
 public class PersonalAttendanceRecordsServiceImpl extends ServiceImpl<PersonalAttendanceRecordsMapper, PersonalAttendanceRecords> implements PersonalAttendanceRecordsService {
-    @Autowired
-    private PersonalAttendanceRecordsMapper personalAttendanceRecordsMapper;
 
-    @Autowired
-    private StaffOnJobMapper staffOnJobMapper;
-
-    @Autowired
-    private PersonalAttendanceLocationConfigMapper personalAttendanceLocationConfigMapper;
-
-    @Autowired
-    private ISysDictDataService dictDataService;
-
-    @Autowired
-    private SysDeptMapper sysDeptMapper;
-
-    @Autowired
-    private PersonalShiftMapper personalShiftMapper;
+    private final PersonalAttendanceRecordsMapper personalAttendanceRecordsMapper;
+    private final StaffOnJobMapper staffOnJobMapper;
+    private final PersonalAttendanceLocationConfigMapper personalAttendanceLocationConfigMapper;
+    private final SysDeptMapper sysDeptMapper;
+    private final PersonalShiftMapper personalShiftMapper;
 
     @Override
     public int add(PersonalAttendanceRecordsDto personalAttendanceRecordsDto) {
@@ -86,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("褰撳墠鐢ㄦ埛褰撳ぉ娌℃湁鎺掔彮鏁版嵁");
         }
@@ -244,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