diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/role/RoleHandler.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/role/RoleHandler.java index 43699a2..86a59cb 100644 --- a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/role/RoleHandler.java +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/role/RoleHandler.java @@ -237,16 +237,17 @@ public class RoleHandler { Menu menu = MenuCache.getInstance().get(item.getMenu()); if (menu == null) return SwListData.create(list, 0); RoleRightContent rc = new RoleRightContent(role.getPrivilege()); - Map data = rc.getDataRight(item.getId()); + Map> data = rc.getDataRight(item.getId()); for (String f : menu.getRightSet(BpmEnum.MenuRightType.DATA.value)) { if (StringUtil.isEmpty(f)) continue; SwMap row = new SwMap(); row.put("key", f); row.put("key_text", DataRightDefineCache.getInstance().get(f).getName()); - if (data.containsKey("value")) { - row.put("value", data.get("value")); - row.put("value_text", DataRightGroupCache.getInstance().get(data.get("value").toString()).getName()); + if (data.containsKey(f)) { + Map right = data.get(f); + row.put("value", right.get("value")); + row.put("value_text", DataRightGroupCache.getInstance().get(right.get("value").toString()).getName()); } list.add(row); } diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/role/RoleRightContent.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/role/RoleRightContent.java index 36b2b17..08c23f1 100644 --- a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/role/RoleRightContent.java +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/role/RoleRightContent.java @@ -61,7 +61,7 @@ public class RoleRightContent { public String getFuncRight(long key) { RoleRight right = getRoleRight(key); if (right == null) return ""; - return StringUtil.join(right.getRightFunc(),","); + return StringUtil.join(right.getRightFunc(), ","); } public String getMenuRight() { @@ -70,8 +70,9 @@ public class RoleRightContent { map.values().forEach(roleRight -> { if (roleRight.getMenu() == 1) menus.add(roleRight.getId() + ""); }); - return StringUtil.join(menus,","); + return StringUtil.join(menus, ","); } + public Set getMenuRightIds() { Set ids = new HashSet<>(); if (map.size() == 0) return ids; @@ -80,6 +81,7 @@ public class RoleRightContent { }); return ids; } + public String getFieldRight(long key, int type) { RoleRight right = getRoleRight(key); if (right == null) return ""; @@ -89,17 +91,17 @@ public class RoleRightContent { cache.forEach((k, v) -> { if (v == type) fields.add(k); }); - return StringUtil.join(fields,","); + return StringUtil.join(fields, ","); } - public Map getDataRight(long key) { + public Map> getDataRight(long key) { RoleRight right = getRoleRight(key); if (right == null) return new HashMap<>(); List> list = right.getRightData(); if (list == null || list.size() == 0) return new HashMap<>(); - Map cache = new HashMap<>(); + Map> cache = new HashMap<>(); list.forEach(k -> { - cache.putAll(k); + cache.put(k.get("key").toString(), k); }); return cache; }