From ff087240b3dee29ce4e14ad0836e76b9fdf312cf Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 19 八月 2025 09:28:07 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/lianhelihua_sh

---
 server/src/main/java/com/doumee/dao/business/vo/CompanyTree.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 53 insertions(+), 0 deletions(-)

diff --git a/server/src/main/java/com/doumee/dao/business/vo/CompanyTree.java b/server/src/main/java/com/doumee/dao/business/vo/CompanyTree.java
index b961eb4..c7e59e1 100644
--- a/server/src/main/java/com/doumee/dao/business/vo/CompanyTree.java
+++ b/server/src/main/java/com/doumee/dao/business/vo/CompanyTree.java
@@ -1,9 +1,14 @@
 package com.doumee.dao.business.vo;
 
+import com.doumee.core.constants.Constants;
 import com.doumee.dao.business.model.Company;
+import com.doumee.dao.business.model.CompanyMember;
+import com.doumee.dao.business.model.Member;
 import org.apache.commons.lang3.StringUtils;
+import org.yaml.snakeyaml.scanner.Constant;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 import java.util.Objects;
 
@@ -17,6 +22,7 @@
 
     // 淇濆瓨鍙備笌鏋勫缓鏍戝舰鐨勬墍鏈夋暟鎹紙閫氬父鏁版嵁搴撴煡璇㈢粨鏋滐級
     public List<Company> nodeList = new ArrayList<>();
+    public List<CompanyMember> memberList = new ArrayList<>();
 
     public Integer origin = 0; //0鑷缓 1浼佸井
 
@@ -28,6 +34,11 @@
     public CompanyTree(List<Company> nodeList, Integer origin){
         this.nodeList = nodeList;
         this.origin = origin;
+    }
+    public CompanyTree(List<Company> nodeList, Integer origin, List<CompanyMember> memberList ){
+        this.nodeList = nodeList;
+        this.origin = origin;
+        this.memberList=memberList;
     }
 
 
@@ -42,6 +53,9 @@
         for (Company treeNode : nodeList){
             // 鍒ゆ柇褰撳墠鑺傜偣鏄惁涓烘牴鑺傜偣锛屾澶勬敞鎰忥細鑻arentId绫诲瀷鏄疭tring锛屽垯瑕侀噰鐢╡quals()鏂规硶鍒ゆ柇銆�
             if(origin== 1){
+                if( findParentIdFromList(treeNode.getQwParentId()) == null){
+                    treeNode.setQwParentId(null);//鍘婚櫎娌¤幏鍙栫殑鐖惰妭鐐圭殑浼佸井鐖剁骇鏍囪瘑锛屼綔涓洪《鑺傜偣
+                }
                 if (StringUtils.isBlank(treeNode.getQwParentId()) || StringUtils.equals(treeNode.getQwId(),"1")) {
                     // 鏄紝娣诲姞
                     rootNodeList.add(treeNode);
@@ -54,6 +68,15 @@
             }
         }
         return rootNodeList;
+    }
+
+    private Company findParentIdFromList(String qwParentId) {
+        for(Company c : nodeList){
+            if(StringUtils.equals(c.getQwId(),qwParentId)){
+                return  c;
+            }
+        }
+        return null;
     }
 
 
@@ -93,13 +116,43 @@
                 if (!Objects.isNull(treeNode.getParentId())&&treeNode.getParentId().equals(pNode.getId())) {
                     // 鍐嶉�掑綊杩涜鍒ゆ柇褰撳墠鑺傜偣鐨勬儏鍐碉紝璋冪敤鑷韩鏂规硶
                     childTree.add(buildChildTree(treeNode));
+
                 }
             }
         }
         // for寰幆缁撴潫锛屽嵆鑺傜偣涓嬫病鏈変换浣曡妭鐐癸紝鏍戝舰鏋勫缓缁撴潫锛岃缃爲缁撴灉
         pNode.setChildList(childTree);
+        List<Company> memberList = getMemberNode(pNode.getId());
+        if(memberList!=null && memberList.size()>0){
+            if(pNode.getChildList() == null){
+                pNode.setChildList(memberList);
+            }else{
+                pNode.getChildList().addAll(memberList);
+            }
+        }
+        if(  pNode.getChildList() == null ||   pNode.getChildList().size() ==0){
+            pNode.setHasChildren(Boolean.FALSE);
+        }else{
+            pNode.setHasChildren(Boolean.TRUE);
+        }
         return pNode;
     }
 
+    private   List<Company> getMemberNode(Integer id) {
+        List<Company> companyList = new ArrayList<>();
+        if(memberList!=null && memberList.size()>0){
+            for(CompanyMember member :memberList){
+                if(member.getCompanyId()!=null && Constants.equalsInteger(member.getCompanyId(),id)){
+                    Company com = new Company();
+                    com.setObjType(Constants.ONE);
+                    com.setName(member.getMemberName());
+                    com.setMemberId(member.getMemberId());
+                    companyList.add(com);
+                }
+            }
+        }
+        return companyList;
+    }
+
 
 }

--
Gitblit v1.9.3