Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/master' into master

yangyj 1 anno fa
parent
commit
6222023a9f

+ 4 - 0
blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/feign/IUserClient.java

@@ -181,4 +181,8 @@ public interface IUserClient {
     @GetMapping(API_PREFIX + "/deleteContractLocalCache")
     void deleteContractLocalCache(@RequestParam String contractId);
 
+    /*删除本地缓存*/
+    @GetMapping(API_PREFIX + "/clearContractLocalCacheAndRedisCache")
+    void clearContractLocalCacheAndRedisCache();
+
 }

+ 6 - 2
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -52,6 +52,7 @@ import org.springblade.resource.feign.NewIOSSClient;
 import org.springblade.system.cache.ParamCache;
 import org.springblade.system.entity.DictBiz;
 import org.springblade.system.feign.IDictBizClient;
+import org.springblade.system.user.feign.IUserClient;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.StringRedisTemplate;
@@ -122,6 +123,8 @@ public class InformationWriteQueryController extends BladeController {
 
     private final FormulaClient formulaClient;
 
+    private final IUserClient iUserClient;
+
     @Autowired
     StringRedisTemplate RedisTemplate;
 
@@ -3238,8 +3241,9 @@ public class InformationWriteQueryController extends BladeController {
         List<WbsTreeContract> nowTabs = saveList.stream().filter(f -> new Integer(2).equals(f.getType())).collect(Collectors.toList());
         this.updateTextDictInfos(nowTabs, oldTabIds, vo.getProjectId());
 
-        //更新redis
-        informationQueryService.delAsyncWbsTree(treeContract.getContractId());
+        //更新缓存
+        /*informationQueryService.delAsyncWbsTree(treeContract.getContractId());*/
+        iUserClient.clearContractLocalCacheAndRedisCache();
 
         return booleanR;
     }

+ 11 - 0
blade-service/blade-business/src/main/java/org/springblade/business/controller/TreeContractFirstController.java

@@ -17,6 +17,7 @@ import org.springblade.manager.entity.WbsTreeContract;
 import org.springblade.manager.feign.ContractClient;
 import org.springblade.manager.feign.WbsTreeContractClient;
 import org.springblade.manager.vo.WbsTreeContractTreeVOS;
+import org.springblade.system.user.feign.IUserClient;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springblade.business.entity.TreeContractFirst;
@@ -46,6 +47,8 @@ public class TreeContractFirstController extends BladeController {
 
     private final ContractClient contractClient;
 
+    private final IUserClient iUserClient;
+
     /**
      * 获取合同段划分树中被标记为首件的节点
      *
@@ -174,7 +177,12 @@ public class TreeContractFirstController extends BladeController {
             List<String> result = JSONArray.parseArray(JSONObject.toJSONString(parentIds.toString().split(",")), String.class);
             //删掉为空的数据
             result.removeIf(StringUtils::isEmpty);
+
+            /*清理缓存*/
+            iUserClient.clearContractLocalCacheAndRedisCache();
+
             return R.data(result);
+
         } else {
             //删除自身
             this.treeContractFirstService.update(Wrappers.<TreeContractFirst>lambdaUpdate().set(TreeContractFirst::getIsDeleted, 1).eq(TreeContractFirst::getWbsNodeId, primaryKeyId));
@@ -214,6 +222,9 @@ public class TreeContractFirstController extends BladeController {
             //删掉为空的数据
             result.removeIf(StringUtils::isEmpty);
 
+            /*清理缓存*/
+            iUserClient.clearContractLocalCacheAndRedisCache();
+
             return R.data(result);
         }
     }

+ 10 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -2754,6 +2754,9 @@ public class ExcelTabController extends BladeController {
     })
     public R<List<Map<String, Object>>> getTheLogBusinessData(String theLogId, String nodePrimaryKeyId, String recordTime, String contractId) {
         List<Map<String, Object>> resultMapList = new ArrayList<>();
+        //数据结果
+        Map<String, Object> reData = new HashMap<>();
+
         //获取对应的记录
         String dataIds;
         if (StringUtils.isNotEmpty(theLogId)) {
@@ -2766,6 +2769,11 @@ public class ExcelTabController extends BladeController {
             dataIds = ids.stream().filter(Objects::nonNull).collect(Collectors.joining(","));
         } else {
             List<ContractLog> contractLogs = this.contractLogClient.queryContractLogByPrimaryKeyIdAndRecordTimeList(nodePrimaryKeyId, recordTime, contractId);
+            if (contractLogs.size() == 0){
+                reData.put("logId","");
+            }else {
+                reData.put("logId",contractLogs.get(0).getId());
+            }
             dataIds = contractLogs.stream().map(ContractLog::getDataId).filter(Objects::nonNull).map(String::valueOf).collect(Collectors.joining(","));
         }
 
@@ -2773,6 +2781,7 @@ public class ExcelTabController extends BladeController {
         WbsTreePrivate tableNode2 = this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery()
                 .eq(WbsTreePrivate::getParentId, node.getId()).eq(WbsTreePrivate::getProjectId, node.getProjectId()));
 
+
         if (StringUtils.isNotEmpty(dataIds)) {
             for (String dataId : dataIds.split(",")) {
                 //检查实体表是否存在
@@ -2787,8 +2796,7 @@ public class ExcelTabController extends BladeController {
                 String querySql = "SELECT * FROM " + tabName + " WHERE id = " + dataId + " and group_id = " + tableNode2.getPKeyId();
                 List<Map<String, Object>> businessDataMap = this.jdbcTemplate.queryForList(querySql);
 
-                //数据结果
-                Map<String, Object> reData = new HashMap<>();
+
 
                 if (businessDataMap.size() > 0) {
                     // 匹配关联

+ 20 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/controller/WbsTreeController.java

@@ -106,4 +106,24 @@ public class WbsTreeController extends BladeController {
         return R.data(iUserService.informationWriteQueryPage(vo));
     }
 
+    /**
+     * 首件树懒加载
+     *
+     * @author liuyc
+     * @date 2024年1月17日11:16:51
+     */
+    @GetMapping("/informationWriteQuery/queryContractWbsTreeByFirstInfo")
+    @ApiOperationSupport(order = 3)
+    @ApiOperation(value = "首件树懒加载")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "parentId", value = "父节点id,为空则查询第一级节点"),
+            @ApiImplicitParam(name = "contractId", value = "合同段id", required = true),
+            @ApiImplicitParam(name = "contractIdRelation", value = "合同段关联id(监理、业主合同关联施工合同id)")
+    })
+    public R<List<WbsTreeContractLazyVO>> queryContractWbsTreeByFirstInfo(@RequestParam String parentId,
+                                                                           @RequestParam String contractId,
+                                                                           @RequestParam String contractIdRelation) {
+        return R.data(iUserService.queryContractWbsTreeByFirstInfo(parentId, contractId, contractIdRelation));
+    }
+
 }

+ 4 - 1
blade-service/blade-user/src/main/java/org/springblade/system/user/feign/UserClient.java

@@ -134,7 +134,7 @@ public class UserClient implements IUserClient {
     public R<Boolean> saveUserDTO(UserDTO user) {
         try {
             service.submit2(user);
-        }catch (Exception e){
+        } catch (Exception e) {
             return R.data(false);
         }
         return R.data(true);
@@ -145,5 +145,8 @@ public class UserClient implements IUserClient {
         service.deleteContractLocalCache(contractId);
     }
 
+    public void clearContractLocalCacheAndRedisCache() {
+        service.clearContractLocalCacheAndRedisCache();
+    }
 
 }

+ 5 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/service/IUserService.java

@@ -231,4 +231,9 @@ public interface IUserService extends BaseService<User> {
 
     IPage<InformationQueryVO> informationWriteQueryPage(InformationQueryVO vo);
 
+    void clearContractLocalCacheAndRedisCache();
+
+    List<WbsTreeContractLazyVO> queryContractWbsTreeByFirstInfo(String parentId, String contractId, String contractIdRelation);
+
+
 }

+ 109 - 10
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -1,7 +1,5 @@
 package org.springblade.system.user.service.impl;
 
-import cn.hutool.core.date.StopWatch;
-import cn.hutool.log.StaticLog;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.common.utils.StringUtils;
@@ -39,11 +37,11 @@ import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.*;
 import org.springblade.manager.dto.SaveUserInfoByProjectDTO;
 import org.springblade.manager.entity.ContractInfo;
+import org.springblade.manager.entity.ContractRelationJlyz;
 import org.springblade.manager.entity.WbsTreeContract;
 import org.springblade.manager.feign.ContractClient;
 import org.springblade.manager.vo.WbsTreeContractLazyQueryInfoVO;
 import org.springblade.manager.vo.WbsTreeContractLazyVO;
-import org.springblade.manager.vo.WbsTreeContractVO8;
 import org.springblade.resource.feign.NewIOSSClient;
 import org.springblade.system.cache.DictCache;
 import org.springblade.system.cache.ParamCache;
@@ -818,7 +816,10 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
                         contractIds.add(contractIdRelation);
                     } else {
                         //根节点时默认加载所有施工合同段的树
-                        contractIds = this.contractClient.getProcessContractByJLContractId(contractId);
+                        List<ContractRelationJlyz> query = jdbcTemplate.query("SELECT contract_id_sg FROM m_contract_relation_jlyz WHERE contract_id_jlyz = " + contractId, new BeanPropertyRowMapper<>(ContractRelationJlyz.class));
+                        if (query.size() > 0) {
+                            contractIds = query.stream().map(ContractRelationJlyz::getContractIdSg).map(String::valueOf).collect(Collectors.toList());
+                        }
                     }
                     if (cn.hutool.core.util.ObjectUtil.isEmpty(contractIds) || contractIds.size() <= 0) {
                         return null;
@@ -974,6 +975,98 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
         }
     }
 
+    @Override
+    public List<WbsTreeContractLazyVO> queryContractWbsTreeByFirstInfo(String parentId, String contractId, String contractIdRelation) {
+        ContractInfo contractInfo = jdbcTemplate.query("SELECT contract_name,contract_type FROM m_contract_info WHERE id = " + contractId, new BeanPropertyRowMapper<>(ContractInfo.class)).stream().findAny().orElse(null);
+        if (contractInfo != null) {
+            if (new Integer(1).equals(contractInfo.getContractType())) {
+                if (ObjectUtil.isEmpty(parentId)) {
+                    List<WbsTreeContractLazyVO> lazyNodes = jdbcTemplate.query("select p_key_id,contract_id,(SELECT id FROM u_contract_tree_drawings where process_id = p_key_id and is_deleted = 0 limit 1) AS drawingsId,id,parent_id,node_type,type,wbs_type,major_data_type,partition_code,old_id,contract_id_relation,is_concealed_works_node,CASE (SELECT count(1) FROM u_tree_contract_first AS tcf WHERE tcf.is_deleted = 0 AND tcf.wbs_node_id = a.p_key_id) WHEN 0 THEN 'false' ELSE 'true' END AS isFirst,IFNULL(if(length(trim(full_name))>0,full_name,node_name),node_name) AS title,(SELECT CASE WHEN count(1) > 0 THEN 1 ELSE 0 END FROM m_wbs_tree_contract b WHERE b.parent_id = a.id AND  b.type = 1 and b.status = 1 AND b.contract_id = " + contractId + " AND b.is_deleted = 0 ) AS hasChildren from m_wbs_tree_contract a where parent_id = 0 AND contract_id = " + contractId + " ORDER BY a.sort,title,a.create_time", new BeanPropertyRowMapper<>(WbsTreeContractLazyVO.class));
+                    for (WbsTreeContractLazyVO lazyNode : lazyNodes) {
+                        lazyNode.setTitle(contractInfo.getContractName());
+                        lazyNode.setType(lazyNode.getNodeType());
+                        lazyNode.setNotExsitChild(!lazyNode.getHasChildren().equals(1));
+                        lazyNode.setPrimaryKeyId(lazyNode.getPKeyId());
+                    }
+                    return lazyNodes;
+                }
+                List<TreeContractFirst> query = jdbcTemplate.query("SELECT wbs_node_id FROM u_tree_contract_first WHERE is_deleted = 0 AND status = 1 AND contract_id = " + contractId, new BeanPropertyRowMapper<>(TreeContractFirst.class));
+                if (query.size() > 0) {
+                    List<WbsTreeContractLazyVO> nodeAll = this.getNodeAll(contractId);
+                    List<Long> nodeIds = query.stream().map(TreeContractFirst::getWbsNodeId).collect(Collectors.toList());
+                    List<WbsTreeContractLazyVO> firstNodes = nodeAll.stream().filter(f -> nodeIds.contains(f.getPKeyId())).collect(Collectors.toList());
+                    List<WbsTreeContractLazyVO> collect = firstNodes.stream().filter(f -> f.getParentId().equals(Long.parseLong(parentId))).collect(Collectors.toList());
+                    List<Long> pKeyIds = collect.stream().map(WbsTreeContractLazyVO::getPKeyId).collect(Collectors.toList());
+                    if (pKeyIds.size() > 0) {
+                        List<WbsTreeContractLazyVO> lazyNodes = jdbcTemplate.query("select p_key_id,contract_id,(SELECT id FROM u_contract_tree_drawings where process_id = p_key_id and is_deleted = 0 limit 1) AS drawingsId,id,parent_id,node_type,type,wbs_type,major_data_type,partition_code,old_id,contract_id_relation,is_concealed_works_node,CASE (SELECT count(1) FROM u_tree_contract_first AS tcf WHERE tcf.is_deleted = 0 AND tcf.wbs_node_id = a.p_key_id) WHEN 0 THEN 'false' ELSE 'true' END AS isFirst,IFNULL(if(length(trim(full_name))>0,full_name,node_name),node_name) AS title,(SELECT CASE WHEN count(1) > 0 THEN 1 ELSE 0 END FROM m_wbs_tree_contract b WHERE b.parent_id = a.id AND  b.type = 1 and b.status = 1 AND b.contract_id = " + contractId + " AND b.is_deleted = 0 ) AS hasChildren from m_wbs_tree_contract a where p_key_id IN (" + StringUtils.join(pKeyIds, ",") + ") ORDER BY a.sort,title,a.create_time", new BeanPropertyRowMapper<>(WbsTreeContractLazyVO.class));
+                        if (lazyNodes.size() > 0) {
+                            for (WbsTreeContractLazyVO lazyNodeVO : lazyNodes) {
+                                lazyNodeVO.setType(lazyNodeVO.getNodeType());
+                                lazyNodeVO.setNotExsitChild(!lazyNodeVO.getHasChildren().equals(1));
+                                lazyNodeVO.setPrimaryKeyId(lazyNodeVO.getPKeyId());
+                            }
+                            return lazyNodes;
+                        }
+                    }
+                }
+
+            } else if (new Integer("2").equals(contractInfo.getContractType()) || new Integer("3").equals(contractInfo.getContractType())) {
+                List<WbsTreeContractLazyVO> lazyNodesAll = new ArrayList<>();
+                List<String> contractIds = new ArrayList<>();
+                if (ObjectUtil.isNotEmpty(contractIdRelation) && ObjectUtil.isNotEmpty(parentId)) {
+                    contractIds.add(contractIdRelation);
+                } else {
+                    List<ContractRelationJlyz> query = jdbcTemplate.query("SELECT contract_id_sg FROM m_contract_relation_jlyz WHERE contract_id_jlyz = " + contractId, new BeanPropertyRowMapper<>(ContractRelationJlyz.class));
+                    if (query.size() > 0) {
+                        contractIds = query.stream().map(ContractRelationJlyz::getContractIdSg).map(String::valueOf).collect(Collectors.toList());
+                    }
+                }
+                if (ObjectUtil.isEmpty(contractIds) || contractIds.size() <= 0) {
+                    return null;
+                }
+                for (String sgContractId : contractIds) {
+                    ContractInfo sgContractInfo = jdbcTemplate.query("select contract_name from m_contract_info where id = " + sgContractId, new BeanPropertyRowMapper<>(ContractInfo.class)).stream().findAny().orElse(null);
+                    if (sgContractInfo != null) {
+                        if (ObjectUtil.isNotEmpty(parentId)) {
+                            List<TreeContractFirst> query = jdbcTemplate.query("SELECT wbs_node_id FROM u_tree_contract_first WHERE is_deleted = 0 AND status = 1 AND contract_id = " + sgContractId, new BeanPropertyRowMapper<>(TreeContractFirst.class));
+                            if (query.size() > 0) {
+                                List<WbsTreeContractLazyVO> nodeAll = this.getNodeAll(sgContractId);
+                                List<Long> nodeIds = query.stream().map(TreeContractFirst::getWbsNodeId).collect(Collectors.toList());
+                                List<WbsTreeContractLazyVO> firstNodes = nodeAll.stream().filter(f -> nodeIds.contains(f.getPKeyId())).collect(Collectors.toList());
+                                List<WbsTreeContractLazyVO> collect = firstNodes.stream().filter(f -> f.getParentId().equals(Long.parseLong(parentId))).collect(Collectors.toList());
+                                List<Long> pKeyIds = collect.stream().map(WbsTreeContractLazyVO::getPKeyId).collect(Collectors.toList());
+                                if (pKeyIds.size() > 0) {
+                                    List<WbsTreeContractLazyVO> lazyNodes = jdbcTemplate.query("select p_key_id,contract_id,(SELECT id FROM u_contract_tree_drawings where process_id = p_key_id and is_deleted = 0 limit 1) AS drawingsId,id,parent_id,node_type,type,wbs_type,major_data_type,partition_code,old_id,contract_id_relation,is_concealed_works_node,CASE (SELECT count(1) FROM u_tree_contract_first AS tcf WHERE tcf.is_deleted = 0 AND tcf.wbs_node_id = a.p_key_id) WHEN 0 THEN 'false' ELSE 'true' END AS isFirst,IFNULL(if(length(trim(full_name))>0,full_name,node_name),node_name) AS title,(SELECT CASE WHEN count(1) > 0 THEN 1 ELSE 0 END FROM m_wbs_tree_contract b WHERE b.parent_id = a.id AND  b.type = 1 and b.status = 1 AND b.contract_id = " + sgContractId + " AND b.is_deleted = 0 ) AS hasChildren from m_wbs_tree_contract a where p_key_id IN (" + StringUtils.join(pKeyIds, ",") + ") ORDER BY a.sort,title,a.create_time", new BeanPropertyRowMapper<>(WbsTreeContractLazyVO.class));
+                                    if (lazyNodes.size() > 0) {
+                                        for (WbsTreeContractLazyVO lazyNodeVO : lazyNodes) {
+                                            lazyNodeVO.setType(lazyNodeVO.getNodeType());
+                                            lazyNodeVO.setNotExsitChild(!lazyNodeVO.getHasChildren().equals(1));
+                                            lazyNodeVO.setPrimaryKeyId(lazyNodeVO.getPKeyId());
+                                            lazyNodeVO.setContractIdRelation(sgContractId);
+                                        }
+                                        lazyNodesAll.addAll(lazyNodes);
+                                    }
+                                }
+                            }
+                        } else {
+                            List<WbsTreeContractLazyVO> lazyNodes = jdbcTemplate.query("select p_key_id,contract_id,(SELECT id FROM u_contract_tree_drawings where process_id = p_key_id and is_deleted = 0 limit 1) AS drawingsId,id,parent_id,node_type,type,wbs_type,major_data_type,partition_code,old_id,contract_id_relation,is_concealed_works_node,CASE (SELECT count(1) FROM u_tree_contract_first AS tcf WHERE tcf.is_deleted = 0 AND tcf.wbs_node_id = a.p_key_id) WHEN 0 THEN 'false' ELSE 'true' END AS isFirst,IFNULL(if(length(trim(full_name))>0,full_name,node_name),node_name) AS title,(SELECT CASE WHEN count(1) > 0 THEN 1 ELSE 0 END FROM m_wbs_tree_contract b WHERE b.parent_id = a.id AND  b.type = 1 and b.status = 1 AND b.contract_id = " + sgContractId + " AND b.is_deleted = 0 ) AS hasChildren from m_wbs_tree_contract a where parent_id = 0 AND contract_id = " + sgContractId + " ORDER BY a.sort,title,a.create_time", new BeanPropertyRowMapper<>(WbsTreeContractLazyVO.class));
+                            for (WbsTreeContractLazyVO lazyNode : lazyNodes) {
+                                lazyNode.setTitle(sgContractInfo.getContractName());
+                                lazyNode.setType(lazyNode.getNodeType());
+                                lazyNode.setNotExsitChild(!lazyNode.getHasChildren().equals(1));
+                                lazyNode.setPrimaryKeyId(lazyNode.getPKeyId());
+                                lazyNode.setContractIdRelation(sgContractId);
+                            }
+                            lazyNodesAll.addAll(lazyNodes);
+                        }
+                    }
+                }
+                return lazyNodesAll;
+            }
+        }
+        return null;
+    }
+
     /**
      * 获取当前合同段所有节点缓存
      *
@@ -1099,7 +1192,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
      * @param nodesAll
      * @return
      */
-    public List<WbsTreeContractLazyVO> getCachedParentCountNodes(String contractId, List<Long> lowestNodeParentIdsTB, List<WbsTreeContractLazyVO> nodesAll, String tableOwner) {
+    public List<WbsTreeContractLazyVO> getCachedParentCountNodes(String
+                                                                         contractId, List<Long> lowestNodeParentIdsTB, List<WbsTreeContractLazyVO> nodesAll, String tableOwner) {
         //从本地缓存获取数据
         String cacheKey = contractId + "_" + tableOwner;
         List<WbsTreeContractLazyVO> resultParentNodesTB = localCacheParentCountNodes.get(cacheKey);
@@ -1131,7 +1225,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
      * @param lowestNodeParentIds 最底层节点ParentIds
      * @param nodesAll            所有节点
      */
-    public void recursiveGetParentNodes(List<WbsTreeContractLazyVO> result, List<Long> lowestNodeParentIds, List<WbsTreeContractLazyVO> nodesAll) {
+    public void recursiveGetParentNodes
+    (List<WbsTreeContractLazyVO> result, List<Long> lowestNodeParentIds, List<WbsTreeContractLazyVO> nodesAll) {
         if (lowestNodeParentIds.isEmpty()) {
             return;
         }
@@ -1193,8 +1288,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
         return recursionFnNodeTree(list, map, lowestNodesMap);
     }
 
-    public List<NodeVO> recursionFnNodeTree(List<WbsTreeContractLazyVO> list, Map<Long, List<WbsTreeContractLazyVO>> map,
-                                            Map<Long, WbsTreeContractLazyVO> lowestNodesMap) {
+    public List<NodeVO> recursionFnNodeTree
+            (List<WbsTreeContractLazyVO> list, Map<Long, List<WbsTreeContractLazyVO>> map,
+             Map<Long, WbsTreeContractLazyVO> lowestNodesMap) {
         List<NodeVO> result = new ArrayList<>();
         for (WbsTreeContractLazyVO vo : list) {
             if (vo.getHasChildren().equals(0)) {
@@ -1291,7 +1387,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
         return this.selectInformationQueryPage(Condition.getPage(query), vo, node, childNodesPkeyIds);
     }
 
-    private IPage<InformationQueryVO> selectInformationQueryPage(IPage<InformationQueryVO> page, InformationQueryVO vo, WbsTreeContract node, List<Long> childNodesPkeyIds) {
+    private IPage<InformationQueryVO> selectInformationQueryPage
+            (IPage<InformationQueryVO> page, InformationQueryVO vo, WbsTreeContract
+                    node, List<Long> childNodesPkeyIds) {
         if (StringUtils.isNotEmpty(vo.getBetweenTime())) {
             String[] betweenTime;
             if (vo.getBetweenTime().contains("~")) {
@@ -1581,7 +1679,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
         return new ArrayList<>();
     }
 
-    private void recursionGetChildNodesPkeyIds(List<WbsTreeContractLazyVO> nodeAll, List<Long> ids, List<Long> resultPKeyId, List<Long> lowestNodesPkeyIds) {
+    private void recursionGetChildNodesPkeyIds
+            (List<WbsTreeContractLazyVO> nodeAll, List<Long> ids, List<Long> resultPKeyId, List<Long> lowestNodesPkeyIds) {
         if (ids.size() > 0) {
             List<WbsTreeContractLazyVO> sortedFilteredNodes = nodeAll.stream()
                     .filter(f -> ids.contains(f.getParentId()))