Просмотр исходного кода

修改组织树接口,加入可传入参检测,并判空加子集

honorfire 5 месяцев назад
Родитель
Сommit
da3870f001

+ 5 - 3
snowy-plugin/snowy-plugin-sys/snowy-plugin-sys-func/src/main/java/vip/xiaonuo/sys/modular/org/controller/SysOrgController.java

@@ -198,9 +198,11 @@ public class SysOrgController {
      */
     @ApiOperationSupport(order = 2)
     @ApiOperation("获取组织树")
-    @GetMapping("/sys/org/treeAll")
-    public CommonResult<List<Tree<String>>> treeAll() {
-        return CommonResult.data(sysOrgService.treeAll());
+    @GetMapping("/bus/org/treeAll")
+    public CommonResult<List<Tree<String>>> treeAll(HttpServletRequest req) {
+        Map param=new HashMap();
+        param.put("category",req.getParameter("category"));
+        return CommonResult.data(sysOrgService.treeAllParam(param));
     }
 
 

+ 8 - 0
snowy-plugin/snowy-plugin-sys/snowy-plugin-sys-func/src/main/java/vip/xiaonuo/sys/modular/org/service/SysOrgService.java

@@ -167,6 +167,14 @@ public interface SysOrgService extends IService<SysOrg> {
      */
     List<Tree<String>> treeAll();
 
+    /**
+     * 获取组织树
+     *
+     * @author xuyuxiang
+     * @date 2022/4/24 20:08
+     */
+    List<Tree<String>> treeAllParam(Map param);
+
     /**
      * 获取组织列表选择器
      *

+ 45 - 0
snowy-plugin/snowy-plugin-sys/snowy-plugin-sys-func/src/main/java/vip/xiaonuo/sys/modular/org/service/impl/SysOrgServiceImpl.java

@@ -313,6 +313,51 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
         return list;
     }
 
+    @Override
+    public List<Tree<String>> treeAllParam(Map param) {
+        QueryWrapper<SysOrg> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().orderByDesc(SysOrg::getSortCode);
+        if (ObjectUtil.isNotEmpty(param.get("category")))
+        {
+            queryWrapper.lambda().eq(SysOrg::getCategory, param.get("category"));
+        }
+//        queryWrapper.lambda().eq(SysOrg::getIsResourceaccount, "0");
+        List<SysOrg> collegeList = this.list(queryWrapper);
+        List<TreeNode<String>> treeNodeList = collegeList.stream().map(org ->
+                new TreeNode<>(org.getId(), org.getParentId(),
+                        org.getName(), org.getSortCode()).setExtra(JSONUtil.parseObj(org)))
+                .collect(Collectors.toList());
+        List<Tree<String>> list= TreeUtil.build(treeNodeList, "0");
+        Tree<String>  tree=new Tree<String>();
+        tree.setName("全部");
+        list.add(0,tree);
+        for (int i = 1; i < list.size(); i++) {
+            List<Tree<String>> child = list.get(i).getChildren();
+            Tree<String>  tree1=new Tree<String>();
+            tree1.setName("全部");
+            if(child != null)
+            {
+                child.add(0,tree1);
+                for (int j = 1; j < child.size(); j++) {
+                    List<Tree<String>> gradchild = child.get(j).getChildren();
+                    Tree<String>  gradtree=new Tree<String>();
+                    if(gradchild != null)
+                    {
+                        gradtree.setName("全部");
+                        gradchild.add(0,gradtree);
+                    }else {
+                        List<Tree<String>> children=new ArrayList<>();
+                        child.get(j).setChildren(children);
+                    }
+                }
+            }else{
+                List<Tree<String>> children=new ArrayList<>();
+                list.get(i).setChildren(children);
+            }
+        }
+        return list;
+    }
+
     @Override
     public Page<SysOrg> orgListSelector(SysOrgSelectorOrgListParam sysOrgSelectorOrgListParam) {
         LambdaQueryWrapper<SysOrg> lambdaQueryWrapper = new LambdaQueryWrapper<>();