Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
Z
zlmy-cloud
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zlmy
zlmy-cloud
Commits
332257bc
Commit
332257bc
authored
Jul 15, 2025
by
Rensq
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
获取机构树
parent
55e9353b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
49 additions
and
4 deletions
+49
-4
NewSysOrgController.java
...com/testor/module/sys/controller/NewSysOrgController.java
+49
-4
No files found.
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/sys/controller/NewSysOrgController.java
View file @
332257bc
...
...
@@ -34,6 +34,7 @@ import com.testor.module.contractor.ledger.service.TContractorLedgerService;
import
com.testor.module.sys.model.domian.NewSysOrg
;
import
com.testor.module.sys.model.dto.NewDeptAndPost
;
import
com.testor.module.sys.model.dto.NewSysOrgCreateAndUpdateRequest
;
import
com.testor.module.sys.model.dto.NewTreeVo
;
import
com.testor.module.sys.model.vo.SysOrgAndDeptVo
;
import
com.testor.module.sys.model.vo.SysOrgVo
;
import
com.testor.module.sys.service.NewSysDictDataService
;
...
...
@@ -63,10 +64,8 @@ import org.springframework.web.bind.annotation.*;
import
javax.validation.Valid
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -486,4 +485,50 @@ public class NewSysOrgController extends SuperController {
return
baseResponse
;
}
@ApiModelProperty
(
value
=
"根据机构id获取机构路径"
)
@GetMapping
(
value
=
"/getOrgTree"
)
public
BaseResponse
<
NewTreeVo
>
getOrgTree
(
String
orgId
)
throws
Exception
{
BaseResponse
<
NewTreeVo
>
baseResponse
=
new
BaseResponse
<>();
List
<
NewSysOrg
>
allOrgs
=
sysOrgService
.
list
(
new
QueryWrapper
<
NewSysOrg
>()
.
ne
(
SysOrg
.
STATUS
,
BizConstants
.
STATUS_DELETE
)
.
eq
(
SysOrg
.
IS_DEPT
,
"0"
)
);
// 使用Map来存储orgId到SysOrg的映射
Map
<
String
,
NewSysOrg
>
orgMap
=
allOrgs
.
stream
()
.
collect
(
Collectors
.
toMap
(
NewSysOrg:
:
getOrgId
,
Function
.
identity
()));
SysOrg
rootOrg
=
orgMap
.
get
(
orgId
);
if
(
rootOrg
==
null
)
{
return
new
BaseResponse
<>();
// 根节点不存在
}
// 将SysOrg转为NewTreeVo
NewTreeVo
rootNewTreeVo
=
BeanHelper
.
beanToBean
(
rootOrg
,
NewTreeVo
.
class
);
rootNewTreeVo
.
setChildren
(
buildChildren
(
orgId
,
orgMap
));
baseResponse
.
setData
(
rootNewTreeVo
);
return
baseResponse
;
}
private
List
<
NewTreeVo
>
buildChildren
(
String
parentId
,
Map
<
String
,
NewSysOrg
>
orgMap
)
{
List
<
NewTreeVo
>
children
=
new
ArrayList
<>();
// 找到所有子节点
List
<
SysOrg
>
childOrgs
=
orgMap
.
values
().
stream
()
.
filter
(
org
->
parentId
.
equals
(
org
.
getParentId
()))
.
sorted
(
Comparator
.
comparing
(
SysOrg:
:
getIsDept
).
reversed
())
// 按照IS_DEPT降序排序
.
collect
(
Collectors
.
toList
());
// 递归处理每个子节点
for
(
SysOrg
childOrg
:
childOrgs
)
{
NewTreeVo
childNewTreeVo
=
BeanHelper
.
beanToBean
(
childOrg
,
NewTreeVo
.
class
);
List
<
NewTreeVo
>
grandChildren
=
buildChildren
(
childNewTreeVo
.
getOrgId
(),
orgMap
);
childNewTreeVo
.
setChildren
(
grandChildren
);
children
.
add
(
childNewTreeVo
);
}
return
children
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment