From 30e858fa504b268b9b436afca0a1259cf6e8c488 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 19 八月 2025 11:01:40 +0800 Subject: [PATCH] 优化 --- server/src/main/java/com/doumee/dao/business/vo/CompanyTree.java | 38 +++++++++++++++++++++++++++++++++++++- 1 files changed, 37 insertions(+), 1 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 ab82e42..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; } @@ -105,12 +116,21 @@ if (!Objects.isNull(treeNode.getParentId())&&treeNode.getParentId().equals(pNode.getId())) { // 鍐嶉�掑綊杩涜鍒ゆ柇褰撳墠鑺傜偣鐨勬儏鍐碉紝璋冪敤鑷韩鏂规硶 childTree.add(buildChildTree(treeNode)); + } } } // for寰幆缁撴潫锛屽嵆鑺傜偣涓嬫病鏈変换浣曡妭鐐癸紝鏍戝舰鏋勫缓缁撴潫锛岃缃爲缁撴灉 pNode.setChildList(childTree); - if(childTree == null || childTree.size() ==0){ + 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); @@ -118,5 +138,21 @@ 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