Browse Source

机构查询修改

hym 4 years ago
parent
commit
202a972502

+ 7 - 2
user_auth/src/main/java/com/huaxu/service/impl/UserServiceImpl.java

@@ -238,17 +238,22 @@ public class UserServiceImpl implements UserService {
             programItem.setOrgId(user.getCompanyOrgId());
             programItemList.add(programItem);
         }else if(permissionType==2){
-            Map<Integer, List<Org>> allOrgs = getAllOrgs("company",user.getTenantId());
+            Map<Integer, List<Org>> allOrgs = getAllOrgs(null,user.getTenantId());
+            ProgramItem programItem=new ProgramItem();
+            programItem.setOrgId(user.getCompanyOrgId());
             getOrg(user.getCompanyOrgId(),allOrgs,programItemList);
+            programItemList.add(programItem);
 
         }else if(permissionType==3){
             ProgramItem programItem=new ProgramItem();
             programItem.setOrgId(user.getDeptOrgId());
             programItemList.add(programItem);
         }else if(permissionType==4) {
+            ProgramItem programItem=new ProgramItem();
+            programItem.setOrgId(user.getDeptOrgId());
             Map<Integer, List<Org>> allOrgs = getAllOrgs("department",user.getTenantId());
             getOrg(user.getDeptOrgId(),allOrgs,programItemList);
-
+            programItemList.add(programItem);
         }else if(permissionType==5){
             programItemList.addAll( userMapper.findOrgRole(user));
             programItemList.forEach(programItem -> {

+ 16 - 14
user_center/src/main/java/com/huaxu/service/impl/OrgServiceImpl.java

@@ -110,7 +110,7 @@ public class OrgServiceImpl implements OrgService {
                     return -3;
             }
         }
-        //删除前先查询机构下是否还有用户
+
 
         LoginUser currentUser = UserUtil.getCurrentUser();
         org.setUpdateBy(currentUser.getUsername());
@@ -176,17 +176,17 @@ public class OrgServiceImpl implements OrgService {
     public List<OrgTree> getTrees(Org org) {
         LoginUser currentUser = UserUtil.getCurrentUser();
         org.setTenantId(currentUser.getTenantId());
-       /* Set<Integer>orgIds=new HashSet<>();
+        Set<Integer>orgIds=new HashSet<>();
         List<ProgramItem> programItemList = currentUser.getProgramItemList();
         if(programItemList!=null){
             programItemList.forEach(programItem -> {
                 orgIds.add(programItem.getOrgId());
             });
-        }*/
+        }
 
         List<OrgTree> trees=orgMapper.selectTrees(org);
 
-        trees=getOrgTree(trees,0,1);
+        trees=getOrgTree(trees,0,1,orgIds);
 
         return trees;
     }
@@ -197,20 +197,20 @@ public class OrgServiceImpl implements OrgService {
         org.setTenantId(currentUser.getTenantId());
         Integer id=org.getId();
         org.setId(null);
-       /* Set<Integer>orgIds=new HashSet<>();
+        Set<Integer>orgIds=new HashSet<>();
         List<ProgramItem> programItemList = currentUser.getProgramItemList();
         if(programItemList!=null){
             programItemList.forEach(programItem -> {
                 orgIds.add(programItem.getOrgId());
             });
-        }*/
+        }
 
         List<OrgTree> trees=new ArrayList<>();
         if("company".equals(org.getOrgType())){
 
             if(currentUser.getDepartmentId()==null){
                 trees=orgMapper.selectTrees(org);
-                trees=getOrgTreeByOrg(trees,currentUser.getCompanyId());
+                trees=getOrgTreeByOrg(trees,currentUser.getCompanyId(),orgIds);
             }else{
                 org.setId(currentUser.getCompanyId());
                 trees=orgMapper.selectTrees(org);
@@ -219,7 +219,7 @@ public class OrgServiceImpl implements OrgService {
             if(currentUser.getDepartmentId()!=null){
                 org.setOrgType("department");
                 trees=orgMapper.selectTrees(org);
-                trees=getOrgTreeByOrg(trees,currentUser.getDepartmentId());
+                trees=getOrgTreeByOrg(trees,currentUser.getDepartmentId(),orgIds);
             }else{
 
 
@@ -232,7 +232,7 @@ public class OrgServiceImpl implements OrgService {
 
         return trees;
     }
-    List<OrgTree> getOrgTreeByOrg(List<OrgTree> trees,int id){
+    List<OrgTree> getOrgTreeByOrg(List<OrgTree> trees,int id, Set<Integer>orgIds){
         OrgTree fatherOrgTree=new OrgTree();
         for (OrgTree tree : trees) {
             if(tree.getId()==id){
@@ -242,24 +242,26 @@ public class OrgServiceImpl implements OrgService {
 
         }
 
-        trees=getOrgTree(trees,id,1);
+        trees=getOrgTree(trees,id,1,orgIds);
         fatherOrgTree.setOrgs(trees);
         List<OrgTree> result=new ArrayList<>();
         result.add(fatherOrgTree);
         trees=result;
         return trees;
     }
-    public  List<OrgTree> getOrgTree(List<OrgTree> list, Integer id, Integer level) {
+    public  List<OrgTree> getOrgTree(List<OrgTree> list, Integer id, Integer level, Set<Integer>orgIds) {
         List<OrgTree> temList = newArrayList();
         if (list != null) {
             for (OrgTree orgTree : list) {
 
                 if (id.equals(orgTree.getParentOrgId())) {
                     //拥有权限可以显示
-                   /* if(!set.contains(id)){
+                    if(orgIds!=null&&orgIds.contains(orgTree.getId())){
                         orgTree.setDisplay(true);
-                    }*/
-                    List<OrgTree> chidren = getOrgTree(list, orgTree.getId(),level);
+                    }else{
+                        orgTree.setDisplay(false);
+                    }
+                    List<OrgTree> chidren = getOrgTree(list, orgTree.getId(),level,orgIds);
                     OrgTree temPermission = new OrgTree();
                     BeanUtils.copyProperties(orgTree, temPermission);
                     temPermission.setOrgs(chidren);