|
@@ -47,6 +47,7 @@ import com.xtframe.core.base.vo.TreeNode;
|
|
|
import com.xtframe.sec.code.entity.CodeEntity;
|
|
|
import com.xtframe.sec.common.BaseEntity;
|
|
|
import com.xtframe.sec.common.SimplePageRequest;
|
|
|
+import com.xtframe.sec.role.entity.RoleEntity;
|
|
|
import com.xtframe.sec.user.entity.UserEntity;
|
|
|
import com.xtframe.util.StringUtils;
|
|
|
|
|
@@ -70,7 +71,7 @@ public class CommonCtl extends BaseWebCtl {
|
|
|
private XzglbmxxService xzglbmService;
|
|
|
@Autowired
|
|
|
private XzglryService xzglryService;
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 根据当前系统部署的citycode进行过滤
|
|
|
*
|
|
@@ -327,19 +328,17 @@ public class CommonCtl extends BaseWebCtl {
|
|
|
return wr;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* 初始化公告人员树
|
|
|
*/
|
|
|
@RequestMapping(value = "/getUserTreeData", produces = { "text/json;charset=utf-8" })
|
|
|
@ResponseBody
|
|
|
- public String getUserTreeData(Model model) {
|
|
|
+ public String getUserTreeData(Model model, String roleCode) {
|
|
|
TreeNode root = new TreeNode();
|
|
|
root.setId(Constants.BLANK_UUID);
|
|
|
root.setName("省港口局");
|
|
|
root.setOpen(true);
|
|
|
- root.setChildren(getByPid("402881a45155eda5015156512d080000"));
|
|
|
+ root.setChildren(getByPid("402881a45155eda5015156512d080000", roleCode));
|
|
|
return JSONObject.fromObject(root).toString();
|
|
|
}
|
|
|
|
|
@@ -349,22 +348,31 @@ public class CommonCtl extends BaseWebCtl {
|
|
|
* @param xzglbmxx
|
|
|
* @return
|
|
|
*/
|
|
|
- private TreeNode xzglbmToTreeNode(XzglbmxxEntity xzglbmxx) {
|
|
|
+ private TreeNode xzglbmToTreeNode(XzglbmxxEntity xzglbmxx, String roleCode) {
|
|
|
if (xzglbmxx != null) {
|
|
|
TreeNode node = new TreeNode();
|
|
|
node.setId(xzglbmxx.getId());
|
|
|
node.setName(xzglbmxx.getGkglbmqc());
|
|
|
- if (StringUtils.isEmpty(getByPid(xzglbmxx.getId()))) {
|
|
|
- node.setChildren(getUsers(xzglbmxx.getId()));
|
|
|
+ List<TreeNode> nodelist = new ArrayList<TreeNode>();
|
|
|
+ if (StringUtils.isEmpty(getByPid(xzglbmxx.getId(), roleCode))) {
|
|
|
+ nodelist = getUsers(xzglbmxx.getId(), roleCode);
|
|
|
+ if (nodelist != null && nodelist.size() > 0) {
|
|
|
+ node.setChildren(nodelist);
|
|
|
+ return node;
|
|
|
+ }
|
|
|
} else {
|
|
|
- node.setChildren(getByPid(xzglbmxx.getId()));
|
|
|
+ nodelist = getByPid(xzglbmxx.getId(), roleCode);
|
|
|
+ if (nodelist != null && nodelist.size() > 0) {
|
|
|
+ node.setChildren(nodelist);
|
|
|
+ return node;
|
|
|
+ }
|
|
|
}
|
|
|
- return node;
|
|
|
+
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
- private List<TreeNode> getUsers(String bmid) {
|
|
|
+ private List<TreeNode> getUsers(String bmid, String roleCode) {
|
|
|
List<TreeNode> nodeList = null;
|
|
|
List<XzglryEntity> rylist = xzglryService.queryXzglryByBmid(bmid);
|
|
|
if (rylist != null && rylist.size() > 0) {
|
|
@@ -373,15 +381,32 @@ public class CommonCtl extends BaseWebCtl {
|
|
|
TreeNode node = new TreeNode();
|
|
|
if (!StringUtils.isEmpty(ry)) {
|
|
|
UserEntity user = securityMgr.userService().findByssry(ry.getId());
|
|
|
- if(user!=null){
|
|
|
- node.setId(user.getId());
|
|
|
- node.setType("user");
|
|
|
- node.setName(ry.getXm());
|
|
|
- node.setChecked(false);
|
|
|
- nodeList.add(node);
|
|
|
+ if (user != null) {
|
|
|
+ boolean flag = false;
|
|
|
+ if (!StringUtils.isEmpty(roleCode)) {
|
|
|
+ List<RoleEntity> rlist = securityMgr.roleService().findByUserId(user.getId());
|
|
|
+
|
|
|
+ if (rlist != null && rlist.size() > 0) {
|
|
|
+ for (RoleEntity role : rlist) {
|
|
|
+ if (roleCode.equals(role.getCode())) {
|
|
|
+ flag = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ if (flag) {
|
|
|
+ node.setId(user.getId());
|
|
|
+ node.setType("user");
|
|
|
+ node.setName(user.getName());
|
|
|
+ node.setChecked(false);
|
|
|
+ nodeList.add(node);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
return nodeList;
|
|
@@ -393,7 +418,7 @@ public class CommonCtl extends BaseWebCtl {
|
|
|
* @param pid
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<TreeNode> getByPid(String pid) {
|
|
|
+ public List<TreeNode> getByPid(String pid, String roleCode) {
|
|
|
List<TreeNode> nodeList = new ArrayList<TreeNode>();
|
|
|
List<XzglryEntity> rylist = xzglryService.queryXzglryByBmid(pid);
|
|
|
if (rylist != null && rylist.size() > 0) {
|
|
@@ -401,22 +426,42 @@ public class CommonCtl extends BaseWebCtl {
|
|
|
TreeNode node = new TreeNode();
|
|
|
if (!StringUtils.isEmpty(ry)) {
|
|
|
UserEntity user = securityMgr.userService().findByssry(ry.getId());
|
|
|
- if(user!=null){
|
|
|
- node.setId(user.getId());
|
|
|
- node.setType("user");
|
|
|
- node.setName(user.getName());
|
|
|
- node.setChecked(false);
|
|
|
- nodeList.add(node);
|
|
|
+ if (user != null) {
|
|
|
+ boolean flag = false;
|
|
|
+ if (!StringUtils.isEmpty(roleCode)) {
|
|
|
+ List<RoleEntity> rlist = securityMgr.roleService().findByUserId(user.getId());
|
|
|
+
|
|
|
+ if (rlist != null && rlist.size() > 0) {
|
|
|
+ for (RoleEntity role : rlist) {
|
|
|
+ if (roleCode.equals(role.getCode())) {
|
|
|
+ flag = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ if (flag) {
|
|
|
+ node.setId(user.getId());
|
|
|
+ node.setType("user");
|
|
|
+ node.setName(user.getName());
|
|
|
+ node.setChecked(false);
|
|
|
+ nodeList.add(node);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
List<XzglbmxxEntity> xzglbmxxlist = xzglbmService.queryXzglbm(pid, GlobalData.CITY_CODE);
|
|
|
if (xzglbmxxlist != null && xzglbmxxlist.size() > 0) {
|
|
|
for (XzglbmxxEntity xzglbmxxEntity : xzglbmxxlist) {
|
|
|
- if ("省港口局".equals(xzglbmxxEntity.getGkglbmqc()) || !"00".equals(pid) ) {
|
|
|
- nodeList.add(xzglbmToTreeNode(xzglbmxxEntity));
|
|
|
+ if ("省港口局".equals(xzglbmxxEntity.getGkglbmqc()) || !"00".equals(pid)) {
|
|
|
+ TreeNode node = xzglbmToTreeNode(xzglbmxxEntity, roleCode);
|
|
|
+ if (!StringUtils.isEmpty(node)) {
|
|
|
+ nodeList.add(node);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|