From e7202ce274c9ee51a1617069e42c5b886d21991a Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期一, 20 十月 2025 16:30:51 +0800
Subject: [PATCH] 功能改造

---
 gkhy-system/src/main/java/com/gkhy/system/service/impl/HazardsServiceImpl.java |   50 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 37 insertions(+), 13 deletions(-)

diff --git a/gkhy-system/src/main/java/com/gkhy/system/service/impl/HazardsServiceImpl.java b/gkhy-system/src/main/java/com/gkhy/system/service/impl/HazardsServiceImpl.java
index 9968336..e72f9bf 100644
--- a/gkhy-system/src/main/java/com/gkhy/system/service/impl/HazardsServiceImpl.java
+++ b/gkhy-system/src/main/java/com/gkhy/system/service/impl/HazardsServiceImpl.java
@@ -7,8 +7,8 @@
 import com.gkhy.common.core.domain.entity.SysRole;
 import com.gkhy.common.core.domain.entity.SysUser;
 import com.gkhy.common.core.domain.model.LoginUser;
+import com.gkhy.common.exception.ServiceException;
 import com.gkhy.common.utils.SecurityUtils;
-import com.gkhy.system.domain.DailySafetyInspection;
 import com.gkhy.system.domain.Hazards;
 import com.gkhy.system.domain.dto.HazardsEditDTO;
 import com.gkhy.system.mapper.HazardsMapper;
@@ -17,7 +17,6 @@
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
-import java.util.Collections;
 import java.util.List;
 
 /**
@@ -38,8 +37,22 @@
 
     @Override
     public List<Hazards> getHazardsList(Hazards hazards) {
+        if (hazards != null && "2".equals(hazards.getHazardsType())){
+            boolean b = check2Per();
+            if (!b){
+                hazards.setReformUserId(SecurityUtils.getUserId());
+            }
+        }
         return hazardsMapper.getHazardsList(hazards);
     }
+
+    boolean check2Per(){
+        if (SecurityUtils.isAdmin(SecurityUtils.getUserId()) || SecurityUtils.hasRole(Constants.SYS_ADMIN) || SecurityUtils.hasRole(Constants.PLACE_SAFETY_OFFICER)){
+            return true;
+        }
+        return false;
+    }
+
 
     @Override
     public int saveHazards(Hazards inspection) {
@@ -59,7 +72,13 @@
     @Override
     public int updateHazards(HazardsEditDTO dto) {
 
-        checkPer();
+        Hazards hazards = hazardsMapper.selectById(dto.getId());
+        if (hazards == null){
+            throw new ServiceException("没有此数据");
+        }
+        if (!hazards.getReformUserId().toString().equals(SecurityUtils.getUserId().toString())){
+            throw new ServiceException("只能整改本人数据");
+        }
         Hazards inspection = new Hazards();
         inspection.setId(dto.getId());
         inspection.setReformPeriod(dto.getReformPeriod());
@@ -73,16 +92,21 @@
     }
 
     private void checkPer(){
-        boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
-        if (!admin){
-            LoginUser loginUser = SecurityUtils.getLoginUser();
-            SysUser user = loginUser.getUser();
-            List<SysRole> roles = user.getRoles();
-            long sysAdmin = roles.stream().filter(role -> role.getRoleKey().equals(Constants.SYS_ADMIN)).count();
-            if (sysAdmin == 0){
-                throw new RuntimeException("没有权限");
-            }
-        }
+
+//        boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
+//        if (!admin){
+//            boolean placeSafetyOfficer = SecurityUtils.hasRole(Constants.SYS_ADMIN);
+//            if (!placeSafetyOfficer){
+//                throw new RuntimeException("没有权限");
+//            }
+//            LoginUser loginUser = SecurityUtils.getLoginUser();
+//            SysUser user = loginUser.getUser();
+//            List<SysRole> roles = user.getRoles();
+//            long sysAdmin = roles.stream().filter(role -> role.getRoleKey().equals(Constants.SYS_ADMIN)).count();
+//            if (sysAdmin == 0){
+//                throw new RuntimeException("没有权限");
+//            }
+//        }
 
     }
 

--
Gitblit v1.9.2