Browse Source

fix : 创建空间500

lvxianyun 3 years ago
parent
commit
2afe5bc4b1

+ 19 - 6
src/main/java/com/persagy/proxy/object/controller/AdmSpaceController.java

@@ -2,7 +2,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.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
@@ -279,20 +278,23 @@ public class AdmSpaceController {
                 if(id.startsWith("Fl") && StrUtil.isNotEmpty(spaceId)){
                     AdmQueryCriteria admQueryCriteria = new AdmQueryCriteria();
                     admQueryCriteria.setName(AdmFloor.OBJ_TYPE);
+                    admQueryCriteria.setFilters("id = '"+id+"'");
                     AdmResponse admResponseFl = floorService.doQuery( AdmContextUtil.toDmpContext(), admQueryCriteria, AdmFloor.class);
                     if(CollUtil.isNotEmpty(admResponseFl.getContent())){
-                        AdmFloor floor = JSONUtil.toBean(admResponseFl.getContent().get(0).toString(), AdmFloor.class);
+                        AdmFloor floor = (AdmFloor) admResponseFl.getContent().get(0);
                         if (floor!=null){
                             //更新关系
                             RelationDTO rBd_up = new RelationDTO();
                             rBd_up.setObjTo(spaceId);
                             rBd_up.setRelCode("Bd2Sp");
+                            rBd_up.setGraphCode("ArchSubset");
                             rBd_up.setObjFrom(floor.getBuildingId());
                             RSpInBd_up.add(rBd_up);
 
                             RelationDTO rFl_up = new RelationDTO();
                             rFl_up.setObjTo(spaceId);
                             rFl_up.setRelCode("Fl2Sp");
+                            rFl_up.setGraphCode("ArchSubset");
                             rFl_up.setObjFrom(floor.getId());
                             RSpInFl_up.add(rFl_up);
 
@@ -300,7 +302,6 @@ public class AdmSpaceController {
                             AdmSpace space = new AdmSpace();
                             space.setId(spaceId);
                             space.setObjectType(AdmSpace.OBJ_TYPE);
-                            space.setZoneType(type);
                             space.setClassCode(type);
                             space.setBuildingId(floor.getBuildingId());
                             space.setFloorId(floor.getId());
@@ -309,9 +310,20 @@ public class AdmSpaceController {
                     }
                 }else if(id.startsWith("Bd")){
                     //更新关系
+
+                    QueryCriteria criteria = new QueryCriteria();
+                    ObjectNode node = JsonNodeFactory.instance.objectNode();
+                    //删除关系 然后重建
+                    node.put("relCode", "Bd2Sp");
+                    node.put("objTo", "spaceId");
+                    node.put("graphCode", "ArchSubset");
+                    criteria.setCriteria(node);
+                    relationService.doDelete(AdmContextUtil.toDmpContext(), criteria);
+
                     RelationDTO rBd_up = new RelationDTO();
                     rBd_up.setObjTo(spaceId);
                     rBd_up.setRelCode("Bd2Sp");
+                    rBd_up.setGraphCode("ArchSubset");
                     rBd_up.setObjFrom(id);
                     RSpInBd_up.add(rBd_up);
 
@@ -319,10 +331,11 @@ public class AdmSpaceController {
                     AdmSpace space = new AdmSpace();
                     space.setId(spaceId);
                     space.setObjectType(AdmSpace.OBJ_TYPE);
-                    space.setZoneType(type);
                     space.setClassCode(type);
                     space.setBuildingId(id);
-                    space.setFloorId(null);
+                    Map<String, Object> info = new HashMap<>(1);
+                    info.put("$remove",Arrays.asList("floorId"));
+                    space.setInfos(info);
                     space_up.add(space);
                 }
             }
@@ -330,7 +343,7 @@ public class AdmSpaceController {
         service.doUpdate( AdmContextUtil.toDmpContext(), AdmSpace.class, space_up);
         relationService.doSave( AdmContextUtil.toDmpContext(), RSpInBd_up);
         relationService.doSave( AdmContextUtil.toDmpContext(), RSpInFl_up);
-         return AdmResponse.success(space_up);
+        return AdmResponse.success(space_up);
     }
 
     /**