From f39675fad28f66dd32aee1d3ee805ad99007bce5 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 02 六月 2023 21:13:16 +0800
Subject: [PATCH] 代码整合

---
 Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java |   41 +++++++++++++++++++++++++++--------------
 1 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java
index 5872185..b325153 100644
--- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java
@@ -19,10 +19,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
+import java.util.*;
 
 
 /**
@@ -36,7 +33,7 @@
 	/**
 	 * 涓婄骇鑺傜偣鐨勫睘鎬у悕绉�
 	 */
-	public static  final String PARENT_FIELD_NAME = "parentCodeClassifyOid";
+	public static  final String PARENT_FIELD_NAME = "pid";
 	/***
 	 * 闆嗗洟鍒嗙被灞炴��
 	 */
@@ -70,35 +67,51 @@
 	@Override
 	public List<Tree> treeCompanyGroupClassify(TreeQueryObject treeQueryObject) {
 		log.info("鑾峰彇闆嗗洟鍒嗙被鏍憇tart...");
+
 		Map<String,String> conditionMap= treeQueryObject.getConditionMap();
+		if(conditionMap==null){
+			conditionMap=new HashMap<>();
+		}
 		TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME.toLowerCase(Locale.ROOT));
 		treeWrapperOptions.copyFromTreeQuery(treeQueryObject);
-		List<DockingPreClassifyVO> dockingPreClassifyVOS= getCompanyGourpClassByParentId(treeQueryObject.getParentOid(),true);
+		List<DockingPreClassifyVO> dockingPreClassifyVOS= getCompanyGourpClassByParentId(treeQueryObject.getParentOid(),false);
 		List<Tree> tree= revisionModelUtil.doList2Trees(dockingPreClassifyVOS,treeWrapperOptions,(DockingPreClassifyVO s) ->{
 			//鍙互鍦ㄨ繖閲屽鐞嗘爲鑺傜偣鐨勬樉绀�
 			return s.getId() + " " + s.getName();//(FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s.getLcStatus()) ? (" 銆愬仠鐢ㄣ�� ") : "");
 		});
+
+		setTreeConig(tree,conditionMap);
+		log.info("鑾峰彇闆嗗洟鍒嗙被鏍慹nd...");
+		return tree;
+	}
+	private void setTreeConig(List<Tree> tree,Map<String,String >conditionMap){
+		boolean checkHasChild=false;
 		Iterator var6 =  tree.listIterator();
 		while(var6.hasNext()){
 			Tree trees = (Tree) var6.next();
-			boolean checkHasChild=dockingPreClassifyMapper.checkHasChild(trees.getOid());
+			List<Tree> childrenList=trees.getChildren();
+			if(childrenList.size()>0){
+				checkHasChild=true;
+			}
+			boolean checkHas=false;
 			//濡傛灉涓庢潯浠朵紶杩囨潵鐨勫�煎尮閰嶇殑涓婂垯璁剧疆涓洪�変腑
 			if(conditionMap.containsKey(MdmBtmTypeConstant.CODE_CLASSIFY_OID_FIELD)){
 				String codeClassifyId=conditionMap.get(MdmBtmTypeConstant.CODE_CLASSIFY_OID_FIELD);
-				boolean checkHas=dockingPreAttrMappingService.checkHasConfigByTragetCodeclassifyId(codeClassifyId);
-				if(checkHas) {
-					trees.setChecked(true);
-				}
+				checkHas = dockingPreAttrMappingService.checkHasConfigByTragetCodeclassifyId(codeClassifyId, trees.getOid());
 			}
-			;
+			if (checkHas) {
+				trees.setChecked(true);
+			}
 			if(checkHasChild){
 				trees.setLeaf(false);
 			}else{
 				trees.setLeaf(true);
 			}
+			if(checkHasChild) {
+				setTreeConig(childrenList,conditionMap);
+			}
 		}
-		log.info("鑾峰彇闆嗗洟鍒嗙被鏍慹nd...");
-		return tree;
+
 	}
 
 	/***

--
Gitblit v1.9.3