|
@@ -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);
|