aix
2024-07-12 fa539d8ec0b5f4d974eafff3e4bffe9395932ff4
支持多部门
3 files modified
24 ■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml 14 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java 8 ●●●● patch | view | raw | blame | history
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