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;
相关推荐
GR2342346 分钟前
2025年影视仓TV+手机官方版 内置地址源支持高清直播
java·智能手机·软件
皮卡丘不断更8 分钟前
手搓本地 RAG:我用 Python 和 Spring Boot 给 AI 装上了“实时代码监控”
人工智能·spring boot·python·ai编程
程序员清风29 分钟前
北京回长沙了,简单谈谈感受!
java·后端·面试
lucky670738 分钟前
Spring Boot集成Kafka:最佳实践与详细指南
spring boot·kafka·linq
何中应39 分钟前
请求头设置没有生效
java·后端
Coder_Boy_1 小时前
基于Spring AI的分布式在线考试系统-事件处理架构实现方案
人工智能·spring boot·分布式·spring
亓才孓1 小时前
[JDBC]批处理
java
春日见1 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
宋小黑1 小时前
JDK 6到25 全版本网盘合集 (Windows + Mac + Linux)
java·后端
7哥♡ۣۖᝰꫛꫀꪝۣℋ1 小时前
Spring-cloud\Eureka
java·spring·微服务·eureka