caiaf пре 4 година
родитељ
комит
29354f2fec

+ 17 - 12
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/services/json/EquipmentAnalyzer.kt

@@ -36,15 +36,21 @@ object EquipmentAnalyzer {
     fun analyze1(equipmentService: SObjectService<Equipment>, baseObj: BaseObj<AllComponents>, equipments: ArrayList<Equipment>?, bimIdPrefix: String, equipMap: HashMap<String, BaseComponent>): Boolean {
         if (equipments == null || equipments.isEmpty())
             return true
+        val newEquipmnets = ArrayList<Equipment>()
         for (obj in equipments) {
             obj.id = CommonService.generateUUID(null, true)
             obj.modelId = baseObj.modelId
             var family: String? = null
             val familyName = obj.familyName
             if (!familyName.isNullOrEmpty()) {
-                family = familyName!!.substring(0, familyName.indexOf("-"))
-                //设备编码转换
-                obj.family = family
+                val index = familyName.indexOf("-")
+
+                if(index != -1){
+                    family = familyName!!.substring(0, index)
+                    //设备编码转换
+                    obj.family = family
+                }
+
             }
             obj.bimId = "${bimIdPrefix}${obj.sourceId}"
             if (obj.revitId != null && obj.revitId!!.isNotEmpty())
@@ -68,10 +74,14 @@ object EquipmentAnalyzer {
                 }
                 obj.infos = infos
             }
+
+            if(!family.isNullOrEmpty()){
+                newEquipmnets.add(obj)
+            }
         }
         equipmentService.delete(SFilter.eq("modelId", baseObj.modelId!!))
         val create = SCreateRequest<Equipment>()
-        create.content = equipments
+        create.content = newEquipmnets
         val result = equipmentService.createList(create)
         return SResponseType.success == result.result
     }
@@ -90,11 +100,6 @@ object EquipmentAnalyzer {
             obj.id = CommonService.generateUUID(null, true)
             obj.modelId = baseObj.modelId
             var family: String? = null
-            val familyName = obj.familyName
-//            if (!flag && !familyName.isNullOrEmpty()) {
-//                    family = familyName!!.substring(0, familyName.indexOf("-"))
-//                    obj.family = family
-//            }
             obj.bimId = "${bimIdPrefix}${obj.sourceId}"
             if (obj.revitId != null && obj.revitId!!.isNotEmpty())
                 equipMap[obj.revitId!!] = obj
@@ -175,15 +180,15 @@ object EquipmentAnalyzer {
                         continue
                     }
                     obj.infos = infos
-                    newEquipmnets.add(obj)
+//                    newEquipmnets.add(obj)
                 }
 
             }
         }
         equipmentService.delete(SFilter.eq("modelId", baseObj.modelId!!))
         val create = SCreateRequest<Equipment>()
-        create.content = newEquipmnets
-//        create.content = equipments
+//        create.content = newEquipmnets
+        create.content = equipments
         val result = equipmentService.createList(create)
         return SResponseType.success == result.result
     }