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