From 00062ed2e07d3d705abd1baa10ee483617f10dfb Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 09 六月 2023 18:44:57 +0800
Subject: [PATCH] 提交get请求中文编码问题,表名常量类,表别名枚举类

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java |  124 +++++++++++++++++++++++------------------
 1 files changed, 70 insertions(+), 54 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 71c4338..224a3f1 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,23 +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.ICodeOsattributeService;
 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;
@@ -56,14 +53,15 @@
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
+import java.awt.event.ItemEvent;
 import java.io.File;
 import java.util.*;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.*;
 
@@ -80,19 +78,7 @@
 	private ICodeRuleService codeRuleService;
 
 	@Resource
-	private CodeOsbtmtypeMapper codeOsbtmtypeMapper;
-
-	@Resource
-	private CodeOsbtmtypeattributeMapper codeOsbtmtypeattributeMapper;
-
-	@Resource
 	private IBtmTypeClient btmTypeClient;
-
-	/**
-	 * 灞炴�ф湇鍔�
-	 */
-//	@Autowired
-//	private OsAttributeServiceI attributeService;
 
 	/**
 	 * 鏃ュ織
@@ -744,9 +730,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<>();
 
 		//鎴戜滑闇�瑕佹煡璇㈡墍鏈夊凡缁忓瓨鍦ㄧ殑鍒嗙被锛屼富瑕佹槸璺緞锛岀敤鏉ュ垽鏂垎绫荤殑鏁版嵁
@@ -776,7 +763,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());
 			}
@@ -887,7 +874,7 @@
 	 * @return 灞炴�х殑淇℃伅锛屽寘鍚粯璁ょ殑灞炴��
 	 */
 	@Override
-	public DataGrid<CodeOsattributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject) {
+	public DataGrid<BtmTypeAttributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject) throws ServiceException{
 		if(baseQueryObject == null){
 			baseQueryObject = new BaseQueryObject();
 		}
@@ -895,9 +882,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);
@@ -907,24 +898,28 @@
 
 		Map<String,Object> condition = new HashMap<>(1);
 		condition.put("pkbtmtype",topClassifyVO.getBtmtypeid());
-
-		List<CodeOsbtmtypeattributeEntity> unDefaultAttributes = codeOsbtmtypeattributeMapper.selectByMap(condition);
+		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<CodeOsattributeVO> attributeVOS = new ArrayList<>();
+		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.setAttributedatatypetext(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.VCI_FIELD_TYPE,attr.getAttrDataType()));
 				boolean add = true;
 				if(StringUtils.isNotBlank(id) && !attributeVO.getId().contains(id.replace("*",""))){
 					add = false;
 				}
-				if(StringUtils.isNotBlank(name) && !attributeVO.getId().contains(name.replace("*",""))){
+				if(StringUtils.isNotBlank(name) && !attributeVO.getName().contains(name.replace("*",""))){
 					add = false;
 				}
 				if(add){
@@ -932,21 +927,37 @@
 				}
 			});
 		}
-//		if(!CollectionUtils.isEmpty(codeOsattributeService.getDefaultAttributeVOs())){
-//			codeOsattributeService.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();
+
+		// 鍙栦袱涓泦鍚堝樊闆�
+		List<String> ids = unDefaultAttributes.stream().map(BtmTypeAttributeVO::getId).collect(Collectors.toList());
+		defaultAttrVOS.forEach(item->{
+			if(!ids.contains(item.getId())){
+				BtmTypeAttributeVO attributeVO = new BtmTypeAttributeVO();
+				BeanUtils.copyProperties(item,attributeVO);
+				attributeVO.setAttrDataType(item.getAttrDataType());
+				attributeVO.setAttributeLength(item.getAttributeLength());
+				attributeVO.setBtmTypeId(btmTypeDetail.getData().getId());
+				attributeVO.setBtmname(btmTypeDetail.getData().getName());
+				attributeVO.setAttrDataTypeText(EnumCache.getValue(EnumEnum.VCI_FIELD_TYPE,item.getAttrDataType()));
+				boolean add = true;
+				if(StringUtils.isNotBlank(id) && !item.getId().contains(id.replace("*",""))){
+					add = false;
+				}
+				if(StringUtils.isNotBlank(name) && !item.getName().contains(name.replace("*",""))){
+					add = false;
+				}
+				if(add){
+					attributeVOS.add(attributeVO);
+				}
+			}
+		});
+
+		DataGrid<BtmTypeAttributeVO> dataGrid = new DataGrid<>();
 		dataGrid.setData(attributeVOS);
 		dataGrid.setTotal(attributeVOS.size());
 		return dataGrid;
@@ -1032,8 +1043,7 @@
 	}
 
 	/**
-	 * 涓婚搴撶殑鏍�,宸茬粡鑱旇皟涓氬姟绫诲瀷鏌ヨ
-	 *
+	 * 涓婚搴撶殑鏍�,宸茶仈璋冧笟鍔$被鍨嬫煡璇eign
 	 * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
 	 * @return 涓婚搴撴樉绀烘爲
 	 */
@@ -1054,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