ruoyi若依 组织架构设计--[ 部门管理 ]

news/2024/7/5 4:39:48

ruoyi若依 组织架构设计--[ 部门管理 ]

  • 部门管理
    • 部门查询
    • 部门新增
    • 部门修改
    • 部门删除

部门管理

部门查询

需要注意的是,部门管理也有数据权限,比如A用户分配的数据权限(通过角色分配)是深圳总公司,那么A用户登录后看到的部门也是深圳总公司B用户分配的是长沙分公司也是如此。同时,A用户在深圳总公司下增删改查部门,B用户也看不到

在这里插入图片描述

部门新增

新增的时候,重点关注一下ancestors字段是怎么新增的。
通过传入上级部门(parent_id),查询到了ancestors。然后再拼上前端传过去的dept_id

在这里插入图片描述
在这里插入图片描述

  1. 前端代码
  1. 新增的时候,先获取所有的部门的List,然后前端处理成树型结构
  2. 新增的时候,将当前行的dept_id,赋值到parent_id上,用于传给后端

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 后端代码
  1. 新增的时候,是否有`重名的dept
  2. 查询的ancestors 拼上前端传的parent_id,组成新的ancestors
  3. dept_id表的单表插入

在这里插入图片描述
在这里插入图片描述

  1. 从数据库的角度看刚才的新增逻辑
    在这里插入图片描述

在清华大学下面添加管理学院

  1. 前端渲染所有的树型结构,并获取清华大学数据的dept_id,将来传给后端
  2. 添加管理学院的时候,根据清华大学的parent_id,查询到清华大学的ancestors。
  3. 再拼上前端传来的parent_id。也就是 0 + 100.所以管理学院的ancestors是0,100

部门修改

需求:修改管理学院

前端页面:
在这里插入图片描述
在这里插入图片描述

重点关注 ancestors 是怎么修改的

  1. 前端页面方面,先根据id查询数据并展示
  1. 检查是否有权限修改部门数据
  2. 有权限的话,根据id查询数据,用于前端展示

在这里插入图片描述
在这里插入图片描述

  1. 后端接口方面

这个时候需要注意 ancestors 字段

在这里插入图片描述

停用的话,需要检查下级所有都停用了,当前部门才能停用
count() 一下status = ‘0’ 且 find_in_set 一下ancestors
如果count(
) 的数量 > 0 代表有status 有未停用的,则新增不成功

在这里插入图片描述
在这里插入图片描述

重点:修改ancestors的规则
deptService.updateDept(dept)方法

看注释

在这里插入图片描述
在这里插入图片描述

如果当前部门启用了,所有上级部门也得启用
批量修改

在这里插入图片描述
在这里插入图片描述

部门删除

在这里插入图片描述
在这里插入图片描述


http://lihuaxi.xjx100.cn/news/1327191.html

相关文章

SpringBoot SpringMVC整合prometheus(consoul)

Promethus consoul Spring boot 整合 prometheus 传统 Spring MVC 项目 集成 Prometheus

【笔记】数字电路基础1 - 门电路

目录 数字电路基础与门电路数电基础基本门电路复合门电路TTL 门电路CMOS 门电路 数字电路基础与门电路 数电基础 数字电路中常将 0 ~ 1V 范围的电压称为低电平,用“0”表示;而将 3 ~ 5V 范围的电压称为高电平,用“1”…

springboot+vue膳食营养健康网站零食美食品商城_4d8g9

随着社会的不断进步与发展,人们对生活质量要求逐步提升。如果开发一款膳食营养健康网站,可以让用户在最短的时间里享受到最好的服务;而开发本网站,又能够提高网站整体工作水平,简化工作程序,这对管理员和用…

Java的JPAMyBatis Plus优缺点

JPA框架 优点: 简化数据库操作:JPA框架通过对象关系映射(ORM)技术,将Java对象映射到数据库表,可以通过简单的操作Java对象来进行数据库的增删改查操作,无需编写复杂的SQL语句。提高开发效率&a…

生产环境 kafka 平滑迁移之旅

文章目录 背景分析测试环境验证现实很残酷两种抉择-----leader分区切换方案选择实施步骤手工副本集增加步骤手工leader分区切换步骤 总结 背景 线上kafka集群,3台机器,3个broker;其中某台机器因为硬件故障,需要停机维修&#xff…

tensorboard 如何导出数据

tensorboard 如何导出数据 场景描述:有时候在第一遍跑实验的时候,由于epoch和内部循环变量的原因,做出来的图可能不是我们想要的,这个时候,需要自己导出数据并且重新画图,本文介绍如何导出数据道json或csv格…

【Step By Step】VM安装redhat-server7.9搭建Oracle19C RAC(一)环境配置

文章目录 环境规划网络规划文件系统规划rac用户规划grid与oracle用户规划ASM规划 虚拟机设置搭建虚拟机自定义网卡安装操作系统 操作系统设置关闭services修改/etc/hosts创建用户与组创建文件目录设置环境变量设置内核参数资源限制添加 etc/pam.d/login关闭大页关机挂载本地ISO…

python 第十章 函数

系列文章目录 第一章 初识python 第二章 变量 第三章 基础语句 第四章 字符串str 第五章 列表list [] 第六章 元组tuple ( ) 第七章 字典dict {} 第八章 集合set {} 第九章 常用操作 文章目录 系列文章目录10.1函数的作用10.2函数的使用步骤定义函数调用函数函数的注意事项 10…