|
|
@@ -140,10 +140,15 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
return generateTree(orgs, sysOrg);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取指定机构类型及其上级机构
|
|
|
+ * @param orgType
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
- public List<SysOrgVO> selectHangsheTreeList() {
|
|
|
+ public List<SysOrgVO> selectTreeByOrgType(OrgTypeEnum orgType) {
|
|
|
SysOrg sysOrg = getLoginUserOrg();
|
|
|
- List<SysOrgVO> hangshelist = getHangsheTreeCache(sysOrg.getPath());
|
|
|
+ List<SysOrgVO> hangshelist = getWholeTreeInCache(sysOrg.getPath(),orgType);
|
|
|
|
|
|
return generateTree(hangshelist, sysOrg);
|
|
|
}
|
|
|
@@ -221,9 +226,9 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<SysOrgVO> getHangsheTreeCache(String path) {
|
|
|
+ public List<SysOrgVO> getWholeTreeInCache(String path, OrgTypeEnum orgType) {
|
|
|
List<SysOrgVO> cacheList = getOrgCache();
|
|
|
- List<SysOrgVO> hangshelist = cacheList.stream().filter(c -> ObjectUtil.equal(c.getType(), OrgTypeEnum.HANG_SHE.getCode())
|
|
|
+ List<SysOrgVO> hangshelist = cacheList.stream().filter(c -> ObjectUtil.equal(c.getType(), orgType.getCode())
|
|
|
&& ObjectUtil.isNotEmpty(c.getPath()) && c.getPath().startsWith(path))
|
|
|
.collect(Collectors.toList());
|
|
|
Set<Long> hangsheSet = hangshelist.stream().map(o -> o.getId()).collect(Collectors.toSet());
|
|
|
@@ -252,7 +257,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
*/
|
|
|
@Override
|
|
|
public List<SysOrgVO> hangsheWholePathTree(Long orgId) {
|
|
|
- List<SysOrgVO> orgs = getHangsheTreeCache("");
|
|
|
+ List<SysOrgVO> orgs = getWholeTreeInCache("", OrgTypeEnum.HANG_SHE);
|
|
|
Map<Long, SysOrgVO> orgMap = orgs.stream().collect(Collectors.toMap(o -> o.getId(), o -> o));
|
|
|
if (!orgMap.containsKey(orgId)) {
|
|
|
return new ArrayList<>();
|
|
|
@@ -268,6 +273,8 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
return orgVOS;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public List<SysOrgVO> orgWholePathTree(SysOrgTreeRequestDto request) {
|
|
|
SysOrgVO sysOrg = null;
|