From e1fba46a50e2f5036b1a5fd59f459e61495eb888 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 08 七月 2026 16:43:44 +0800
Subject: [PATCH] 已进行排班并且人员已打卡的前提下,对应的班次配置不能编辑删除。

---
 src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceLocationConfigServiceImpl.java |   33 +++++++++++++++++++++++++--------
 1 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceLocationConfigServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceLocationConfigServiceImpl.java
index b1dffca..7548db8 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceLocationConfigServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceLocationConfigServiceImpl.java
@@ -1,15 +1,12 @@
 package com.ruoyi.staff.service.impl;
 
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.ruoyi.common.exception.base.BaseException;
-import com.ruoyi.staff.pojo.PersonalAttendanceLocationConfig;
-import com.ruoyi.staff.mapper.PersonalAttendanceLocationConfigMapper;
-import com.ruoyi.staff.service.PersonalAttendanceLocationConfigService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.ruoyi.staff.mapper.PersonalAttendanceLocationConfigMapper;
+import com.ruoyi.staff.mapper.PersonalShiftMapper;
+import com.ruoyi.staff.pojo.PersonalAttendanceLocationConfig;
+import com.ruoyi.staff.service.PersonalAttendanceLocationConfigService;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
-
-import java.util.List;
 
 /**
  * <p>
@@ -20,6 +17,26 @@
  * @since 2026-02-11 09:41:34
  */
 @Service
+@RequiredArgsConstructor
 public class PersonalAttendanceLocationConfigServiceImpl extends ServiceImpl<PersonalAttendanceLocationConfigMapper, PersonalAttendanceLocationConfig> implements PersonalAttendanceLocationConfigService {
 
+    private final PersonalShiftMapper personalShiftMapper;
+
+    @Override
+    public boolean hasAttendanceUsage(Integer configId) {
+        if (configId == null) {
+            return false;
+        }
+        return personalShiftMapper.existsAttendanceUsedByConfig(configId);
+    }
+
+    @Override
+    public boolean canEdit(Integer configId) {
+        return !hasAttendanceUsage(configId);
+    }
+
+    @Override
+    public boolean canDelete(Integer configId) {
+        return !hasAttendanceUsage(configId);
+    }
 }

--
Gitblit v1.9.3