diff --git a/ruoyi-admin/src/main/resources/templates/system/role/dataScope.html b/ruoyi-admin/src/main/resources/templates/system/role/dataScope.html
index 880f7c80..4e7f7322 100644
--- a/ruoyi-admin/src/main/resources/templates/system/role/dataScope.html
+++ b/ruoyi-admin/src/main/resources/templates/system/role/dataScope.html
@@ -27,6 +27,7 @@
+
特殊情况下,设置为“自定数据权限”
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
index f9224e02..72b6c512 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
@@ -39,6 +39,11 @@ public class DataScopeAspect
*/
public static final String DATA_SCOPE_DEPT = "3";
+ /**
+ * 部门及以下数据权限
+ */
+ public static final String DATA_SCOPE_DEPT_AND_CHILD = "4";
+
/**
* 数据权限过滤关键字
*/
@@ -105,6 +110,12 @@ public class DataScopeAspect
{
sqlString.append(StringUtils.format(" OR {}.dept_id = {} ", alias, user.getDeptId()));
}
+ else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope))
+ {
+ sqlString.append(StringUtils.format(
+ " OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or parent_id= {} )", alias,
+ user.getDeptId(), user.getDeptId()));
+ }
}
if (StringUtils.isNotBlank(sqlString.toString()))
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java
index 50fbed54..82c60092 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java
@@ -80,7 +80,6 @@ public class GlobalExceptionHandler
public Object businessException(HttpServletRequest request, BusinessException e)
{
log.error(e.getMessage(), e);
-
if (ServletUtils.isAjaxRequest(request))
{
return AjaxResult.error(e.getMessage());