From 600c2ebb55b18d687ff848cb6c9d9a61b8bfa307 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 15 十一月 2024 17:52:48 +0800
Subject: [PATCH] 优化业务类型链接类型查询接口

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLinkTypeServiceImpl.java |   35 +++++++++++++++++++++++++++++++----
 1 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLinkTypeServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLinkTypeServiceImpl.java
index c9cf8d5..4604743 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLinkTypeServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLinkTypeServiceImpl.java
@@ -4,6 +4,7 @@
 import cn.hutool.core.util.ZipUtil;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.vci.common.qt.object.QTConstants;
 import com.vci.constant.FrameWorkLangCodeConstant;
 import com.vci.corba.common.PLException;
 import com.vci.corba.omd.atm.AttributeDef;
@@ -241,11 +242,12 @@
      * @return 閾炬帴绫诲瀷
      */
     @Override
-    public OsLinkTypeVO getLinkTypeById(String id) {
+    public OsLinkTypeVO getLinkTypeById(String id) throws PLException {
         if(StringUtils.isBlank(id)){
             return null;
         }
-        return self.selectAllLinkMap().getOrDefault(id.toLowerCase(),null);
+        LinkType linkType = platformClientUtil.getLinkTypeService().getLinkType(id);
+        return this.linkTypeDO2VO(linkType);
     }
 
     /**
@@ -255,7 +257,7 @@
      * @return 閾炬帴绫诲瀷鐨勫睘鎬�
      */
     @Override
-    public List<OsLinkTypeAttributeVO> listAttributeByLinkId(String linkTypeId) {
+    public List<OsLinkTypeAttributeVO> listAttributeByLinkId(String linkTypeId) throws PLException {
         OsLinkTypeVO linkTypeVO = getLinkTypeById(linkTypeId);
         return linkTypeVO.getAttributes();
     }
@@ -319,7 +321,7 @@
                     }
                     OsBtmTypeAttributeVO attributeVO = attributeVOMap.getOrDefault(attrId.toLowerCase(Locale.ROOT), null);
                     if(attributeVO!=null){
-                        String vtType = attributeVO.getAttrDataType();
+                        String vtType = attributeVO.getAttributeDataType();
                         String attrType = "";
                         VciFieldTypeEnum fieldTypeEnum = VciFieldTypeEnum.forValue(vtType);
                         if(fieldTypeEnum == null) {
@@ -752,6 +754,31 @@
         }
         return links;
     }
+    /**
+     * 鑾峰彇璁剧疆鎺掑簭瀛楁鐨勬帓搴忓瓧娈�
+     * @param linkType 閾炬帴绫诲瀷鐨勭紪鍙�
+     * @param btmType 涓氬姟绫诲瀷鐨勭紪鍙�
+     * @param direction 姝�/鍙嶅悜
+     * @return 灞炴�х殑淇℃伅
+     */
+    @Override
+    public List<String> getAllOrderbyAttributeByLink(String linkType, String btmType, String direction) throws PLException, ParseException {
+        List<String> abNames = new ArrayList<>(Arrays.asList("OID", "Creator", "CreateTime", "LastModifier", "LASTMODIFYTIME", "F_OID",
+                "F_REVISIONOID", "F_NAMEOID", "F_BtwName", "T_OID", "T_REVISIONOID", "T_NAMEOID", "T_BtwName", "TS" ));
+        AttributeDef[] attributes = platformClientUtil.getLinkTypeService().getAttributes(linkType);
+        for (AttributeDef attribute : attributes) {
+            abNames.add(String.valueOf(attribute.name));
+        }
+        String wrapper = "T_OID.";
+        if(direction.equals(QTConstants.DIRECTION_OPPOSITE)){
+            wrapper = "F_OID.";
+        }
+        List<OsBtmTypeAttributeVO> bizTypeQTDs = btmService.getBizTypeQTDs(btmType);
+        for (OsBtmTypeAttributeVO bizTypeQTD : bizTypeQTDs) {
+            abNames.add(wrapper + bizTypeQTD.getId());
+        }
+        return abNames;
+    }
 
     /**
      * 淇閾炬帴绫诲瀷鐨剎ml鏂囦欢

--
Gitblit v1.9.3