| | |
| | | package com.doumee.service.common.tree; |
| | | |
| | | import com.doumee.config.DataSyncConfig; |
| | | import com.doumee.dao.business.model.Company; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | |
| | | // treeNode:查询出的每一条数据(节点) |
| | | for (Company treeNode : nodeList){ |
| | | // 判断当前节点是否为根节点,此处注意:若parentId类型是String,则要采用equals()方法判断。 |
| | | if(origin==0){ |
| | | if (Objects.isNull(treeNode.getParentId())) { |
| | | if(origin== DataSyncConfig.origin.hk){ |
| | | if (Objects.isNull(treeNode.getHkParentId())) { |
| | | // 是,添加 |
| | | rootNodeList.add(treeNode); |
| | | } |
| | | }else{ |
| | | }else if(origin== DataSyncConfig.origin.erp){ |
| | | if (Objects.isNull(treeNode.getErpParentId())) { |
| | | // 是,添加 |
| | | rootNodeList.add(treeNode); |
| | | } |
| | | }else { |
| | | if (Objects.isNull(treeNode.getParentId())) { |
| | | // 是,添加 |
| | | rootNodeList.add(treeNode); |
| | | } |
| | |
| | | // nodeList:所有节点集合(所有数据) |
| | | for (Company treeNode : nodeList) { |
| | | // 判断当前节点的父节点ID是否等于根节点的ID,即当前节点为其下的子节点 |
| | | |
| | | if(origin==0){ |
| | | if (!Objects.isNull(treeNode.getParentId())&&treeNode.getParentId().equals(pNode.getId())) { |
| | | if(origin==DataSyncConfig.origin.hk){ |
| | | if (!Objects.isNull(treeNode.getHkParentId())&&treeNode.getHkParentId().equals(pNode.getHkId())) { |
| | | // 再递归进行判断当前节点的情况,调用自身方法 |
| | | childTree.add(buildChildTree(treeNode)); |
| | | } |
| | | }else{ |
| | | }else if(origin==DataSyncConfig.origin.erp){ |
| | | if (!Objects.isNull(treeNode.getErpParentId())&&treeNode.getErpParentId().equals(pNode.getErpId())) { |
| | | // 再递归进行判断当前节点的情况,调用自身方法 |
| | | childTree.add(buildChildTree(treeNode)); |
| | | } |
| | | }else { |
| | | if (!Objects.isNull(treeNode.getParentId())&&treeNode.getParentId().equals(pNode.getId())) { |
| | | // 再递归进行判断当前节点的情况,调用自身方法 |
| | | childTree.add(buildChildTree(treeNode)); |
| | | } |
| | | } |
| | | } |
| | | // for循环结束,即节点下没有任何节点,树形构建结束,设置树结果 |