diff --git a/healthlink-his-server/core-system/src/main/java/com/core/system/service/impl/SysMenuServiceImpl.java b/healthlink-his-server/core-system/src/main/java/com/core/system/service/impl/SysMenuServiceImpl.java index 9bd3fb7f2..0ab622bf8 100755 --- a/healthlink-his-server/core-system/src/main/java/com/core/system/service/impl/SysMenuServiceImpl.java +++ b/healthlink-his-server/core-system/src/main/java/com/core/system/service/impl/SysMenuServiceImpl.java @@ -176,7 +176,7 @@ public class SysMenuServiceImpl implements ISysMenuService { children.setQuery(menu.getQuery()); childrenList.add(children); router.setChildren(childrenList); - } else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) { + } else if ((menu.getParentId() == null || menu.getParentId() == 0) && isInnerLink(menu)) { router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), false, null, menu.getVisible())); router.setPath("/"); List childrenList = new ArrayList(); @@ -524,11 +524,11 @@ public class SysMenuServiceImpl implements ISysMenuService { public String getRouterPath(SysMenu menu) { String routerPath = menu.getPath(); // 内链打开外网方式 - if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) { + if (menu.getParentId() != null && menu.getParentId() != 0 && isInnerLink(menu)) { routerPath = innerLinkReplaceEach(routerPath); } // 非外链并且是一级目录(类型为目录) - if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType()) + if ((menu.getParentId() == null || menu.getParentId() == 0) && UserConstants.TYPE_DIR.equals(menu.getMenuType()) && UserConstants.NO_FRAME.equals(menu.getIsFrame())) { routerPath = "/" + menu.getPath(); } @@ -549,7 +549,8 @@ public class SysMenuServiceImpl implements ISysMenuService { String component = UserConstants.LAYOUT; if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) { component = menu.getComponent(); - } else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 + } else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId() != null + && menu.getParentId() != 0 && isInnerLink(menu)) { component = UserConstants.INNER_LINK; } else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu)) { @@ -565,7 +566,7 @@ public class SysMenuServiceImpl implements ISysMenuService { * @return 结果 */ public boolean isMenuFrame(SysMenu menu) { - return menu.getParentId().intValue() == 0 && UserConstants.TYPE_MENU.equals(menu.getMenuType()) + return (menu.getParentId() == null || menu.getParentId() == 0) && UserConstants.TYPE_MENU.equals(menu.getMenuType()) && menu.getIsFrame().equals(UserConstants.NO_FRAME); } @@ -586,7 +587,7 @@ public class SysMenuServiceImpl implements ISysMenuService { * @return 结果 */ public boolean isParentView(SysMenu menu) { - return menu.getParentId().intValue() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType()); + return menu.getParentId() != null && menu.getParentId() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType()); } /** @@ -634,7 +635,7 @@ public class SysMenuServiceImpl implements ISysMenuService { Iterator it = list.iterator(); while (it.hasNext()) { SysMenu n = (SysMenu)it.next(); - if (n.getParentId().longValue() == t.getMenuId().longValue()) { + if (n.getParentId() != null && n.getParentId().longValue() == t.getMenuId().longValue()) { tlist.add(n); } }