Bladeren bron

SAI开项管理:当前用户拥有“SAI功能演示”角色则隐藏“已取消”数据

wangggziwen 2 jaren geleden
bovenliggende
commit
ae240b309a

+ 42 - 3
master/src/main/java/com/ruoyi/project/production/service/impl/TSaiApplyServiceImpl.java

@@ -2,18 +2,26 @@ package com.ruoyi.project.production.service.impl;
 
 import java.util.List;
 import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.project.system.domain.SysDept;
-import com.ruoyi.project.system.domain.SysDictData;
-import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.framework.security.LoginUser;
+import com.ruoyi.framework.security.service.TokenService;
+import com.ruoyi.project.system.domain.*;
 import com.ruoyi.project.system.mapper.SysDeptMapper;
+import com.ruoyi.project.system.mapper.SysRoleMapper;
 import com.ruoyi.project.system.mapper.SysUserMapper;
+import com.ruoyi.project.system.mapper.SysUserRoleMapper;
 import com.ruoyi.project.system.service.ISysDictTypeService;
+import com.ruoyi.project.system.service.ISysRoleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.project.production.mapper.TSaiApplyMapper;
 import com.ruoyi.project.production.domain.TSaiApply;
 import com.ruoyi.project.production.service.ITSaiApplyService;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+
 /**
  * SAI开项管理Service业务层处理
  *
@@ -35,6 +43,9 @@ public class TSaiApplyServiceImpl implements ITSaiApplyService
     @Autowired
     private ISysDictTypeService iSysDictTypeService;
 
+    @Autowired
+    private SysUserRoleMapper userRoleMapper;
+
     /**
      * 查询SAI开项管理
      *
@@ -96,9 +107,37 @@ public class TSaiApplyServiceImpl implements ITSaiApplyService
                 saiApply.setExecutorName(sysUserMapper.selectUserById(Long.parseLong(executor)).getNickName());
             }
         }
+        boolean specialRole = this.isSpecialRole();
+        if (specialRole) {  // 当前登录用户是特殊角色
+            for (TSaiApply saiApply : tSaiApplies) {
+                Long applyStatus = saiApply.getApplyStatus();
+                if (applyStatus.toString().equals("5")) {   // 申请状态为“已取消”的数据
+                    tSaiApplies.remove(saiApply);   // 从列表中移除
+                }
+            }
+        }
         return tSaiApplies;
     }
 
+    /**
+     * 当前登录用户是否为特殊角色(供SAI功能展示使用)
+     *
+     * @return 是否为特殊角色
+     */
+    private boolean isSpecialRole() {
+        boolean isSpecialRole = false;
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        SysUser user = loginUser.getUser();
+        List<SysRole> roles = user.getRoles();
+        for (SysRole role : roles) {
+            Long roleId = role.getRoleId();
+            if (roleId.toString().equals("23140")) {
+                isSpecialRole = true;
+            }
+        }
+        return isSpecialRole;
+    }
+
     /**
      * 新增SAI开项管理
      *