From b2a43e3cef524e700309294c38ef935cb3171740 Mon Sep 17 00:00:00 2001 From: jeesite Date: Tue, 28 Dec 2021 14:06:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=80=E6=9C=89treeData=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0parentCode=E5=8F=82=E6=95=B0=EF=BC=8C?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=B8=80=E7=BA=A7=E6=95=B0=E6=8D=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jeesite/modules/sys/web/AreaController.java | 3 ++- .../jeesite/modules/sys/web/CompanyController.java | 7 ++++++- .../com/jeesite/modules/sys/web/OfficeController.java | 10 ++++------ .../templates/modules/gen/crud/controller.xml | 11 +++++++++-- .../templates/modules/gen/crud_cloud/controller.xml | 11 +++++++++-- .../templates/modules/gen/query/controller.xml | 11 +++++++++-- 6 files changed, 39 insertions(+), 14 deletions(-) diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/AreaController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/AreaController.java index 085ddf08..b3cedac1 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/AreaController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/AreaController.java @@ -219,11 +219,12 @@ public class AreaController extends BaseController { @RequiresPermissions("user") @RequestMapping(value = "treeData") @ResponseBody - public List> treeData(String excludeCode, String isShowCode, String parentCode) { + public List> treeData(String excludeCode, String parentCode, String isShowCode) { List> mapList = ListUtils.newArrayList(); List list = null; if (StringUtils.isNotBlank(parentCode)){ Area where = new Area(); + where.setStatus(Area.STATUS_NORMAL); where.setParentCode(parentCode); list = areaService.findList(where); }else{ diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/CompanyController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/CompanyController.java index 92d6d123..f8adc968 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/CompanyController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/CompanyController.java @@ -212,6 +212,7 @@ public class CompanyController extends BaseController { /** * 获取公司树结构数据 * @param excludeCode 排除的ID + * @param parentCode 设置父级编码返回一级 * @param isAll 是否显示所有机构(true:不进行权限过滤) * @param isShowCode 是否显示编码(true or 1:显示在左侧;2:显示在右侧;false or null:不显示) * @param isShowFullName 是否显示全公司名称 @@ -220,11 +221,14 @@ public class CompanyController extends BaseController { @RequiresPermissions("user") @RequestMapping(value = "treeData") @ResponseBody - public List> treeData(String excludeCode, Boolean isAll, String isShowCode, + public List> treeData(String excludeCode, String parentCode, Boolean isAll, String isShowCode, String isShowFullName, String ctrlPermi) { List> mapList = ListUtils.newArrayList(); Company where = new Company(); where.setStatus(Company.STATUS_NORMAL); + if (StringUtils.isNotBlank(parentCode)){ + where.setParentCode(parentCode); + } if (!(isAll != null && isAll) || Global.isStrictMode()){ companyService.addDataScopeFilter(where, ctrlPermi); } @@ -254,6 +258,7 @@ public class CompanyController extends BaseController { map.put("code", e.getViewCode()); map.put("name", StringUtils.getTreeNodeName(isShowCode, e.getViewCode(), name)); map.put("title", e.getFullName()); + map.put("isParent", !e.getIsTreeLeaf()); mapList.add(map); } return mapList; diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java index 98905952..c7c22bfb 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java @@ -267,8 +267,8 @@ public class OfficeController extends BaseController { /** * 获取机构树结构数据 - * @param excludeCode 排除的ID - * @param parentCode 上级Code + * @param excludeCode 排除的ID + * @param parentCode 设置父级编码返回一级 * @param isAll 是否显示所有机构(true:不进行权限过滤) * @param officeTypes 机构类型(1:省级公司;2:市级公司;3:部门) * @param companyCode 仅查询公司下的机构 @@ -328,10 +328,8 @@ public class OfficeController extends BaseController { map.put("code", e.getViewCode()); map.put("name", StringUtils.getTreeNodeName(isShowCode, e.getViewCode(), name)); map.put("title", e.getFullName()); - // 如果需要加载用户,则处理用户数据 - if (StringUtils.inString(isLoadUser, "true", "lazy")) { - map.put("isParent", true); - } + // 返回是否是父节点,如果需要加载用户,则全部都是父节点,来加载用户数据 + map.put("isParent", !e.getIsTreeLeaf() || StringUtils.inString(isLoadUser, "true", "lazy")); mapList.add(map); } // 一次性后台加载用户,若数据量比较大,建议使用懒加载 diff --git a/modules/core/src/main/resources/templates/modules/gen/crud/controller.xml b/modules/core/src/main/resources/templates/modules/gen/crud/controller.xml index 60a42ff6..1a1c73be 100644 --- a/modules/core/src/main/resources/templates/modules/gen/crud/controller.xml +++ b/modules/core/src/main/resources/templates/modules/gen/crud/controller.xml @@ -257,15 +257,21 @@ public class ${ClassName}Controller extends BaseController { /** * 获取树结构数据 * @param excludeCode 排除的Code + * @param parentCode 设置父级编码返回一级 * @param isShowCode 是否显示编码(true or 1:显示在左侧;2:显示在右侧;false or null:不显示) * @return */ @RequiresPermissions("${permissionPrefix}:view") @RequestMapping(value = "treeData") @ResponseBody - public List> treeData(String excludeCode, String isShowCode) { + public List> treeData(String excludeCode, String parentCode, String isShowCode) { List> mapList = ListUtils.newArrayList(); - List<${ClassName}> list = ${className}Service.findList(new ${ClassName}()); + ${ClassName} where = new ${ClassName}(); + where.setStatus(${ClassName}.STATUS_NORMAL); + if (StringUtils.isNotBlank(parentCode)){ + where.setParentCode(parentCode); + } + List<${ClassName}> list = ${className}Service.findList(where); for (int i=0; i @@ -287,6 +293,7 @@ public class ${ClassName}Controller extends BaseController { map.put("id", e.getId()); map.put("pId", e.getParentCode()); map.put("name", StringUtils.getTreeNodeName(isShowCode, e.get${@StringUtils.cap(table.treeViewCodeAttrName)}(), e.get${@StringUtils.cap(table.treeViewNameAttrName)}())); + map.put("isParent", !e.getIsTreeLeaf()); mapList.add(map); } return mapList; diff --git a/modules/core/src/main/resources/templates/modules/gen/crud_cloud/controller.xml b/modules/core/src/main/resources/templates/modules/gen/crud_cloud/controller.xml index ff8a34ee..09ffc273 100644 --- a/modules/core/src/main/resources/templates/modules/gen/crud_cloud/controller.xml +++ b/modules/core/src/main/resources/templates/modules/gen/crud_cloud/controller.xml @@ -257,15 +257,21 @@ public class ${ClassName}Controller extends BaseController { /** * 获取树结构数据 * @param excludeCode 排除的Code + * @param parentCode 设置父级编码返回一级 * @param isShowCode 是否显示编码(true or 1:显示在左侧;2:显示在右侧;false or null:不显示) * @return */ @RequiresPermissions("${permissionPrefix}:view") @RequestMapping(value = "treeData") @ResponseBody - public List> treeData(String excludeCode, String isShowCode) { + public List> treeData(String excludeCode, String parentCode, String isShowCode) { List> mapList = ListUtils.newArrayList(); - List<${ClassName}> list = ${className}Service.findList(new ${ClassName}()); + ${ClassName} where = new ${ClassName}(); + where.setStatus(${ClassName}.STATUS_NORMAL); + if (StringUtils.isNotBlank(parentCode)){ + where.setParentCode(parentCode); + } + List<${ClassName}> list = ${className}Service.findList(where); for (int i=0; i @@ -287,6 +293,7 @@ public class ${ClassName}Controller extends BaseController { map.put("id", e.getId()); map.put("pId", e.getParentCode()); map.put("name", StringUtils.getTreeNodeName(isShowCode, e.get${@StringUtils.cap(table.treeViewCodeAttrName)}(), e.get${@StringUtils.cap(table.treeViewNameAttrName)}())); + map.put("isParent", !e.getIsTreeLeaf()); mapList.add(map); } return mapList; diff --git a/modules/core/src/main/resources/templates/modules/gen/query/controller.xml b/modules/core/src/main/resources/templates/modules/gen/query/controller.xml index a6f1f651..299b803b 100644 --- a/modules/core/src/main/resources/templates/modules/gen/query/controller.xml +++ b/modules/core/src/main/resources/templates/modules/gen/query/controller.xml @@ -155,15 +155,21 @@ public class ${ClassName}Controller extends BaseController { /** * 获取树结构数据 * @param excludeCode 排除的Code + * @param parentCode 设置父级编码返回一级 * @param isShowCode 是否显示编码(true or 1:显示在左侧;2:显示在右侧;false or null:不显示) * @return */ @RequiresPermissions("${permissionPrefix}:view") @RequestMapping(value = "treeData") @ResponseBody - public List> treeData(String excludeCode, String isShowCode) { + public List> treeData(String excludeCode, String parentCode, String isShowCode) { List> mapList = ListUtils.newArrayList(); - List<${ClassName}> list = ${className}Service.findList(new ${ClassName}()); + ${ClassName} where = new ${ClassName}(); + where.setStatus(${ClassName}.STATUS_NORMAL); + if (StringUtils.isNotBlank(parentCode)){ + where.setParentCode(parentCode); + } + List<${ClassName}> list = ${className}Service.findList(where); for (int i=0; i @@ -185,6 +191,7 @@ public class ${ClassName}Controller extends BaseController { map.put("id", e.getId()); map.put("pId", e.getParentCode()); map.put("name", StringUtils.getTreeNodeName(isShowCode, e.get${@StringUtils.cap(table.treeViewCodeAttrName)}(), e.get${@StringUtils.cap(table.treeViewNameAttrName)}())); + map.put("isParent", !e.getIsTreeLeaf()); mapList.add(map); } return mapList;