فهرست منبع

平面图查询空间时,空间类型不展示问题修复

linhuili 3 سال پیش
والد
کامیت
e0d85e4103

+ 35 - 5
src/main/java/com/persagy/proxy/dictionary/service/impl/AdmPlanarServiceImpl.java

@@ -6,9 +6,13 @@ import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
 import com.persagy.dmp.digital.entity.ObjectRelation;
+import com.persagy.proxy.adm.request.AdmDictQueryCriteria;
 import com.persagy.proxy.adm.request.AdmQueryCriteria;
 import com.persagy.proxy.adm.service.IAdmRelationService;
 import com.persagy.proxy.adm.service.impl.AbstractAdmBaseServiceImpl;
+import com.persagy.proxy.dictionary.model.AdmDict;
+import com.persagy.proxy.dictionary.model.AdmObjectType;
+import com.persagy.proxy.dictionary.service.IAdmDictService;
 import com.persagy.proxy.object.model.AdmEquipment;
 import com.persagy.proxy.dictionary.model.AdmPlanarEquipRequests;
 import com.persagy.proxy.object.model.AdmSpace;
@@ -23,10 +27,7 @@ import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 /**
  * @ClassName AdmPlanarServiceImpl
@@ -48,6 +49,9 @@ public class AdmPlanarServiceImpl extends AbstractAdmBaseServiceImpl<T> implemen
     @Autowired
     private IAdmRelationService relationService;
 
+    @Autowired
+    private IAdmDictService dictService;
+
     /**
      * 查询平面图设备信息
      * @param context
@@ -208,7 +212,33 @@ public class AdmPlanarServiceImpl extends AbstractAdmBaseServiceImpl<T> implemen
             //根据空间功能类型等过滤空间信息
             spaces = queryDmpSpace(context, requests, AdmSpace.class);
         }*/
-        return queryAdmSpace(context, requests, clazz);
+        //查询空间类型
+        AdmDict dictCriteria = new AdmDict();
+        dictCriteria.setType("space");
+        AdmResponse dictResponse = dictService.queryCategory(context, dictCriteria,AdmObjectType.class);
+        List<AdmObjectType> objectTypeList = (List<AdmObjectType>)dictResponse.getContent();
+        Map<String,String> objectTypeMap = new HashMap<>();
+        if(CollUtil.isNotEmpty(objectTypeList)){
+           objectTypeMap = objectTypeList.stream().collect(Collectors.toMap(AdmObjectType::getCode,AdmObjectType::getName));
+        }
+        //查询空间信息
+        AdmResponse admResponse = queryAdmSpace(context, requests, clazz);
+
+        //结果集处理,设置空间类型名称字段
+        List<AdmSpace> content = (List<AdmSpace>)admResponse.getContent();
+        if(CollUtil.isEmpty(content)){
+            return admResponse;
+        }
+        for (AdmSpace admSpace : content) {
+            if(CollUtil.isEmpty(objectTypeMap)){
+                continue;
+            }
+            if(StringUtils.isNotEmpty(admSpace.getClassCode())){
+                admSpace.setCodeName(objectTypeMap.get(admSpace.getClassCode()));
+            }
+        }
+        admResponse.setContent(content);
+        return admResponse;
     }
 
     /**

+ 4 - 0
src/main/java/com/persagy/proxy/object/model/AdmSpace.java

@@ -8,6 +8,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 /**
@@ -92,6 +93,9 @@ public class AdmSpace extends AdmBaseEntity<AdmSpace> {
     /** 对象类型code */
     private String classCode;
 
+    /** 类型名称 */
+    private String codeName;
+
     /** 二维码图片 */
     private ArrayNode qrcodePic;
     /** BIM模型中坐标 */