From 05db93c48c69b1fc5db8bb2fce4c37014e92e450 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期二, 19 八月 2025 10:01:30 +0800
Subject: [PATCH] 代码初始化
---
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