当前位置: 首页 > news >正文

项目中菜单按照层级展示sql

效果如图:
在这里插入图片描述
直接上脚本

查四级菜单
select EFT_FLAG,MENU_ID,
CASE LEN(MENU_LVL)WHEN '4'THEN MENU_NAME ELSE '-' END AS   'MENU_NAME1',
CASE LEN(MENU_LVL)WHEN '8'THEN  MENU_NAME ELSE '-' END AS   'MENU_NAME2',
CASE LEN(MENU_LVL)WHEN '12'THEN MENU_NAME ELSE '-' END AS   'MENU_NAME3',
CASE LEN(MENU_LVL)WHEN '16'THEN MENU_NAME  ELSE '-' END AS   'MENU_NAME4',
* from  YGT..UPM_MENU  where  MENU_PUR='4' 


--查询被授权的菜单列表
--按层级查询所有上级菜单
--SELECT * FROM (
SELECT 
a.MENU_ID as 菜单系统编号,
a.MENU_NAME as 菜单系统名称,
e.DICT_ITEM_NAME as 菜单范围,
case 
  when a.PAR_MENU=0 then a.MENU_NAME 
  else 
    case 
      when not exists(select 1 from UPM_MENU where b.MENU_ID=a.PAR_MENU) then a.MENU_NAME
      when b.PAR_MENU=0 then b.MENU_NAME 
      else 
        case
          when not exists(select 1 from UPM_MENU where c.MENU_ID=b.PAR_MENU) then b.MENU_NAME
          when c.PAR_MENU=0 then c.MENU_NAME 
          else d.MENU_NAME
        end
    end
end as 一级菜单,
case 
  when a.PAR_MENU=0 then null 
  when b.PAR_MENU=0 then a.MENU_NAME 
  else 
    case
      when not exists(select 1 from UPM_MENU where c.MENU_ID=b.PAR_MENU) then a.MENU_NAME
      when c.PAR_MENU=0 then b.MENU_NAME 
      else c.MENU_NAME
    end
end as 二级菜单,
case 
  when a.PAR_MENU=0 then null 
  when b.PAR_MENU=0 then null 
  when c.PAR_MENU=0 then a.MENU_NAME 
  else b.MENU_NAME
end as 三级菜单,
case 
  when a.PAR_MENU=0 then null 
  when b.PAR_MENU=0 then null 
  when c.PAR_MENU=0 then null 
  else a.MENU_NAME
end as 四级菜单
,a.BUSI_CODE as 流程代码
FROM UPM_MENU a 
LEFT JOIN UPM_MENU b ON a.PAR_MENU=b.MENU_ID
LEFT JOIN UPM_MENU c ON b.PAR_MENU=c.MENU_ID
LEFT JOIN UPM_MENU d ON c.PAR_MENU=d.MENU_ID,
UPM_DICT_ITEMS e
where a.MENU_PUR=e.DICT_ITEM and e.DICT_CODE='MENU_PUR'
and a.MENU_ID in(
--被授权的菜单列表(受理、审核平台)
SELECT MENU_ID FROM UUM_OBJ_PERM WHERE OPP_OBJ_TYPE =2 AND OPP_OBJ_CODE IN (SELECT OPP_OBJ_CODE FROM UUM_USER_PLAT WHERE PLAT_CODE IN('2','3'))
)
--过滤为临柜、非临柜菜单、查询菜单
--AND a.MENU_PUR IN('2','3','6')
order by a.MENU_PUR asc,a.MENU_ID asc

相关文章:

  • 大疆无人机需要的kml文件如何制作kml导出(大疆KML文件)
  • 【微服务】SpringBoot 整合Redis Stack 构建本地向量数据库相似性查询
  • deepseek的CoT优势、两阶段训练的有效性学习笔记
  • Vulhub靶机 ActiveMQ任意 文件写入(CVE-2016-3088)(渗透测试详解)
  • oracle表分区--范围分区
  • 利用prompt技术结合大模型对目标B/S架构软件系统进行测试
  • 今日AI和商界事件(2025-02-14)
  • LC-搜索二维矩阵II、相交链表、反转链表、回文链表、环形链表、环形链表ll
  • STM32_USART通用同步/异步收发器
  • git bisect 使用二分法查找引入错误的提交
  • 软件工程完整大型课设--《颐养中心系统》 三级项目报告
  • 开关电源实战(一)宽范围DC降压模块MP4560
  • 【ARM】JTAG接口介绍
  • 【编程实践】vscode+pyside6环境部署
  • 无人机不等同轴旋翼架构设计应用探究
  • 对指针的深入运用-通讯录的初步实现
  • 【鸿蒙开发】第三十五章 一次开发多端部署
  • 海康摄像头IPV6模式,手动,自动,路由公告
  • 设计模式-命令模式
  • 【含开题报告+文档+源码】基于Web的房地产销售网站的设计与实现
  • 龙翔被撤销南京市人大常委会主任职务,此前已被查
  • 美乌矿产协议预计最早于今日签署
  • 滨江集团:一季度营收225.07亿元,净利润9.75亿元
  • 2024“好评中国”网络评论大赛结果揭晓
  • 五大国有银行明确将撤销监事会
  • ​关键词看中国经济“一季报”:韧,长期向好看底气