瀏覽代碼

Merge remote-tracking branch 'origin/develop' into develop

lijie 3 年之前
父節點
當前提交
603f9ef5b8

+ 11 - 1
src/main/java/com/persagy/proxy/adm/request/AdmResponse.java

@@ -49,7 +49,17 @@ public class AdmResponse {
     }
 
     public static AdmResponse success(List<?> content) {
-        return new AdmResponse(SUCCESS, "", CollUtil.isEmpty(content) ? 0L :content.size()*1L,null, 1, 500, CollUtil.isEmpty(content) ? new ArrayList<>(1): content,null,null);
+        return new AdmResponse(SUCCESS, "", CollUtil.isEmpty(content) ? 0L :content.size()*1L,null, 1, 50, CollUtil.isEmpty(content) ? new ArrayList<>(1): content,null,null);
+    }
+    public static AdmResponse success(List<?> content, AdmQueryCriteria request) {
+        int pagesize = 50;
+        if(request!= null && request.getPageNumber() != null && request.getPageNumber() > 0)
+            pagesize = request.getPageNumber();
+        int pageNum = 1;
+        if(request!= null && request.getPageSize() != null && request.getPageSize() > 0){
+            pageNum = request.getPageSize();
+        }
+        return new AdmResponse(SUCCESS, "", CollUtil.isEmpty(content) ? 0L :content.size()*1L,CollUtil.isEmpty(content) ? 0L :content.size()*1L, pageNum, pagesize, CollUtil.isEmpty(content) ? new ArrayList<>(1): content,null,null);
     }
     public static AdmResponse success(String message) {
         return new AdmResponse(SUCCESS, message, null,null, null,null,null,null,null);

+ 18 - 2
src/main/java/com/persagy/proxy/dictionary/service/impl/AdmDictServiceImpl.java

@@ -161,13 +161,29 @@ public class AdmDictServiceImpl<T> extends AbstractAdmDictBaseServiceImpl<T> imp
         for (AdmObjectType major : allMajor) {
             //设置专业
             if(CollUtil.isNotEmpty(majorSystemMap)){
+                if("system".equals(major) || "equipment".equals(major)){
+                    continue;
+                }
                 //专业下的系统
                 List<AdmObjectType> systemCodes = majorSystemMap.get(major.getCode());
-                major.setChildren(systemCodes);
+                if(CollUtil.isEmpty(systemCodes)){
+                    major.setChildren(new ArrayList<>());
+                }else{
+                    major.setChildren(systemCodes);
+                }
+                
                 //系统下的设备类
                 if(CollUtil.isNotEmpty(systemEquipMap) && CollUtil.isNotEmpty(systemCodes)){
                     for (AdmObjectType systemType : systemCodes) {
-                        systemType.setChildren(systemEquipMap.get(systemType.getCode()));
+                        if("system".equals(systemType) || "equipment".equals(systemType)){
+                            continue;
+                        }
+                        List<AdmObjectType> systems = systemEquipMap.get(systemType.getCode());
+                        if(CollUtil.isEmpty(systems)){
+                            systemType.setChildren(new ArrayList<>());
+                        }else {
+                            systemType.setChildren(systemEquipMap.get(systemType.getCode()));
+                        }
                     }
                 }
             }

+ 40 - 7
src/main/java/com/persagy/proxy/dictionary/service/impl/AdmModelRelServiceImpl.java

@@ -62,7 +62,7 @@ public class AdmModelRelServiceImpl extends AbstractAdmBaseServiceImpl<AdmModelR
      */
     @Override
     public List<AdmModelRel> doUpdateModelInfo(InstanceUrlParam context, Class<AdmModelRel> clazz, AdmModelRel vo) throws Exception{
-
+        log.info("模型修改设备元空间参数{},{}"+context,vo);
         //1.查询模型文件是否有楼层在使用
         AdmModelRel floorCriteria = new AdmModelRel();
         floorCriteria.setModelId(vo.getModelId());
@@ -75,6 +75,7 @@ public class AdmModelRelServiceImpl extends AbstractAdmBaseServiceImpl<AdmModelR
                 relationProjectCals.forEach(item->{
                     item.setComputationalState(2);
                 });
+                log.info("修改设备计算状态{},{}"+context,relationProjectCals);
                 iAdmObjectRelationCalService.updateObjectCalRel(context,relationProjectCals);
             }
         }
@@ -145,8 +146,18 @@ public class AdmModelRelServiceImpl extends AbstractAdmBaseServiceImpl<AdmModelR
 
         //查询模型下的设备信息
         AdmQueryCriteria criteria = new AdmQueryCriteria();
-        criteria.setFilters("bimId = '"+modelRel.getBimId()+"'");
-        criteria.setFilters("floorId = '"+modelRel.getFloorId()+"'");
+        StringBuilder filters = new StringBuilder();
+        if(StringUtils.isNotEmpty(modelRel.getBimId())){
+            filters.append("bimId contain '"+modelRel.getBimId()+"%'");
+        }
+        /*if(StringUtils.isNotEmpty(modelRel.getFloorId())){
+            if(filters != null && filters.length()>0){
+                filters.append(" ; ");
+            }
+            filters.append("floorId = '"+modelRel.getFloorId()+"'");
+        }*/
+        criteria.setFilters(filters.toString());
+        criteria.setName("equipment");
         AdmResponse admResponse = equipmentService.query(criteria);
         List<AdmEquipment> content = (List<AdmEquipment>) admResponse.getContent();
         if(CollUtil.isEmpty(content)){
@@ -169,8 +180,18 @@ public class AdmModelRelServiceImpl extends AbstractAdmBaseServiceImpl<AdmModelR
 
         //查询模型下的元空间信息
         AdmQueryCriteria criteria = new AdmQueryCriteria();
-        criteria.setFilters("bimId = '"+modelRel.getBimId()+"'");
-        criteria.setFilters("floorId = '"+modelRel.getFloorId()+"'");
+        StringBuilder filters = new StringBuilder();
+        if(StringUtils.isNotEmpty(modelRel.getBimId())){
+            filters.append("bimId contain '"+modelRel.getBimId()+"%'");
+        }
+        /*if(StringUtils.isNotEmpty(modelRel.getFloorId())){
+            if(filters != null && filters.length()>0){
+                filters.append(" ; ");
+            }
+            filters.append("floorId = '"+modelRel.getFloorId()+"'");
+        }*/
+        criteria.setName("ispace");
+        criteria.setFilters(filters.toString());
         AdmResponse admResponse = iSpaceService.doQuery(context, criteria, AdmISpace.class);
         List<AdmISpace> content = (List<AdmISpace>) admResponse.getContent();
         if(CollUtil.isEmpty(content)){
@@ -308,6 +329,7 @@ public class AdmModelRelServiceImpl extends AbstractAdmBaseServiceImpl<AdmModelR
     private List<AdmEquipment> queryEquipmentByBimId(InstanceUrlParam context, AdmModelRel vo){
         AdmQueryCriteria criteria = new AdmQueryCriteria();
         criteria.setFilters("bimId = '"+vo.getOldBimId()+"'");
+        criteria.setName("equipment");
         AdmResponse admResponse = equipmentService.query(criteria);
         return (List<AdmEquipment>)admResponse.getContent();
     }
@@ -319,6 +341,7 @@ public class AdmModelRelServiceImpl extends AbstractAdmBaseServiceImpl<AdmModelR
     private List<AdmISpace> queryIspaceByBimId(InstanceUrlParam context, AdmModelRel vo){
         AdmQueryCriteria criteria = new AdmQueryCriteria();
         criteria.setFilters("bimId = '"+vo.getOldBimId()+"'");
+        criteria.setName("ispace");
         AdmResponse admResponse = iSpaceService.doQuery(context, criteria, AdmISpace.class);
         return (List<AdmISpace>)admResponse.getContent();
     }
@@ -328,14 +351,24 @@ public class AdmModelRelServiceImpl extends AbstractAdmBaseServiceImpl<AdmModelR
      * 查询模型文件是否有楼层在使用
      */
     private List<AdmFloor> queryFloorEntity(InstanceUrlParam context, AdmModelRel vo){
+        if(StringUtils.isEmpty(vo.getModelId()) && StringUtils.isEmpty(vo.getFloorId())){
+            return new ArrayList<>();
+        }
         AdmQueryCriteria criteria = new AdmQueryCriteria();
+
+        StringBuilder filters = new StringBuilder();
         if(StringUtils.isNotEmpty(vo.getModelId())){
-            criteria.setFilters("modelId = '"+vo.getModelId()+"'");
+            filters.append("modelId = '"+vo.getModelId()+"'");
         }
         if(StringUtils.isNotEmpty(vo.getFloorId())){
-            criteria.setFilters("id = '"+vo.getFloorId()+"'");
+            if(filters != null && filters.length()>0){
+                filters.append(" ; ");
+            }
+            filters.append("id = '"+vo.getFloorId()+"'");
         }
+        criteria.setFilters(filters.toString());
         criteria.setName("floor");
+        log.info("查询模型文件是否有楼层在使用入参:{},{}"+context,criteria);
         AdmResponse admResponse = floorService.doQuery(context, criteria, AdmFloor.class);
         return (List<AdmFloor>)admResponse.getContent();
     }

+ 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;
     }
 
     /**

+ 23 - 41
src/main/java/com/persagy/proxy/object/controller/AdmEquipmentController.java

@@ -1,36 +1,12 @@
 package com.persagy.proxy.object.controller;
 
-import java.awt.Color;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.poi.ss.usermodel.CellType;
-import org.apache.poi.ss.usermodel.FillPatternType;
-import org.apache.poi.xssf.usermodel.XSSFCell;
-import org.apache.poi.xssf.usermodel.XSSFCellStyle;
-import org.apache.poi.xssf.usermodel.XSSFColor;
-import org.apache.poi.xssf.usermodel.XSSFRow;
-import org.apache.poi.xssf.usermodel.XSSFSheet;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.map.MapUtil;
+import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
@@ -66,15 +42,21 @@ import com.persagy.proxy.dictionary.service.IAdmDictService;
 import com.persagy.proxy.object.model.AdmEquipment;
 import com.persagy.proxy.object.service.IAdmEquipmentService;
 import com.persagy.proxy.report.service.IRelationReportService;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.map.MapUtil;
-import cn.hutool.core.util.IdUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.usermodel.CellType;
+import org.apache.poi.ss.usermodel.FillPatternType;
+import org.apache.poi.xssf.usermodel.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.awt.*;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.List;
+import java.util.*;
 
 /**
  * Adm 楼层 API
@@ -293,7 +275,7 @@ public class AdmEquipmentController {
 	public AdmResponse query(@RequestBody AdmQueryCriteria request) throws Exception {
 		// 组装上下文条件
 		request.setName(AdmEquipment.OBJ_TYPE);
-		if(CollUtil.isEmpty(request.getCascade()) && CollUtil.isNotEmpty(request.getProjection()) && request.getDistinct() && request.getProjection().size() == 1 && request.getProjection().get(0).equals("classCode")) {
+		if(CollUtil.isEmpty(request.getCascade()) && CollUtil.isNotEmpty(request.getProjection()) && request.getDistinct() != null && request.getDistinct() && request.getProjection().size() == 1 && request.getProjection().get(0).equals("classCode")) {
 			/** 特殊处理
 			 * distinct: true
 			 * pageNumber: 1
@@ -312,7 +294,7 @@ public class AdmEquipmentController {
 			}else{
 				List<AdmEquipment> admEquipments = JSONUtil.toList(result.getData().toString(), AdmEquipment.class);
 				service.ensureSpecialValues(AdmContextUtil.toDmpContext(), admEquipments);
-				return AdmResponse.success(admEquipments);
+				return AdmResponse.success(admEquipments, request);
 			}
 		}else{
 			return service.query(request);

+ 5 - 5
src/main/java/com/persagy/proxy/object/controller/AdmFloorController.java

@@ -136,17 +136,17 @@ public class AdmFloorController {
 
         admQueryCriteria.setName(AdmSpace.OBJ_TYPE);
         AdmResponse admResponseSpace = spaceService.query(admQueryCriteria);
-        if(admResponseSpace.getResult().equals(DmpResult.SUCCESS) && CollUtil.isNotEmpty(admResponseSpace.getContent())){
+        if(admResponseSpace.getResult().equals(DmpResult.SUCCESS) && admResponseSpace.getCount() > 0){
             return AdmResponse.failure(msg);
         }
         admQueryCriteria.setName(AdmISpace.OBJ_TYPE);
         AdmResponse admResponseISpace = iAdmISpaceService.doQuery(AdmContextUtil.toDmpContext(), admQueryCriteria, AdmISpace.class);
-        if(admResponseISpace.getResult().equals(DmpResult.SUCCESS) && CollUtil.isNotEmpty(admResponseISpace.getContent())){
+        if(admResponseISpace.getResult().equals(DmpResult.SUCCESS) && admResponseISpace.getCount() > 0){
             return AdmResponse.failure(msg);
         }
         admQueryCriteria.setName(AdmEquipment.OBJ_TYPE);
         AdmResponse admResponseEuip = equipmentService.query(admQueryCriteria);
-        if(admResponseEuip.getResult().equals(DmpResult.SUCCESS) && CollUtil.isNotEmpty(admResponseEuip.getContent())){
+        if(admResponseEuip.getResult().equals(DmpResult.SUCCESS) && admResponseEuip.getCount() > 0){
             return AdmResponse.failure(msg);
         }
         service.doDelete(AdmContextUtil.toDmpContext(), vos);
@@ -161,8 +161,8 @@ public class AdmFloorController {
      */
     @PostMapping("/single/delete")
     public AdmResponse deleteSingle( @RequestBody List<AdmFloor> vos) throws Exception {
-       delete(vos);
-       return AdmResponse.success();
+
+       return delete(vos);
     }
 
     /**

+ 1 - 1
src/main/java/com/persagy/proxy/object/controller/AdmShaftController.java

@@ -383,7 +383,7 @@ public class AdmShaftController {
         List<ObjectNode> spaceList = DigitalObjectFacade.query(AdmContextUtil.toDmpContext().getGroupCode(), AdmContextUtil.toDmpContext().getProjectId(), AdmContextUtil.toDmpContext().getAppId(), null, queryCriteria);
         if(CollUtil.isNotEmpty(spaceList)){
             List<AdmSpace> vos = JSONUtil.toList(spaceList.toString(), AdmSpace.class);
-            return AdmResponse.success(spaceList);
+            return AdmResponse.success(spaceList, request);
         }else{
             return AdmResponse.success();
         }

+ 13 - 23
src/main/java/com/persagy/proxy/object/controller/AdmSystemController.java

@@ -3,8 +3,6 @@ package com.persagy.proxy.object.controller;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -23,14 +21,13 @@ import com.persagy.proxy.adm.request.AdmQueryCriteria;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
 import com.persagy.proxy.adm.utils.AdmContextUtil;
-import com.persagy.proxy.adm.utils.AdmEntityTransferUtil;
 import com.persagy.proxy.adm.utils.AdmQueryCriteriaHelper;
 import com.persagy.proxy.adm.utils.ObjectNameUtil;
-import com.persagy.proxy.common.entity.DmpResult;
 import com.persagy.proxy.common.entity.RelationDTO;
-import com.persagy.proxy.object.model.*;
-import com.persagy.proxy.object.service.IAdmBuildingService;
-import com.persagy.proxy.object.service.IAdmFloorService;
+import com.persagy.proxy.object.model.AdmEquipment;
+import com.persagy.proxy.object.model.AdmShaft;
+import com.persagy.proxy.object.model.AdmSpace;
+import com.persagy.proxy.object.model.AdmSystem;
 import com.persagy.proxy.object.service.IAdmSystemService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -38,7 +35,9 @@ import org.springframework.web.bind.annotation.*;
 import javax.json.JsonObject;
 import javax.validation.constraints.NotNull;
 import javax.ws.rs.QueryParam;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Adm 系统 API
@@ -223,16 +222,7 @@ public class AdmSystemController {
             }
             List<AdmSystem> admSystemList = JSONUtil.toList(result.getData().toString(), AdmSystem.class);
             service.ensureSpecialValues(AdmContextUtil.toDmpContext(), admSystemList);
-            AdmResponse response = AdmResponse.success(admSystemList);
-            Long total = result.getCount() == null ? null : result.getCount().longValue();
-            if(request.isOnlyCount()){
-                response.setTotal(null);
-                response.setCount(total);
-            }else {
-                response.setTotal(total);
-            }
-            response.setPageNumber(request.getPageNumber());
-            response.setPageSize(request.getPageSize());
+            AdmResponse response = AdmResponse.success(admSystemList,request);
             return response;
         }else {
             return service.query(request);
@@ -295,7 +285,7 @@ public class AdmSystemController {
         request.setName(AdmEquipment.OBJ_TYPE);
         QueryCriteria queryCriteriaObj = AdmQueryCriteriaHelper.toDmpCriteria(request);
         List<ObjectNode> obj = DigitalObjectFacade.query(AdmContextUtil.toDmpContext().getGroupCode(),AdmContextUtil.toDmpContext().getProjectId(), AdmContextUtil.toDmpContext().getAppId(), null, queryCriteriaObj);
-        return AdmResponse.success(obj);
+        return AdmResponse.success(obj,request);
     }
 
 
@@ -319,7 +309,7 @@ public class AdmSystemController {
         request.setName(AdmShaft.OBJ_TYPE);
         QueryCriteria queryCriteriaObj = AdmQueryCriteriaHelper.toDmpCriteria(request);
         List<ObjectNode> obj = DigitalObjectFacade.query(AdmContextUtil.toDmpContext().getGroupCode(),AdmContextUtil.toDmpContext().getProjectId(), AdmContextUtil.toDmpContext().getAppId(), null, queryCriteriaObj);
-        return AdmResponse.success(obj);
+        return AdmResponse.success(obj,request);
     }
 
 
@@ -342,7 +332,7 @@ public class AdmSystemController {
         request.setName(AdmSpace.OBJ_TYPE);
         QueryCriteria queryCriteriaObj = AdmQueryCriteriaHelper.toDmpCriteria(request);
         List<ObjectNode> obj = DigitalObjectFacade.query(AdmContextUtil.toDmpContext().getGroupCode(),AdmContextUtil.toDmpContext().getProjectId(), AdmContextUtil.toDmpContext().getAppId(), null, queryCriteriaObj);
-        return AdmResponse.success(obj);
+        return AdmResponse.success(obj,request);
     }
 
 
@@ -354,7 +344,7 @@ public class AdmSystemController {
      * @throws Exception
      */
     @PostMapping("/unspace-sys")
-    public AdmResponse queryUnSpSy(  @QueryParam("type") String type, @QueryParam("spaceId") String spaceId,
+    public AdmResponse queryUnSpSy(@QueryParam("type") String type, @QueryParam("spaceId") String spaceId,
                                      @RequestBody AdmQueryCriteria request) throws Exception {
         if(StrUtil.isNotEmpty(type)){
             if(StrUtil.isBlank(request.getFilters())){
@@ -373,7 +363,7 @@ public class AdmSystemController {
         request.setName(AdmSystem.OBJ_TYPE);
         QueryCriteria queryCriteriaObj = AdmQueryCriteriaHelper.toDmpCriteria(request);
         List<ObjectNode> obj = DigitalObjectFacade.query(AdmContextUtil.toDmpContext().getGroupCode(),AdmContextUtil.toDmpContext().getProjectId(), AdmContextUtil.toDmpContext().getAppId(), null, queryCriteriaObj);
-        return AdmResponse.success(obj);
+        return AdmResponse.success(obj,request);
     }
 
 }

+ 1 - 1
src/main/java/com/persagy/proxy/object/model/AdmEquipment.java

@@ -96,7 +96,7 @@ public class AdmEquipment extends AdmBaseEntity<AdmEquipment> {
     /** 模型id */
     private String modelId;
     /** 贴码状态 */
-    private Integer codeType;
+    private Integer codeType  = 1;
     /** 备注 */
     private String note;
 

+ 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模型中坐标 */

+ 18 - 12
src/main/java/com/persagy/proxy/object/service/impl/AdmEquipmentServiceImpl.java

@@ -168,17 +168,19 @@ public class AdmEquipmentServiceImpl extends AbstractAdmBaseServiceImpl<AdmEquip
             return;
         }
         if (criteria.has("floorId")){
-            // 有建筑id过滤
-            ObjectMapper objectMapper = SpringHelper.getBean(ObjectMapper.class);
-            ObjectNode relationFrom = objectMapper.createObjectNode();
-            relationFrom.put("graphCode", GraphCodeEnum.MechInArch.name());
-            relationFrom.put("relCode", RelCodeEnum.Eq2Fl.name());
-            relationFrom.set("objTo",criteria.get("floorId"));
-            criteria.set("relationFrom",relationFrom);
-            criteria.remove("floorId");
-            if (criteria.has("buildingId"))
-                criteria.remove("buildingId");
-            return;
+            // 有楼层id过滤
+            if(!criteria.get("floorId").toString().contains("$null")){
+                ObjectMapper objectMapper = SpringHelper.getBean(ObjectMapper.class);
+                ObjectNode relationFrom = objectMapper.createObjectNode();
+                relationFrom.put("graphCode", GraphCodeEnum.MechInArch.name());
+                relationFrom.put("relCode", RelCodeEnum.Eq2Fl.name());
+                relationFrom.set("objTo",criteria.get("floorId"));
+                criteria.set("relationFrom",relationFrom);
+                criteria.remove("floorId");
+                if (criteria.has("buildingId"))
+                    criteria.remove("buildingId");
+                return;
+            }
         }
         if (criteria.has("buildingId")){
             // 有建筑id过滤
@@ -186,7 +188,11 @@ public class AdmEquipmentServiceImpl extends AbstractAdmBaseServiceImpl<AdmEquip
             ObjectNode relationFrom = objectMapper.createObjectNode();
             relationFrom.put("graphCode", GraphCodeEnum.MechInArch.name());
             relationFrom.put("relCode", RelCodeEnum.Eq2Bd.name());
-            relationFrom.set("objTo",criteria.get("buildingId"));
+            if(!criteria.get("buildingId").toString().contains("$null")) {
+                relationFrom.set("objTo", criteria.get("buildingId"));
+            }else{
+                relationFrom.put("$bindFlag", false);
+            }
             criteria.set("relationFrom",relationFrom);
             criteria.remove("buildingId");
         }

+ 5 - 1
src/main/java/com/persagy/proxy/object/service/impl/AdmShaftServiceImpl.java

@@ -68,7 +68,11 @@ public class AdmShaftServiceImpl extends AbstractAdmBaseServiceImpl<AdmShaft> im
             ObjectNode relationTo = objectMapper.createObjectNode();
             relationTo.put("graphCode", GraphCodeEnum.ArchSubset.name());
             relationTo.put("relCode", RelCodeEnum.Bd2Sh.name());
-            relationTo.set("objFrom",criteria.get("buildingId"));
+            if(!criteria.get("buildingId").toString().contains("$null")) {
+                relationTo.set("objFrom",criteria.get("buildingId"));
+            }else{
+                relationTo.put("$bindFlag", false);
+            }
             criteria.set("relationTo",relationTo);
             criteria.remove("buildingId");
         }

+ 18 - 12
src/main/java/com/persagy/proxy/object/service/impl/AdmSpaceServiceImpl.java

@@ -116,7 +116,7 @@ public class AdmSpaceServiceImpl extends AbstractAdmBaseServiceImpl<AdmSpace> im
             //根据classCode floorId 查询查询实际存在的空间
             assembleDefineTypes(context, defineList, request.getFloorId());
             // 设置返回值
-            AdmResponse response = AdmResponse.success(defineList);
+            AdmResponse response = AdmResponse.success(defineList, request);
             Long total = resultDef.getCount() == null ? null : resultDef.getCount().longValue();
             response.setTotal(total);
             return response;
@@ -382,23 +382,29 @@ public class AdmSpaceServiceImpl extends AbstractAdmBaseServiceImpl<AdmSpace> im
         
         ObjectMapper objectMapper = SpringHelper.getBean(ObjectMapper.class);
         if (criteria.has("floorId")){
-            // 有建筑id过滤
-            ObjectNode relationTo = objectMapper.createObjectNode();
-            relationTo.put("graphCode", GraphCodeEnum.ArchSubset.name());
-            relationTo.put("relCode", RelCodeEnum.Fl2Sp.name());
-            relationTo.set("objFrom",criteria.get("floorId"));
-            criteria.set("relationTo",relationTo);
-            criteria.remove("floorId");
-            if (criteria.has("buildingId"))
-                criteria.remove("buildingId");
-            return;
+            // 有楼层id过滤
+            if(!criteria.get("floorId").toString().contains("$null")) {
+                ObjectNode relationTo = objectMapper.createObjectNode();
+                relationTo.put("graphCode", GraphCodeEnum.ArchSubset.name());
+                relationTo.put("relCode", RelCodeEnum.Fl2Sp.name());
+                relationTo.set("objFrom", criteria.get("floorId"));
+                criteria.set("relationTo", relationTo);
+                criteria.remove("floorId");
+                if (criteria.has("buildingId"))
+                    criteria.remove("buildingId");
+                return;
+            }
         }
         if (criteria.has("buildingId")){
             // 有建筑id过滤
             ObjectNode relationTo = objectMapper.createObjectNode();
             relationTo.put("graphCode", GraphCodeEnum.ArchSubset.name());
             relationTo.put("relCode", RelCodeEnum.Bd2Sp.name());
-            relationTo.set("objFrom",criteria.get("buildingId"));
+            if(!criteria.get("buildingId").toString().contains("$null")) {
+                relationTo.set("objFrom",criteria.get("buildingId"));
+            }else{
+                relationTo.put("$bindFlag", false);
+            }
             criteria.set("relationTo",relationTo);
             criteria.remove("buildingId");
         }

+ 18 - 14
src/main/java/com/persagy/proxy/object/service/impl/AdmSystemServiceImpl.java

@@ -3,7 +3,6 @@ package com.persagy.proxy.object.service.impl;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
@@ -32,7 +31,6 @@ import com.persagy.proxy.object.service.IAdmFloorService;
 import com.persagy.proxy.object.service.IAdmSystemService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -113,17 +111,19 @@ public class AdmSystemServiceImpl extends AbstractAdmBaseServiceImpl<AdmSystem>
             return;
         }
         if (criteria.has("floorId")){
-            // 有建筑id过滤
-            ObjectMapper objectMapper = SpringHelper.getBean(ObjectMapper.class);
-            ObjectNode relationFrom = objectMapper.createObjectNode();
-            relationFrom.put("graphCode", GraphCodeEnum.MechInArch.name());
-            relationFrom.put("relCode", RelCodeEnum.Sy2Fl.name());
-            relationFrom.set("objTo",criteria.get("floorId"));
-            criteria.set("relationFrom",relationFrom);
-            criteria.remove("floorId");
-            if (criteria.has("buildingId"))
-                criteria.remove("buildingId");
-            return;
+            // 有楼层id过滤
+            if(!criteria.get("floorId").toString().contains("$null")){
+                ObjectMapper objectMapper = SpringHelper.getBean(ObjectMapper.class);
+                ObjectNode relationFrom = objectMapper.createObjectNode();
+                relationFrom.put("graphCode", GraphCodeEnum.MechInArch.name());
+                relationFrom.put("relCode", RelCodeEnum.Sy2Fl.name());
+                relationFrom.set("objTo",criteria.get("floorId"));
+                criteria.set("relationFrom",relationFrom);
+                criteria.remove("floorId");
+                if (criteria.has("buildingId"))
+                    criteria.remove("buildingId");
+                return;
+            }
         }
         if (criteria.has("buildingId")){
             // 有建筑id过滤
@@ -131,7 +131,11 @@ public class AdmSystemServiceImpl extends AbstractAdmBaseServiceImpl<AdmSystem>
             ObjectNode relationFrom = objectMapper.createObjectNode();
             relationFrom.put("graphCode", GraphCodeEnum.MechInArch.name());
             relationFrom.put("relCode", RelCodeEnum.Sy2Bd.name());
-            relationFrom.set("objTo",criteria.get("buildingId"));
+            if(!criteria.get("buildingId").toString().contains("$null")) {
+                relationFrom.set("objTo", criteria.get("buildingId"));
+            }else{
+                relationFrom.put("$bindFlag", false);
+            }
             criteria.set("relationFrom",relationFrom);
             criteria.remove("buildingId");
         }

+ 3 - 1
src/main/java/com/persagy/proxy/report/controller/AdmReportEquipController.java

@@ -122,7 +122,9 @@ public class AdmReportEquipController {
         }else{
             equipmentList = new ArrayList<>();
         }
-        return AdmResponse.success(equipmentList);
+        AdmResponse response = AdmResponse.success(equipmentList, request);
+        response.setTotal(admResponse.getTotal());
+        return response;
     }
 
     /**

+ 4 - 4
src/main/java/com/persagy/proxy/report/controller/AdmSpaceInfoController.java

@@ -10,7 +10,6 @@ import com.persagy.proxy.adm.request.AdmDCSQueryRequest;
 import com.persagy.proxy.adm.request.AdmQueryCriteria;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.utils.AdmContextUtil;
-import com.persagy.proxy.adm.utils.GeoToolsUtil;
 import com.persagy.proxy.object.model.AdmEquipment;
 import com.persagy.proxy.object.model.AdmFloor;
 import com.persagy.proxy.object.model.AdmISpace;
@@ -127,7 +126,7 @@ public class AdmSpaceInfoController {
 	}
 
 	/**
-	 * 未关联业务空间的元空间  si2sp
+	 * 未关联业务空间的元空间  Sp2Si
 	 */
 	@PostMapping("/unspace-ispace")
 	public AdmResponse unSpaceIspace(@QueryParam("objectType") String objectType, @RequestBody AdmDCSQueryRequest request) {
@@ -143,7 +142,7 @@ public class AdmSpaceInfoController {
 
 		request.setName(AdmISpace.OBJ_TYPE);
 		// 设置关系条件
-		request.resetRelationCond(true, null, "Si2Sp", objectType, null, false);
+		request.resetRelationCond(false, null, "Sp2Si", objectType, null, false);
 		StringBuilder sb = new StringBuilder();
 		// 补充filter条件
 		if(StrUtil.isNotBlank(request.getFilters())) {
@@ -171,9 +170,10 @@ public class AdmSpaceInfoController {
 //					iSpaceList.add(iSpace);
 //				}
 			}
-			AdmResponse admResponse = AdmResponse.success(iSpaceList);
+			AdmResponse admResponse = AdmResponse.success(iSpaceList,request);
 			admResponse.setFloorId(request.getFloorId());
 			admResponse.setZoneType(objectType);
+			admResponse.setTotal(responseIspace.getTotal());
 			return admResponse;
 		}else{
 			responseIspace.setFloorId(request.getFloorId());