소스 검색

显示有值信息点时bug修复

linhuili 3 년 전
부모
커밋
343a73e755
1개의 변경된 파일17개의 추가작업 그리고 6개의 파일을 삭제
  1. 17 6
      src/main/java/com/persagy/proxy/dictionary/service/impl/AdmDictServiceImpl.java

+ 17 - 6
src/main/java/com/persagy/proxy/dictionary/service/impl/AdmDictServiceImpl.java

@@ -725,7 +725,7 @@ public class AdmDictServiceImpl<T> extends AbstractAdmDictBaseServiceImpl<T> imp
             log.info("此类型下无信息点:{}{}"+objType +","+classCode);
             return AdmResponse.success(new ArrayList<>());
         }
-        Map<String, AdmObjectInfo> admObjectInfoMap = admObjectInfos.stream().collect(Collectors.toMap(AdmObjectInfo::getCode, Function.identity()));
+        Map<String, AdmObjectInfo> admObjectInfoMap = admObjectInfos.stream().collect(Collectors.toMap(AdmObjectInfo::getCode, Function.identity(),(v1,v2) -> v2));
 
         //初始化待交付的信息点,id,name,localId,localName 无论是否有值默认展示,兼容历史逻辑
         List<AdmObjectInfo> deliveredInfos = new ArrayList<>();
@@ -761,10 +761,18 @@ public class AdmDictServiceImpl<T> extends AbstractAdmDictBaseServiceImpl<T> imp
         //增加过滤条件
         StringBuilder filters = new StringBuilder();
         if(StringUtils.isNotEmpty(request.getBuildingId())){
-            filters.append("buildingId = '"+ request.getBuildingId() +"';");
+            if("isNull".equals(request.getBuildingId())){
+                filters.append("buildingId isNull;");
+            }else {
+                filters.append("buildingId = '"+ request.getBuildingId() +"';");
+            }
         }
         if(StringUtils.isNotEmpty(request.getFloorId())){
-            filters.append("floorId = '"+ request.getFloorId() +"';");
+            if("isNull".equals(request.getFloorId())){
+                filters.append("floorId isNull;");
+            }else{
+                filters.append("floorId = '"+ request.getFloorId() +"';");
+            }
         }
         if(StringUtils.isNotEmpty(request.getClassCode())){
             filters.append("classCode = '"+ request.getClassCode() +"';");
@@ -941,7 +949,7 @@ public class AdmDictServiceImpl<T> extends AbstractAdmDictBaseServiceImpl<T> imp
     }
 
     /**
-     * 根据类型查询信息点
+     * 根据类型查询信息点(包含信息点是否可见,是否可编辑,是否为采集信息点)
      * @param context
      * @param objType
      * @param classCode
@@ -949,10 +957,13 @@ public class AdmDictServiceImpl<T> extends AbstractAdmDictBaseServiceImpl<T> imp
      * @return
      */
     private List<AdmObjectInfo> queryObjectInfoByType(InstanceUrlParam context,String objType,String classCode,Class<T> clazz){
-        AdmQueryCriteria queryCriteria = new AdmQueryCriteria();
+       /* AdmQueryCriteria queryCriteria = new AdmQueryCriteria();
         String filters ="classCode = '"+classCode+"'";
         queryCriteria.setFilters(filters);
-        AdmResponse admResponse = doQueryObjectInfo(context, queryCriteria, AdmDictConstant.CLASS_CODE, clazz);
+        AdmResponse admResponse = doQueryObjectInfo(context, queryCriteria, AdmDictConstant.CLASS_CODE, clazz);*/
+        AdmDictQueryCriteria request = new AdmDictQueryCriteria();
+        request.setType(classCode);
+        AdmResponse admResponse = query(context, request, AdmDictConstant.CLASS_CODE, clazz);
         return (List<AdmObjectInfo>) admResponse.getContent();
     }