Browse Source

场景分页查询

wangyangyang 4 years ago
parent
commit
71c6c96f07
1 changed files with 21 additions and 4 deletions
  1. 21 4
      sms_water/src/main/java/com/huaxu/service/SceneService.java

+ 21 - 4
sms_water/src/main/java/com/huaxu/service/SceneService.java

@@ -60,12 +60,12 @@ public class SceneService extends ServiceImpl<SceneMapper, SceneEntity> {
         //分页查询父级节点的信息
         Page<SceneEntity> sceneEntityPage = sceneMapper.findPage(page, sceneEntity);
         //查询子节点的信息
+        List<SceneEntity> sceneEntities = newArrayList();
         for (SceneEntity item : sceneEntityPage.getRecords()) {
-            SceneEntity parentItem = new SceneEntity();
-            parentItem.setParentSceneId(item.getId());
-            List<SceneEntity> sceneEntities = findList(parentItem);
-            item.setChildren(sceneEntities);
+             sceneEntities.addAll(findByParentLike(item.getId()));
         }
+        List<SceneEntity> sceneTree = getSceneTree(sceneEntities, Long.valueOf(0), 1);
+        sceneEntityPage.setRecords(sceneTree);
         return sceneEntityPage;
     }
 
@@ -182,6 +182,23 @@ public class SceneService extends ServiceImpl<SceneMapper, SceneEntity> {
         }
         return false;
     }
+    /**
+     * 根据父级ID查询所有子节点及本身
+     */
+    public  List<SceneEntity> findByParentLike(Long id) {
+        LoginUser currentUser = UserUtil.getCurrentUser();
+        SceneEntity scene = new SceneEntity();
+        if (id != null)
+            scene.setParentSceneIds("%," + id + ",%");
+        scene.setTenantId(currentUser.getTenantId());
+        scene.setStatus(1);
+        scene.setProgramItems(currentUser.getProgramItemList());
+        scene.setUserType(currentUser.getType());
+        //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
+        scene.setPermissonType(currentUser.getPermissonType());
+        List<SceneEntity> list = sceneMapper.findByParentIdsLike(scene);
+        return list;
+    }
     /**
      * 根据父级ID查询所有子节点及本身
      */