Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fgqyxxlr
Overview
Overview
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
yaru
fgqyxxlr
Commits
06f2fa25
Commit
06f2fa25
authored
May 13, 2019
by
EasyProgramming
Committed by
若依
May 13, 2019
Browse files
Options
Browse Files
Download
Plain Diff
!86 修复修改部门层级BUG
Merge pull request !86 from EasyProgramming/fix
parents
b8d1b54e
962ab735
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
17 deletions
+31
-17
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
+7
-0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
+17
-17
ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
+7
-0
No files found.
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
View file @
06f2fa25
...
...
@@ -98,4 +98,11 @@ public interface SysDeptMapper
* @param dept 部门
*/
public
void
updateDeptStatus
(
SysDept
dept
);
/**
* 根据ID查询所有子部门
* @param id
* @return
*/
public
List
<
SysDept
>
selectChildrenDeptById
(
Long
id
);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
View file @
06f2fa25
...
...
@@ -185,15 +185,17 @@ public class SysDeptServiceImpl implements ISysDeptService
* @return 结果
*/
@Override
@Transactional
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
int
updateDept
(
SysDept
dept
)
{
SysDept
info
=
deptMapper
.
selectDeptById
(
dept
.
getParentId
());
if
(
StringUtils
.
isNotNull
(
info
))
SysDept
newParentDept
=
deptMapper
.
selectDeptById
(
dept
.
getParentId
());
SysDept
oldDept
=
selectDeptById
(
dept
.
getDeptId
());
if
(
StringUtils
.
isNotNull
(
newParentDept
)
&&
StringUtils
.
isNotNull
(
oldDept
))
{
String
ancestors
=
info
.
getAncestors
()
+
","
+
info
.
getDeptId
();
dept
.
setAncestors
(
ancestors
);
updateDeptChildren
(
dept
.
getDeptId
(),
ancestors
);
String
newAncestors
=
newParentDept
.
getAncestors
()
+
","
+
newParentDept
.
getDeptId
();
String
oldAncestors
=
oldDept
.
getAncestors
();
dept
.
setAncestors
(
newAncestors
);
updateDeptChildren
(
dept
.
getDeptId
(),
newAncestors
,
oldAncestors
);
}
int
result
=
deptMapper
.
updateDept
(
dept
);
if
(
UserConstants
.
DEPT_NORMAL
.
equals
(
dept
.
getStatus
()))
...
...
@@ -219,22 +221,20 @@ public class SysDeptServiceImpl implements ISysDeptService
/**
* 修改子元素关系
*
* @param
deptId 部门ID
* @param
ancestors 元素列表
*
@param deptId 被修改的部门ID
* @param
newAncestors 新的父ID集合
* @param
oldAncestors 旧的父ID集合
*/
public
void
updateDeptChildren
(
Long
deptId
,
String
a
ncestors
)
public
void
updateDeptChildren
(
Long
deptId
,
String
newAncestors
,
String
oldA
ncestors
)
{
SysDept
dept
=
new
SysDept
();
dept
.
setParentId
(
deptId
);
List
<
SysDept
>
childrens
=
deptMapper
.
selectDeptList
(
dept
);
for
(
SysDept
children
:
childrens
)
List
<
SysDept
>
children
=
deptMapper
.
selectChildrenDeptById
(
deptId
);
for
(
SysDept
child
:
children
)
{
child
ren
.
setAncestors
(
ancestors
+
","
+
dept
.
getParentId
(
));
child
.
setAncestors
(
child
.
getAncestors
().
replace
(
oldAncestors
,
newAncestors
));
}
if
(
children
s
.
size
()
>
0
)
if
(
children
.
size
()
>
0
)
{
deptMapper
.
updateDeptChildren
(
children
s
);
deptMapper
.
updateDeptChildren
(
children
);
}
}
...
...
ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
View file @
06f2fa25
...
...
@@ -74,6 +74,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from sys_dept d
where d.dept_id = #{deptId}
</select>
<select
id=
"selectChildrenDeptById"
parameterType=
"Long"
resultMap=
"SysDeptResult"
>
select * from sys_dept
<where>
FIND_IN_SET(#{id},ancestors)
</where>
</select>
<insert
id=
"insertDept"
parameterType=
"SysDept"
>
insert into sys_dept(
...
...
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