linwei
2024-01-24 06cfb877e693d328fdcaa497f0f2a6bb14e17435
机构过滤
3 files modified
23 ■■■■ changed files
src/main/java/org/springblade/modules/system/mapper/DeptMapper.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java 13 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -47,7 +47,7 @@
     * @param tenantId
     * @return
     */
    List<DeptVO> tree(String tenantId, Long parentId);
    List<DeptVO> tree(String tenantId, Long parentId, Long id);
    /**
     * 懒加载获取树形节点
@@ -68,13 +68,15 @@
    /**
     * 查询当前机构信息
     *
     * @param id
     * @return
     */
    DeptVO getDeptById(@Param("id") Long id);
    DeptVO getDeptById(@Param("id") Long id);
    /**
     * 查询网格对应的机构信息(包含父级机构名称)
     *
     * @return
     */
    List<DeptVO> getGridDeptAndParentList();
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -75,6 +75,10 @@
        <if test="param2!=null and param2!=''">
            and parent_id = #{param2}
        </if>
        <if test="param3!=null and param3!=''">
            and id = #{param3}
        </if>
        ORDER BY sort
    </select>
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -100,6 +100,7 @@
    @Override
    public List<DeptVO> tree(String tenantId) {
        Long parentId = null;
        Long id = null;
        // 判断数据权限控制,非超管角色只可看到本级及以下数据
//        if (!AuthUtil.isAdministrator()) {
//            Long deptId = Func.firstLong(AuthUtil.getDeptId());
@@ -112,8 +113,14 @@
//            copy = copy.stream().filter(item -> AuthUtil.getDeptId().contains(item.getId().toString())).collect(Collectors.toList());
//            return copy;
//        }
        String userRole = AuthUtil.getUserRole();
        // 判断物业公司
        if (userRole.contains("wygly") || userRole.contains("wyxmjl")) {
            // 获取当前用户的机构
            id = Func.firstLong(AuthUtil.getDeptId());
        }
        return ForestNodeMerger.merge(baseMapper.tree(tenantId, parentId));
        return ForestNodeMerger.merge(baseMapper.tree(tenantId, parentId, id));
    }
    @Override
@@ -353,8 +360,8 @@
        List<DeptVO> deptVOS = baseMapper.getGridDeptAndParentList();
        //遍历处理
        for (DeptVO deptVO : deptVOS) {
            GridEntity gridEntity = SpringUtils.getBean(IGridService.class).getGridByNames(deptVO.getDeptName(),deptVO.getParentName());
            if (null!=gridEntity){
            GridEntity gridEntity = SpringUtils.getBean(IGridService.class).getGridByNames(deptVO.getDeptName(), deptVO.getParentName());
            if (null != gridEntity) {
                deptVO.setRegionCode(gridEntity.getGridCode());
                // 更新
                updateById(deptVO);