Преглед изворни кода

【CHG】修改安全工具查询权限

ZhaoMn пре 3 година
родитељ
комит
e31d42e0b0

+ 1 - 3
railway-admin/src/main/java/com/railway/web/controller/business/safetool/SecQcodeController.java

@@ -1,8 +1,6 @@
 package com.railway.web.controller.business.safetool;
 
 import com.railway.business.safetool.domain.BaseSafetyTool;
-import com.railway.business.safetool.enums.ToolStateEnum;
-import com.railway.business.safetool.enums.ToolTestStateEnum;
 import com.railway.business.safetool.service.IBaseSafetyToolService;
 import com.railway.common.annotation.Log;
 import com.railway.common.core.controller.BaseController;
@@ -57,7 +55,7 @@ public class SecQcodeController extends BaseController {
           break;
         }
       }
-      Long deptId = SecurityUtils.getDeptId();
+      Long deptId = user.getDeptId();
       if (!isLabRole && tool.getDeptId().compareTo(deptId) != 0) {
         return AjaxResult.error("非本车间安全工具,请检查!");
       }

+ 17 - 3
railway-business/src/main/java/com/railway/business/safetool/service/impl/BaseSafetyToolServiceImpl.java

@@ -12,6 +12,7 @@ import com.railway.business.safetool.mapper.SecExperimentMapper;
 import com.railway.business.safetool.mapper.SecScheduledMapper;
 import com.railway.business.safetool.service.IBaseSafetyToolService;
 import com.railway.common.core.domain.AjaxResult;
+import com.railway.common.core.domain.entity.SysRole;
 import com.railway.common.core.domain.entity.SysUser;
 import com.railway.common.enums.QcodeEnum;
 import com.railway.common.qrcode.impl.SnowflakeClient;
@@ -168,10 +169,23 @@ public class BaseSafetyToolServiceImpl implements IBaseSafetyToolService {
    */
   @Override
   public List<BaseSafetyTool> getList(BaseSafetyTool baseSafetyTool) {
-    Long userId = SecurityUtils.getUserId();
-    if (!SysUser.isAdmin(userId)) {
-      baseSafetyTool.setDeptId(SecurityUtils.getDeptId());
+    if(!SecurityUtils.isAdmin()){
+      String labRoleName = "实验员";
+      boolean isLabRole = false;
+      SysUser user = SecurityUtils.getLoginUser().getUser();
+      List<SysRole> roles = user.getRoles();
+      for(SysRole role : roles){
+        if(labRoleName.equals(role.getRoleKey())){
+          isLabRole = true;
+          break;
+        }
+      }
+      if (!isLabRole) {
+        Long deptId = user.getDeptId();
+        baseSafetyTool.setDeptId(deptId);
+      }
     }
+
     List<BaseSafetyTool> list = safetyToolMapper.getList(baseSafetyTool);
     for(BaseSafetyTool tool : list){
       if(StringUtils.isEmpty(tool.getToolQcode()) || StringUtils.isEmpty(tool.getQcodeUrl())) {