From cb4e11b19446843188cf628ac8f6be5fe1fa68c7 Mon Sep 17 00:00:00 2001
From: fujunling <2984387807@qq.com>
Date: 星期二, 06 六月 2023 18:01:52 +0800
Subject: [PATCH] 配置

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java |  116 ++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 68 insertions(+), 48 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
index c9cf1ad..24ae819 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -9,22 +9,20 @@
 import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
 import com.vci.ubcs.code.entity.CodeClassify;
 import com.vci.ubcs.code.entity.CodeClassifyTemplate;
-import com.vci.ubcs.code.entity.CodeOsbtmtypeEntity;
-import com.vci.ubcs.code.entity.CodeOsbtmtypeattributeEntity;
 import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus;
 import com.vci.ubcs.code.mapper.CodeClassifyMapper;
 import com.vci.ubcs.code.mapper.CodeClassifyTemplateMapper;
-import com.vci.ubcs.code.mapper.CodeOsbtmtypeMapper;
-import com.vci.ubcs.code.mapper.CodeOsbtmtypeattributeMapper;
 import com.vci.ubcs.code.po.CodeClassifyPO;
 import com.vci.ubcs.code.service.ICodeClassifyService;
 import com.vci.ubcs.code.service.ICodeKeyAttrRepeatService;
 import com.vci.ubcs.code.service.ICodeRuleService;
-import com.vci.ubcs.code.vo.CodeOsattributeVO;
-import com.vci.ubcs.code.vo.CodeOsbtmtypeVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeKeyAttrRepeatRuleVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
+import com.vci.ubcs.omd.cache.EnumCache;
+import com.vci.ubcs.omd.enums.EnumEnum;
+import com.vci.ubcs.omd.feign.IBtmTypeClient;
+import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
 import com.vci.ubcs.omd.feign.IBtmTypeClient;
 import com.vci.ubcs.omd.vo.BtmTypeVO;
 import com.vci.ubcs.starter.bo.WriteExcelData;
@@ -78,15 +76,7 @@
 	private ICodeRuleService codeRuleService;
 
 	@Resource
-	private CodeOsbtmtypeMapper codeOsbtmtypeMapper;
-
-	@Resource
-	private CodeOsbtmtypeattributeMapper codeOsbtmtypeattributeMapper;
-
-	@Resource
 	private IBtmTypeClient btmTypeClient;
-
-
 
 	/**
 	 * 鏃ュ織
@@ -267,7 +257,6 @@
 		return codeClassifyMapper.checkHasChild(oid.trim());
 	}
 
-
 	/**
 	 * 鍒犻櫎涓婚搴撳垎绫�
 	 * @param codeClassify 涓婚搴撳垎绫绘暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈�
@@ -372,7 +361,6 @@
 		return codeClassifyDO2VOs(codeClassifyDOList);
 	}
 
-
 	/**
 	 * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄
 	 * @param oidCollections 涓婚敭鐨勯泦鍚�
@@ -391,7 +379,6 @@
 		}
 		return  codeClassifyList;
 	}
-
 
 	/**
 	 * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
@@ -741,9 +728,10 @@
 
 		List<String> btmOids = poList.stream().filter(s -> StringUtils.isNotBlank(s.getKeyRepeatRuleId()))
 			.map(CodeClassifyPO::getBtmTypeId).collect(Collectors.toList());
-		Map<String, CodeOsbtmtypeEntity> btmVOMap = Optional.ofNullable(btmOids.size()==0 ? null: codeOsbtmtypeMapper.selectBatchIds(btmOids)
-		).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t,(o1,o2)->o2));
-//		Map<String, CodeOsbtmtypeVO> btmVOMap = null;
+		Map<String, BtmTypeVO> btmVOMap = Optional
+			.ofNullable(btmOids.size()==0 ? null: btmTypeClient.selectByIdCollection(btmOids).getData())
+			.orElse(new ArrayList<BtmTypeVO>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t,(o1,o2)->o2));
+		//		Map<String, CodeOsbtmtypeVO> btmVOMap = null;
 		Map<String/**璺緞**/,String/**涓婚敭**/> oidPathMap = new HashMap<>();
 
 		//鎴戜滑闇�瑕佹煡璇㈡墍鏈夊凡缁忓瓨鍦ㄧ殑鍒嗙被锛屼富瑕佹槸璺緞锛岀敤鏉ュ垽鏂垎绫荤殑鏁版嵁
