Bladeren bron

万达构件识别修改

caiaf 4 jaren geleden
bovenliggende
commit
0ad71177a2

+ 6 - 0
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/backstage/model/datacenter/DCISpace.kt

@@ -20,6 +20,12 @@ class DCISpace : DCDataBase(){
     @JSONField(name = "bimLocation")
     var bimLocation : String? = null
 
+    @JSONField(name = "name")
+    var name : String? = null
+
+    @JSONField(name = "localId")
+    var localId : String? = null
+
     @JSONField(name = "localName")
     var localName : String? = null
 

+ 3 - 0
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/backstage/sync/SyncEquipment.kt

@@ -246,6 +246,9 @@ class SyncEquipment : SyncObject{
             sb.clear()
             sb.append(point.x).append(",").append(point.y).append(",").append(point.z)
             dcEquip.bimLocation = sb.toString()
+        }else{
+            dcEquip.floorId = floor?.id
+            dcEquip.buildingId = floor?.folderId
         }
     }
 

+ 7 - 0
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/backstage/sync/SyncISpace.kt

@@ -93,8 +93,10 @@ class SyncISpace : SyncObject {
                 // 绑定数据
                 val point = space?.location?.points?.get(0)
                 addBimLocationAndFloorId(point, space!!, dcSpace, sb)
+                dcSpace.name = space.name
                 dcSpace.height = space.height
                 dcSpace.localName = space.localName
+                dcSpace.localId = space.localId
                 dcSpace.outline = space.outline
                 dcSpace.outerOutline = space.outerOutline
                 dcSpace.modelId = space.modelId
@@ -118,6 +120,8 @@ class SyncISpace : SyncObject {
         // 在map里的就是需要创建的
         bimMap.forEach {
             val dcISpace = DCISpace()
+            dcISpace.name = it.value.name
+            dcISpace.localId = it.value.localId
             dcISpace.localName = it.value.localName
             dcISpace.outline = it.value.outline
             dcISpace.outerOutline = it.value.outerOutline
@@ -173,6 +177,9 @@ class SyncISpace : SyncObject {
             sb.clear()
             sb.append(point.x).append(",").append(point.y).append(",").append(point.z)
             dcISpace.bimLocation = sb.toString()
+        }else{
+            dcISpace.floorId = floor?.id
+            dcISpace.buildingId = floor?.folderId
         }
     }
 

+ 6 - 0
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/models/entities/EquipComp.kt

@@ -59,4 +59,10 @@ open class EquipComp {
     @ApiModelProperty(value = "设备设施类名称")
     @Column(name = "class_name")
     var className: String? = null
+
+
+//    /** 慧云码*/
+//    @ApiModelProperty(value = "慧云码")
+//    @Column(name = "alias_code")
+//    var aliasCode: String? = null
 }

+ 5 - 0
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/models/entities/Space.kt

@@ -96,6 +96,11 @@ class Space : BaseComponent(){
     @JsonProperty("Parameters")
     var parameters: ArrayList<Parameter>? = null
 
+    /** 本地编码 */
+    @ApiModelProperty(value = "本地编码")
+    @Column(name = "local_id")
+    var localId: String? = null
+
     /** 本地名称 */
     @ApiModelProperty(value = "本地名称")
     @Column(name = "local_name")

+ 15 - 4
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/services/json/SpaceAnalyzer.kt

@@ -27,6 +27,7 @@ object SpaceAnalyzer {
         for(obj in spaces){
             obj.id = CommonService.generateUUID(null, true)
             obj.modelId = baseObj.modelId
+            val name = obj.name
             if(obj.parameters != null){
                 var code : String = ""
                 for (param in obj.parameters!!){
@@ -36,8 +37,9 @@ object SpaceAnalyzer {
                         }else
                             obj.localName = param.value
                     }else if(param.name.equals("编号") && param.value != null){
-                        code = param.value
-                    }else if(param.name.equals("2.空间标准类型编码")){
+                        obj.localId = param.value
+                    }else
+                    if(param.name.equals("2.空间标准类型编码")){
                         obj.wDRoomFuncID = param.value
                     }else if(param.name.equals("3.空间标准类型")){
                         obj.wDRoomFuncName = param.value
@@ -47,10 +49,19 @@ object SpaceAnalyzer {
                         obj.wDRoomFuncName = param.value
                     }
                 }
-                if(obj.localName == null || obj.localName!!.isEmpty() || obj.localName.equals("空间")){
-                    obj.localName = java.lang.String.join("", Strings.nullToEmpty(obj.localName), Strings.nullToEmpty(code))
+
+            }
+            if(obj.localName == null || obj.localName!!.isEmpty()){
+                if(!name.isNullOrEmpty()){
+                    val index = name!!.lastIndexOf(" ")
+                    if( index != -1){
+                        obj.localName = name!!.substring(0,index)
+                        obj.localId = name!!.substring(index+1,name.length)
+                    }
                 }
+
             }
+
         }
         spaceService.delete(SFilter.eq("modelId", baseObj.modelId!!))
         val create = SCreateRequest<Space>()