jeecgboot 查询登录人部门及其子部门的数据统计分析

部门为下图

其中orgCode有规律既下图所示

污水数据库表

java 复制代码
create table sewage_outlet
(
    id                    varchar(36)    not null comment 'id',
    org_code              varchar(50)    null comment '污染口所属部门orgCode',
    sewage_type           varchar(50)    null comment '污水类型',
    regions               varchar(50)    null comment '流域',
)

污水口的管理部门可以是省市区

需求是 根据当前登录人的部门看到 下属不同部门的统计数据

比如我是全国管理员看到的统计数据是显示山东、河北的

比如我是山东管理员看到的统计数据是显示管济南、青岛、临沂的

比如我是临沂管理员看到的统计数据是显示兰山区、河东区、费县的

那我是全国管理员时 只显示省一级统计概况 山东的统计数据自然包含济南、青岛、临沂,临沂中又包含兰山区、河东区、费县,这时候不能确定传入到底是哪一级的就可用下面sql

利用传入的orgCode向右模糊查询到本级及其下级的部门再除去本级部门只获取所有下级部门,再通过length(#{orgCode}) + 3 ) 作用 不管下级是下一级还是下两级下三级只截取成下一级的格式,最后进行分部门统计

java 复制代码
        SELECT count(*),sd.depart_name FROM
        (
	        SELECT *,
	        SUBSTRING(org_code, 1, length(#{orgCode}) + 3 ) org_code_temp
	        FROM sewage_outlet
	        WHERE  org_code LIKE  concat(#{orgCode},'%')
	          and org_code != #{orgCode}
        ) rs
        LEFT JOIN sys_depart sd ON sd.org_code = rs.org_code_temp
        GROUP BY sd.org_code, sd.depart_name;
相关推荐
wuxinyan1232 分钟前
Java面试题42:一文深入了解AI Coding 工具
java·人工智能·面试题·ai coding
二月夜4 分钟前
记SpringBoot升级Tomcat引发的两类典型问题及解决方案
spring boot·后端·tomcat
¿i?6 分钟前
LinkedList 含iterator写法的理解
java·开发语言
李白的粉8 分钟前
基于springboot的来访管理系统
java·spring boot·毕业设计·课程设计·源代码·来访管理系统
东离与糖宝9 分钟前
告别Python!Spring Boot 3集成GPT-5.4,Java后端10分钟接入原生计算机操作
java·人工智能
用户20586209858310 分钟前
仿 12306 高并发购票系统:抢票下单逻辑设计
java
佩奇大王12 分钟前
P8 单词分析
java·开发语言
PPPPickup14 分钟前
小公司初面---java后端题目
java·开发语言·哈希算法
乄bluefox14 分钟前
Redis Pipeline 实战:Spring Data Redis 批量写入最佳实践
java·redis·spring
敲代码的嘎仔16 分钟前
Java后端开发——基础面试题汇总
java·开发语言·笔记·后端·学习·spring·中间件