@@ -773,7 +761,7 @@
 			classify.setDescription(po.getDescription());
 			oidPathMap.put(po.getPath(),classify.getOid());
 			if(StringUtils.isNotBlank(po.getBtmTypeId())){
-				CodeOsbtmtypeVO typeVO = (CodeOsbtmtypeVO)btmVOMap.get(po.getBtmTypeId().toLowerCase(Locale.ROOT));
+				BtmTypeVO typeVO = (BtmTypeVO)btmVOMap.get(po.getBtmTypeId().toLowerCase(Locale.ROOT));
 				classify.setBtmTypeId(typeVO.getId());
 				classify.setBtmTypeName(typeVO.getName());
 			}
@@ -884,7 +872,7 @@
 	 * @return 灞炴�х殑淇℃伅锛屽寘鍚粯璁ょ殑灞炴��
 	 */
 	@Override
-	public DataGrid<CodeOsattributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject) {
+	public DataGrid<BtmTypeAttributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject) throws ServiceException{
 		if(baseQueryObject == null){
 			baseQueryObject = new BaseQueryObject();
 		}
@@ -892,9 +880,13 @@
 			baseQueryObject.setConditionMap(new HashMap<>());
 		}
 		String classifyOid = baseQueryObject.getConditionMap().getOrDefault("codeClassifyOid","");
+		String btmTypeOid = baseQueryObject.getConditionMap().getOrDefault("btmTypeOid","");
 		String id = baseQueryObject.getConditionMap().getOrDefault("id","");
 		String name = baseQueryObject.getConditionMap().getOrDefault("name","");
 		if(StringUtils.isBlank(classifyOid)){
+			return new DataGrid<>();
+		}
+		if(StringUtils.isBlank(btmTypeOid)){
 			return new DataGrid<>();
 		}
 		CodeClassifyVO topClassifyVO = getTopClassifyVO(classifyOid);
@@ -904,18 +896,23 @@
 
 		Map<String,Object> condition = new HashMap<>(1);
 		condition.put("pkbtmtype",topClassifyVO.getBtmtypeid());
-
-		List<CodeOsbtmtypeattributeEntity> unDefaultAttributes = codeOsbtmtypeattributeMapper.selectByMap(condition);
-//		List<OsBtmTypeAttributeVO> unDefaultAttributes = btmService. (topClassifyVO.getBtmtypeid());
-		List<CodeOsattributeVO> attributeVOS = new ArrayList<>();
+		R<BtmTypeVO> btmTypeDetail = btmTypeClient.getDetail(btmTypeOid);
+		if(btmTypeDetail.getCode() != 200){
+			throw new ServiceException("涓氬姟绫诲瀷feign鎺ュ彛璋冪敤鍑洪敊");
+		}
+		List<BtmTypeAttributeVO> unDefaultAttributes = btmTypeDetail.getData().getAttributes();
+		// List<CodeOsbtmtypeattributeEntity> unDefaultAttributes = codeOsbtmtypeattributeMapper.selectByMap(condition);
+		// List<OsBtmTypeAttributeVO> unDefaultAttributes = btmService. (topClassifyVO.getBtmtypeid());
+		List<BtmTypeAttributeVO> attributeVOS = new ArrayList<>();
 		if(!CollectionUtils.isEmpty(unDefaultAttributes)){
 			unDefaultAttributes.stream().forEach(attr->{
-				CodeOsattributeVO attributeVO = new CodeOsattributeVO();
+				BtmTypeAttributeVO attributeVO = new BtmTypeAttributeVO();
 				BeanUtils.copyProperties(attr,attributeVO);
-				attributeVO.setAttributedatatype(attr.getAttrdatatype());
-				attributeVO.setAttrlength(Short.valueOf(attr.getAttributelength()));
-				attributeVO.setBtmtypeid(attr.getReferbtmtypeid());
-				attributeVO.setBtmtypename(attr.getReferbtmtypename());
+				attributeVO.setAttrDataType(attr.getAttrDataType());
+				attributeVO.setAttributeLength(attr.getAttributeLength());
+				attributeVO.setBtmTypeId(btmTypeDetail.getData().getId());
+				attributeVO.setBtmname(btmTypeDetail.getData().getName());
+				attributeVO.setAttrDataTypeText(EnumCache.getValue(EnumEnum.VCO_FIELD_TYPE,attr.getAttrDataType()));
 				boolean add = true;
 				if(StringUtils.isNotBlank(id) && !attributeVO.getId().contains(id.replace("*",""))){
 					add = false;
@@ -928,21 +925,26 @@
 				}
 			});
 		}
