diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java index 3de1aa0f..655c24e9 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java @@ -970,10 +970,10 @@ public class SysDeptServiceImpl extends BaseServiceImpl getUserDeptOptionByUserId(String userId) { Long realUserId = Long.parseLong(userId); - String deptOptionKey = RedisKeys.getAdminUserDeptOptionKey(realUserId); + String deptOptionKey = RedisKeys.getAllAdminUserDeptOptionKey(realUserId); Object obj = redisUtils.get(deptOptionKey); if (null == obj) { - this.packageUserDeptOption(realUserId); + this.packageAllUserDeptOption(realUserId); obj = redisUtils.get(deptOptionKey); } return new Result().ok((DeptOption) obj); diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml index 1cb1a9c2..bc767365 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml @@ -136,10 +136,11 @@ d1.id, d1.`name`,d1.type_key FROM sys_dept d - LEFT JOIN sys_dept d1 ON d.pids LIKE CONCAT( '%', d1.id, '%' ) + LEFT JOIN sys_dept d1 ON d.pids LIKE CONCAT( '%', d1.id, '%' ) and d1.DEL_FLAG = '0' WHERE d.id IN #{deptId} AND d1.pid = 0 + and d.DEL_FLAG = '0' GROUP BY d1.id ORDER BY d1.create_date ASC @@ -147,8 +148,8 @@ SELECT tem2.* FROM - ( SELECT * FROM sys_dept d1 WHERE d1.id IN #{item} ) tem1, - ( SELECT * FROM sys_dept d2 WHERE d2.pid IN #{deptId} ) tem2 + ( SELECT * FROM sys_dept d1 WHERE DEL_FLAG = '0' and d1.id IN #{item} ) tem1, + ( SELECT * FROM sys_dept d2 WHERE DEL_FLAG = '0' and d2.pid IN #{deptId} ) tem2 WHERE ( tem1.PIDS LIKE CONCAT( '%', tem2.id, '%' ) OR tem1.PID = tem2.ID ) OR ( tem2.ID = tem1.ID AND NOT EXISTS ( SELECT 1 FROM sys_dept d WHERE d.PID = tem2.ID ) )