skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.java
@@ -52,7 +52,7 @@ */ List<DeptVO> tree(String tenantId); List<DeptVO> treeByParentId(String parentId); List<DeptVO> treeByParentId(List<String> parentIds); /** * 懒加载获取树形节点 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml
@@ -78,12 +78,16 @@ <select id="treeByParentId" resultMap="treeNodeResultMap"> select id, parent_id, dept_name as title, id as "value", id as "key" from blade_dept where is_deleted = 0 <if test="_parameter!=null and _parameter!=''"> and ( id = #{_parameter} or parent_id = #{_parameter} or parent_id in ( select b.id from blade_dept b where b.is_deleted = 0 and b.PARENT_ID = #{_parameter} <if test="parentIds!=null and parentIds!=''"> and <foreach item="id" collection="parentIds" open="(" separator="or" close=")"> id = #{id} or parent_id = #{id} or parent_id in ( select b.id from blade_dept b where b.is_deleted = 0 and b.PARENT_ID = #{id} ) ) </foreach> </if> ORDER BY sort </select> skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java
@@ -38,6 +38,7 @@ import cn.gistack.system.wrapper.DeptWrapper; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -93,7 +94,12 @@ if (AuthUtil.isAdministrator() || AuthUtil.isAdmin()) { return ForestNodeMerger.merge(baseMapper.tree(StringPool.EMPTY)); } return ForestNodeMerger.merge(baseMapper.treeByParentId(parentId)); String [] parentIds = parentId.split(","); List<String> parentIdList = new ArrayList<>(); for (String str:parentIds) { parentIdList.add(str); } return ForestNodeMerger.merge(baseMapper.treeByParentId(parentIdList)); } @Override