From 769e437befb3354c1113ca5b5c2b8240995078be Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期二, 06 八月 2024 13:24:15 +0800
Subject: [PATCH] 新增获取业务全部属性类型接口

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java
index b20f4bc..0d90146 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java
@@ -4,6 +4,8 @@
 import com.vci.corba.omd.atm.AttributeDef;
 import com.vci.corba.omd.btm.BizType;
 import com.vci.corba.omd.ltm.LinkType;
+import com.vci.corba.omd.qtm.QTD;
+import com.vci.omd.constants.AttributeConstants;
 import com.vci.pagemodel.*;
 import com.vci.starter.web.annotation.log.VciUnLog;
 import com.vci.starter.web.enumpck.BooleanEnum;
@@ -28,6 +30,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -551,6 +555,62 @@
 
         return BaseResult.success(rootTreeList);
     }
+    /**
+     * 鑾峰彇涓氬姟鍏ㄩ儴灞炴�х被鍨�
+     * @param btmName 涓氬姟绫诲瀷鍚嶇О
+     * @return 灞炴�х殑淇℃伅
+     */
+    @Override
+    public List<OsBtmTypeAttributeVO> getBizTypeQTDs(String btmName) throws PLException, ParseException {
+        VciBaseUtil.alertNotNull(btmName, "涓氬姟绫诲瀷缂栧彿");
+        List<OsBtmTypeAttributeVO> osBtms = new ArrayList<>();
+        //鏌ヨ绯荤粺榛樿灞炴��
+        Map<String, AttributeDef> collect = Arrays.stream(platformClientUtil.getBtmService().getSysAttributeDefs())
+                .collect(Collectors.toMap(str -> str.name, str -> str));
+        for (String attrName : platformClientUtil.getBtmService().getSysAttributeNames()) {
+            AttributeDef sysAttributeDef = collect.get(attrName.toLowerCase());
+            OsBtmTypeAttributeVO vo = new OsBtmTypeAttributeVO();
+            vo.setOid(sysAttributeDef.oid);
+            vo.setAttrDataType(sysAttributeDef.vtDataType);
+            vo.setPkBtmType(btmName);
+            vo.setCreateTime(new Date(sysAttributeDef.createTime));
+            vo.setCreator(sysAttributeDef.creator);
+            vo.setDefaultValue(sysAttributeDef.defValue);
+            vo.setDescription(sysAttributeDef.description);
+            vo.setRange(sysAttributeDef.rage);
+            vo.setId(attrName);
+            vo.setName(sysAttributeDef.label);
+            vo.setLastModifier(sysAttributeDef.modifier);
+            vo.setLastModifyTime(new Date(sysAttributeDef.modifyTime));
+            osBtms.add(vo);
+        }
+        //鏌ヨ涓氬姟绫诲瀷涓嬬殑灞炴��
+        AttributeDef[] attributeDefs = platformClientUtil.getBtmService().getAttributeDefs(btmName);
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        for (AttributeDef attribute : attributeDefs) {
+            OsBtmTypeAttributeVO vo = new OsBtmTypeAttributeVO();
+            vo.setOid(attribute.oid);
+            vo.setAttrDataType(attribute.vtDataType);
+            vo.setPkBtmType(btmName);
+            vo.setCreateTime(new Date(attribute.createTime));
+            vo.setCreator(attribute.creator);
+            vo.setDefaultValue(attribute.defValue);
+            vo.setDescription(attribute.description);
+            vo.setRange(attribute.rage);
+            vo.setId(attribute.name);
+            vo.setName(attribute.label);
+            vo.setTs(formatter.parse(attribute.ts));
+            vo.setLastModifier(attribute.modifier);
+            vo.setOwner(attribute.creator);
+            vo.setLastModifyTime(new Date(attribute.modifyTime));
+            String maxLength = AttributeConstants.getOtherValueByType(attribute.other, AttributeConstants.LENGTH);
+            if(StringUtils.isNotBlank(maxLength)){
+                vo.setAttributeLength(Integer.valueOf(maxLength));
+            }
+            osBtms.add(vo);
+        }
+        return osBtms;
+    }
 
     private List<Tree> getChildren(BizType[] bizTypes,BizType parentBIzType){
         List<Tree> trees= new ArrayList<>();

--
Gitblit v1.9.3