-//		if(!CollectionUtils.isEmpty(attributeService.getDefaultAttributeVOs())){
-//			attributeService.getDefaultAttributeVOs().stream().forEach(attr->{
-//				boolean add = true;
-//				if(StringUtils.isNotBlank(id) && !attr.getId().contains(id.replace("*",""))){
-//					add = false;
-//				}
-//				if(StringUtils.isNotBlank(name) && !attr.getId().contains(name.replace("*",""))){
-//					add = false;
-//				}
-//				if(add){
-//					attributeVOS.add(attr);
-//				}
-//			});
-//		}
-		DataGrid<CodeOsattributeVO> dataGrid = new DataGrid<>();
+		R<BtmTypeVO> btmTypeVOR = btmTypeClient.getDefaultAttrByBtmId(topClassifyVO.getBtmtypeid());
+		if(btmTypeVOR.getCode() != 200){
+			throw new ServiceException("涓氬姟绫诲瀷feign鎺ュ彛璋冪敤鍑洪敊");
+		}
+		List<BtmTypeAttributeVO> defaultAttrVOS = btmTypeVOR.getData().getAttributes();
+		if(!CollectionUtils.isEmpty(defaultAttrVOS)){
+			defaultAttrVOS.stream().forEach(attr->{
+				boolean add = true;
+				if(StringUtils.isNotBlank(id) && !attr.getId().contains(id.replace("*",""))){
+					add = false;
+				}
+				if(StringUtils.isNotBlank(name) && !attr.getId().contains(name.replace("*",""))){
+					add = false;
+				}
+				if(add){
+					attributeVOS.add(attr);
+				}
+			});
+		}
+		DataGrid<BtmTypeAttributeVO> dataGrid = new DataGrid<>();
 		dataGrid.setData(attributeVOS);
 		dataGrid.setTotal(attributeVOS.size());
 		return dataGrid;
@@ -1028,7 +1030,19 @@
 	}
 
 	/**
+<<<<<<< Updated upstream
+<<<<<<< Updated upstream
+<<<<<<< Updated upstream
+	 * 涓婚搴撶殑鏍�,宸茶仈璋冧笟鍔$被鍨嬫煡璇eign
+=======
 	 * 涓婚搴撶殑鏍�,宸茬粡鑱旇皟涓氬姟绫诲瀷鏌ヨ
+>>>>>>> Stashed changes
+=======
+	 * 涓婚搴撶殑鏍�,宸茬粡鑱旇皟涓氬姟绫诲瀷鏌ヨ
+>>>>>>> Stashed changes
+=======
+	 * 涓婚搴撶殑鏍�,宸茬粡鑱旇皟涓氬姟绫诲瀷鏌ヨ
+>>>>>>> Stashed changes
 	 *
 	 * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
 	 * @return 涓婚搴撴樉绀烘爲
@@ -1050,8 +1064,14 @@
 		if(Func.isEmpty(btmTypeVOS) || Func.isEmpty(trees)){
 			return null;
 		}
-		List<Tree> treeList = trees.stream().filter(tree -> btmTypeVOS.stream().
-			anyMatch(btmType -> Objects.equals(tree.getAttributes().get("id"), btmType.getId()))).collect(Collectors.toList());
+		List<Tree> treeList = trees.stream().filter(tree -> !CollectionUtils.isEmpty(btmTypeVOS.stream().filter(btmType -> {
+					if(Objects.equals(tree.getAttributes().get("id"), btmType.getId())){
+						tree.getAttributes().put("btmTypeOid",btmType.getOid());
+						return true;
+					}
+					return false;
+				}).collect(Collectors.toList())))
+			.collect(Collectors.toList());
 		return treeList;
 	}
 

--
Gitblit v1.9.3