From 960656a7440885ff320e61e249b7f3d82265cecc Mon Sep 17 00:00:00 2001 From: ruanqi Date: Tue, 21 Jan 2025 09:53:26 +0800 Subject: [PATCH] 111 --- .../change/mapper/ChangeManagementMapper.java | 2 +- .../impl/ChangeManagementServiceImpl.java | 21 ++++++++++-- .../spring/modules/sys/dao/SysMenuDao.java | 4 +++ .../sys/service/impl/ShiroServiceImpl.java | 4 +-- .../sys/service/impl/SysMenuServiceImpl.java | 2 +- .../mapper/change/ChangeManagementMapper.xml | 33 ++++++++++++++++++- src/main/resources/mapper/sys/SysMenuDao.xml | 4 +++ 7 files changed, 62 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/spring/modules/change/mapper/ChangeManagementMapper.java b/src/main/java/com/spring/modules/change/mapper/ChangeManagementMapper.java index 1683a6f1..2886f709 100644 --- a/src/main/java/com/spring/modules/change/mapper/ChangeManagementMapper.java +++ b/src/main/java/com/spring/modules/change/mapper/ChangeManagementMapper.java @@ -138,7 +138,7 @@ public interface ChangeManagementMapper extends BaseMapper{ List getNodeInformation(@Param("site") String site, @Param("menuId") String menuId, @Param("stepId") Integer stepTd); List getNodeAuthority(PlmRequestDetailEntity plmRequestDetailEntity); - + List getAllNodeAuthority(PlmRequestDetailEntity plmRequestDetailEntity); void updateStepId2(ParamData paramData); void updateProcessForm2(ParamData paramData); diff --git a/src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java b/src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java index b22a9e45..15e58feb 100644 --- a/src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java +++ b/src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java @@ -38,9 +38,11 @@ import com.spring.modules.request.mapper.RequestManageMapper; import com.spring.modules.request.vo.PlmRequestDetailVo; import com.spring.modules.request.vo.PlmRequestHeaderVo; import com.spring.modules.sampleManagement.data.PlmTechnicalSpecificationSheetData; +import com.spring.modules.sys.dao.SysMenuDao; import com.spring.modules.sys.dao.SysUserDao; import com.spring.modules.sys.entity.SysUserEntity; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -92,7 +94,8 @@ public class ChangeManagementServiceImpl extends ServiceImpl nodeAuthorityList = changeManagementMapper.getNodeAuthority(requestNodeList.get(0)); + List nodeAuthorityList=new ArrayList<>(); + //系统管理员获取所有权限 + if(sysMenuDao.checkSuperAdmin(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()).size()>0){ + nodeAuthorityList = changeManagementMapper.getAllNodeAuthority(requestNodeList.get(0)); + }else { + nodeAuthorityList = changeManagementMapper.getNodeAuthority(requestNodeList.get(0)); + } return nodeAuthorityList.stream().map(item ->{ item.setFieldId(CommonUtils.underScoreToCamel(item.getFieldId())); return item; @@ -1819,7 +1828,13 @@ public class ChangeManagementServiceImpl extends ServiceImpl nodeAuthorityList = changeManagementMapper.getNodeAuthority(requestNodeList.get(0)); + List nodeAuthorityList=new ArrayList<>(); + //系统管理员获取所有权限 + if(sysMenuDao.checkSuperAdmin(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()).size()>0){ + nodeAuthorityList = changeManagementMapper.getAllNodeAuthority(requestNodeList.get(0)); + }else { + nodeAuthorityList = changeManagementMapper.getNodeAuthority(requestNodeList.get(0)); + } String result=""; for (int i = 0; i { * @version 1.0 */ List getUserMenuListByUserId(Long userId); + + List checkSuperAdmin(Long userId); } diff --git a/src/main/java/com/spring/modules/sys/service/impl/ShiroServiceImpl.java b/src/main/java/com/spring/modules/sys/service/impl/ShiroServiceImpl.java index 944531f3..514e8249 100644 --- a/src/main/java/com/spring/modules/sys/service/impl/ShiroServiceImpl.java +++ b/src/main/java/com/spring/modules/sys/service/impl/ShiroServiceImpl.java @@ -36,7 +36,7 @@ public class ShiroServiceImpl implements ShiroService { // 获取数据库配置的信息判断是否是 需要启动多语言 String authControl = sysConfigService.getValue(CommonConstant.AUTH_CONTROL); //系统管理员,拥有最高权限 或者不管控权限 - if(userId == Constant.SUPER_ADMIN || CommonConstant.AUTH_CONTROL_FLAG.equals(authControl)){ + if(userId == Constant.SUPER_ADMIN || CommonConstant.AUTH_CONTROL_FLAG.equals(authControl)||sysMenuDao.checkSuperAdmin(userId).size()>0){ List menuList = sysMenuDao.selectList(null); permsList = new ArrayList<>(menuList.size()); for(SysMenuEntity menu : menuList){ @@ -59,7 +59,7 @@ public class ShiroServiceImpl implements ShiroService { @Override public List getAccessFieldByUserId(long userId){ List result; - if(userId == Constant.SUPER_ADMIN){ + if(userId == Constant.SUPER_ADMIN||sysMenuDao.checkSuperAdmin(userId).size()>0){ result=sysUserDao.selectAllField(); }else { result=sysUserDao.selectFieldByUserId(userId); diff --git a/src/main/java/com/spring/modules/sys/service/impl/SysMenuServiceImpl.java b/src/main/java/com/spring/modules/sys/service/impl/SysMenuServiceImpl.java index 75af3db4..6e971787 100644 --- a/src/main/java/com/spring/modules/sys/service/impl/SysMenuServiceImpl.java +++ b/src/main/java/com/spring/modules/sys/service/impl/SysMenuServiceImpl.java @@ -68,7 +68,7 @@ public class SysMenuServiceImpl extends ServiceImpl i @Override public List getUserMenuList(Long userId,String l,String MenuType) { //系统管理员,拥有最高权限 - if(userId == Constant.SUPER_ADMIN){ + if(userId == Constant.SUPER_ADMIN||sysMenuDao.checkSuperAdmin(userId).size()>0){ return getAllMenuList(null,l,MenuType); } diff --git a/src/main/resources/mapper/change/ChangeManagementMapper.xml b/src/main/resources/mapper/change/ChangeManagementMapper.xml index ba5fd654..35b56bf5 100644 --- a/src/main/resources/mapper/change/ChangeManagementMapper.xml +++ b/src/main/resources/mapper/change/ChangeManagementMapper.xml @@ -968,7 +968,38 @@ left join plm_request_node as b on a.site = b.site and a.bu = b.bu and a.classification_no = b.classification_no and a.workflow_id = b.workflow_id where a.site = #{site} and a.menu_id = #{menuId} and a.status = 'Y' and b.step_id = #{stepId} - + + + \ No newline at end of file