|
@@ -34,6 +34,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper
|
|
|
import com.persagy.revit.services.json.EquipmentAnalyzer
|
|
|
import com.sybotan.database.SFilter
|
|
|
+import com.sybotan.service.SObjectService
|
|
|
import com.sybotan.service.models.enums.SResponseType
|
|
|
import com.sybotan.service.models.responses.SBaseResponse
|
|
|
import org.apache.commons.lang3.ObjectUtils
|
|
@@ -121,194 +122,194 @@ open class JSONAnalyzerService {
|
|
|
if (!result) {
|
|
|
return "获取model异常"
|
|
|
}
|
|
|
-// // 处理VirtualWall, 填充数据, replace插入表
|
|
|
-// result = result and BaseBehavier.analyze(
|
|
|
-// dataService.virtualWallService as SObjectService<BaseComponent>,
|
|
|
-// baseObj,
|
|
|
-// baseObj.elements!!.virtualWalls as ArrayList<BaseComponent>?
|
|
|
-// )
|
|
|
-// if (!result) {
|
|
|
-// return "处理VirtualWall异常"
|
|
|
-// }
|
|
|
-// // 处理Wall, 填充数据, replace插入表
|
|
|
-// result = result and BaseBehavier.analyze(
|
|
|
-// dataService.wallService as SObjectService<BaseComponent>,
|
|
|
-// baseObj,
|
|
|
-// baseObj.elements!!.walls as ArrayList<BaseComponent>?
|
|
|
-// )
|
|
|
-// if (!result) {
|
|
|
-// return "处理Wall异常"
|
|
|
-// }
|
|
|
-// // 处理door, 填充数据, 填充wallId, replace插入表
|
|
|
-// result = result and DoorWindowAnalyzer.analyze(
|
|
|
-// dataService.doorService as SObjectService<WindowDoorBase>,
|
|
|
-// baseObj,
|
|
|
-// baseObj.elements!!.doors as ArrayList<WindowDoorBase>?
|
|
|
-// ) // 依赖 wall
|
|
|
-// if (!result) {
|
|
|
-// return "处理door异常"
|
|
|
-// }
|
|
|
-// // 处理Window, 填充数据, 填充wallId, replace插入表
|
|
|
-// result = result and DoorWindowAnalyzer.analyze(
|
|
|
-// dataService.windowService as SObjectService<WindowDoorBase>,
|
|
|
-// baseObj,
|
|
|
-// baseObj.elements!!.windows as ArrayList<WindowDoorBase>?
|
|
|
-// ) // 依赖 wall
|
|
|
-// if (!result) {
|
|
|
-// return "处理Window异常"
|
|
|
-// }
|
|
|
-// // 处理column, 填充数据, replace插入表
|
|
|
-// result = result and BaseBehavier.analyze(
|
|
|
-// dataService.columnService as SObjectService<BaseComponent>,
|
|
|
-// baseObj,
|
|
|
-// baseObj.elements!!.columns as ArrayList<BaseComponent>?
|
|
|
-// )
|
|
|
-// if (!result) {
|
|
|
-// return "处理column异常"
|
|
|
-// }
|
|
|
-// // 处理Space, 填充数据, replace插入表
|
|
|
-//
|
|
|
-//
|
|
|
-// //---------------------------------------------------------
|
|
|
-// //12.20临时演示方案,room当作space
|
|
|
-// /** 模型识别,空间或者房间读取revit.project 表得配置 */
|
|
|
-// if(projectConfig!=null&&projectConfig?.roomSpace == "room"){
|
|
|
-// result = result and Space2Analyzer.analyze(dataService.spaceService, baseObj, baseObj.elements!!.rooms)
|
|
|
-// if (!result) {
|
|
|
-// return "处理Room异常"
|
|
|
-// }
|
|
|
-// }else{
|
|
|
-// result = result and SpaceAnalyzer.analyze(dataService.spaceService, baseObj, baseObj.elements!!.spaces)
|
|
|
-// if (!result) {
|
|
|
-// return "处理Space异常"
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-//
|
|
|
-//// //处理Room, 填充数据, replace插入表
|
|
|
-//// result = result and RoomAnalyzer.analyze(dataService.roomService, baseObj, baseObj.elements!!.rooms)
|
|
|
-//// if (!result) {
|
|
|
-//// return "处理Room异常"
|
|
|
-//// }
|
|
|
-//
|
|
|
-//
|
|
|
-// // 处理BoundarySegment, 填充数据, replace方式插入表
|
|
|
-// result = result and BoundarySegmentAnalyzer.analyze(
|
|
|
-// dataService.boundarySegmentService,
|
|
|
-// baseObj,
|
|
|
-// baseObj.elements!!.boundarySegments
|
|
|
-// )
|
|
|
+ // 处理VirtualWall, 填充数据, replace插入表
|
|
|
+ result = result and BaseBehavier.analyze(
|
|
|
+ dataService.virtualWallService as SObjectService<BaseComponent>,
|
|
|
+ baseObj,
|
|
|
+ baseObj.elements!!.virtualWalls as ArrayList<BaseComponent>?
|
|
|
+ )
|
|
|
+ if (!result) {
|
|
|
+ return "处理VirtualWall异常"
|
|
|
+ }
|
|
|
+ // 处理Wall, 填充数据, replace插入表
|
|
|
+ result = result and BaseBehavier.analyze(
|
|
|
+ dataService.wallService as SObjectService<BaseComponent>,
|
|
|
+ baseObj,
|
|
|
+ baseObj.elements!!.walls as ArrayList<BaseComponent>?
|
|
|
+ )
|
|
|
+ if (!result) {
|
|
|
+ return "处理Wall异常"
|
|
|
+ }
|
|
|
+ // 处理door, 填充数据, 填充wallId, replace插入表
|
|
|
+ result = result and DoorWindowAnalyzer.analyze(
|
|
|
+ dataService.doorService as SObjectService<WindowDoorBase>,
|
|
|
+ baseObj,
|
|
|
+ baseObj.elements!!.doors as ArrayList<WindowDoorBase>?
|
|
|
+ ) // 依赖 wall
|
|
|
+ if (!result) {
|
|
|
+ return "处理door异常"
|
|
|
+ }
|
|
|
+ // 处理Window, 填充数据, 填充wallId, replace插入表
|
|
|
+ result = result and DoorWindowAnalyzer.analyze(
|
|
|
+ dataService.windowService as SObjectService<WindowDoorBase>,
|
|
|
+ baseObj,
|
|
|
+ baseObj.elements!!.windows as ArrayList<WindowDoorBase>?
|
|
|
+ ) // 依赖 wall
|
|
|
+ if (!result) {
|
|
|
+ return "处理Window异常"
|
|
|
+ }
|
|
|
+ // 处理column, 填充数据, replace插入表
|
|
|
+ result = result and BaseBehavier.analyze(
|
|
|
+ dataService.columnService as SObjectService<BaseComponent>,
|
|
|
+ baseObj,
|
|
|
+ baseObj.elements!!.columns as ArrayList<BaseComponent>?
|
|
|
+ )
|
|
|
+ if (!result) {
|
|
|
+ return "处理column异常"
|
|
|
+ }
|
|
|
+ // 处理Space, 填充数据, replace插入表
|
|
|
+
|
|
|
+
|
|
|
+ //---------------------------------------------------------
|
|
|
+ //12.20临时演示方案,room当作space
|
|
|
+ /** 模型识别,空间或者房间读取revit.project 表得配置 */
|
|
|
+ if(projectConfig!=null&&projectConfig?.roomSpace == "room"){
|
|
|
+ result = result and Space2Analyzer.analyze(dataService.spaceService, baseObj, baseObj.elements!!.rooms)
|
|
|
+ if (!result) {
|
|
|
+ return "处理Room异常"
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ result = result and SpaceAnalyzer.analyze(dataService.spaceService, baseObj, baseObj.elements!!.spaces)
|
|
|
+ if (!result) {
|
|
|
+ return "处理Space异常"
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+// //处理Room, 填充数据, replace插入表
|
|
|
+// result = result and RoomAnalyzer.analyze(dataService.roomService, baseObj, baseObj.elements!!.rooms)
|
|
|
// if (!result) {
|
|
|
-// return "处理BoundarySegment异常"
|
|
|
+// return "处理Room异常"
|
|
|
// }
|
|
|
-//
|
|
|
-// var pipes = baseObj.elements!!.pipes as ArrayList<BaseComponent>?
|
|
|
-// var flexPipes = baseObj.elements!!.flexPipes as ArrayList<BaseComponent>?
|
|
|
-// var ducts = baseObj.elements!!.ducts as ArrayList<BaseComponent>?
|
|
|
-// var flexDucts = baseObj.elements!!.flexDucts as ArrayList<BaseComponent>?
|
|
|
-// var connectors = baseObj.elements!!.connectors
|
|
|
-//
|
|
|
-//
|
|
|
-// if(checkProject){
|
|
|
-// //修改万达管道名称对应标准管道名称
|
|
|
-// val pdCompService = dataService.pdCompService // 管道对照
|
|
|
-// val pdComps = pdCompService.selectAll().exec()
|
|
|
-// val map = HashMap<String, String>()
|
|
|
-// for (pdComp in pdComps) {
|
|
|
-// map[pdComp.pPdName!!] = pdComp.pdName!!
|
|
|
-// }
|
|
|
-// pipes = pipeConvert(null, baseObj.elements!!.pipes,map)
|
|
|
-// flexPipes = pipeConvert(null, baseObj.elements!!.flexPipes,map)
|
|
|
-// ducts = pipeConvert(null, baseObj.elements!!.flexPipes,map)
|
|
|
-// flexDucts = pipeConvert(baseObj.elements!!.ducts, null,map)
|
|
|
-// connectors = connectorConvert(baseObj.elements!!.connectors,map)
|
|
|
-// }
|
|
|
-//
|
|
|
-//
|
|
|
-// // 处理Pipe
|
|
|
+
|
|
|
+
|
|
|
+ // 处理BoundarySegment, 填充数据, replace方式插入表
|
|
|
+ result = result and BoundarySegmentAnalyzer.analyze(
|
|
|
+ dataService.boundarySegmentService,
|
|
|
+ baseObj,
|
|
|
+ baseObj.elements!!.boundarySegments
|
|
|
+ )
|
|
|
+ if (!result) {
|
|
|
+ return "处理BoundarySegment异常"
|
|
|
+ }
|
|
|
+
|
|
|
+ var pipes = baseObj.elements!!.pipes as ArrayList<BaseComponent>?
|
|
|
+ var flexPipes = baseObj.elements!!.flexPipes as ArrayList<BaseComponent>?
|
|
|
+ var ducts = baseObj.elements!!.ducts as ArrayList<BaseComponent>?
|
|
|
+ var flexDucts = baseObj.elements!!.flexDucts as ArrayList<BaseComponent>?
|
|
|
+ var connectors = baseObj.elements!!.connectors
|
|
|
+
|
|
|
+
|
|
|
+ if(checkProject){
|
|
|
+ //修改万达管道名称对应标准管道名称
|
|
|
+ val pdCompService = dataService.pdCompService // 管道对照
|
|
|
+ val pdComps = pdCompService.selectAll().exec()
|
|
|
+ val map = HashMap<String, String>()
|
|
|
+ for (pdComp in pdComps) {
|
|
|
+ map[pdComp.pPdName!!] = pdComp.pdName!!
|
|
|
+ }
|
|
|
+ pipes = pipeConvert(null, baseObj.elements!!.pipes,map)
|
|
|
+ flexPipes = pipeConvert(null, baseObj.elements!!.flexPipes,map)
|
|
|
+ ducts = pipeConvert(null, baseObj.elements!!.flexPipes,map)
|
|
|
+ flexDucts = pipeConvert(baseObj.elements!!.ducts, null,map)
|
|
|
+ connectors = connectorConvert(baseObj.elements!!.connectors,map)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 处理Pipe
|
|
|
val revitIdMap = HashMap<String, BaseComponent>() // revit_id --> 对象
|
|
|
-// result = result and RevitIdAnalyzer.analyzePipesDucts(
|
|
|
-// dataService.pipeService as SObjectService<BaseComponent>,
|
|
|
-// baseObj,
|
|
|
-// //baseObj.elements!!.pipes as ArrayList<BaseComponent>?,
|
|
|
-//// pipeConvert(null, baseObj.elements!!.pipes,map),
|
|
|
-// pipes,
|
|
|
-// revitIdMap,
|
|
|
-// "Pipe"
|
|
|
-// )
|
|
|
-// if (!result) {
|
|
|
-// return "处理Pipe异常"
|
|
|
-// }
|
|
|
-// // 处理flexPipe
|
|
|
-// result = result and RevitIdAnalyzer.analyzePipesDucts(
|
|
|
-// dataService.pipeService as SObjectService<BaseComponent>,
|
|
|
-// baseObj,
|
|
|
-//// baseObj.elements!!.flexPipes as ArrayList<BaseComponent>?,
|
|
|
-//// pipeConvert(null, baseObj.elements!!.flexPipes,map),
|
|
|
-// flexPipes,
|
|
|
-// revitIdMap,
|
|
|
-// "FlexPipe"
|
|
|
-// )
|
|
|
-// if (!result) {
|
|
|
-// return "处理FlexPipe异常"
|
|
|
-// }
|
|
|
-// // 处理duct
|
|
|
-// result = result and RevitIdAnalyzer.analyzePipesDucts(
|
|
|
-// dataService.ductService as SObjectService<BaseComponent>,
|
|
|
-// baseObj,
|
|
|
-//// baseObj.elements!!.ducts as ArrayList<BaseComponent>?,
|
|
|
-//// pipeConvert(baseObj.elements!!.ducts, null,map),
|
|
|
-// ducts,
|
|
|
-// revitIdMap,
|
|
|
-// "Duct"
|
|
|
-// )
|
|
|
-// if (!result) {
|
|
|
-// return "处理Duct异常"
|
|
|
-// }
|
|
|
-// // 处理flexDuct
|
|
|
-// result = result and RevitIdAnalyzer.analyzePipesDucts(
|
|
|
-// dataService.ductService as SObjectService<BaseComponent>,
|
|
|
-// baseObj,
|
|
|
-//// baseObj.elements!!.flexDucts as ArrayList<BaseComponent>?,
|
|
|
-//// pipeConvert(baseObj.elements!!.flexDucts, null,map),
|
|
|
-// flexDucts,
|
|
|
-// revitIdMap,
|
|
|
-// "FlexDuct"
|
|
|
-// )
|
|
|
-// if (!result) {
|
|
|
-// return "处理FlexDuct异常"
|
|
|
-// }
|
|
|
-//
|
|
|
-// // 处理other
|
|
|
-// result = result and RevitIdAnalyzer.analyze(
|
|
|
-// dataService.otherService as SObjectService<BaseComponent>,
|
|
|
-// baseObj,
|
|
|
-// baseObj.elements!!.others as ArrayList<BaseComponent>?,
|
|
|
-// revitIdMap
|
|
|
-// )
|
|
|
-// if (!result) {
|
|
|
-// return "处理other异常"
|
|
|
-// }
|
|
|
-// // 处理joinObject
|
|
|
-// result = result and RevitIdAnalyzer.analyze(
|
|
|
-// dataService.joinObjectService as SObjectService<BaseComponent>,
|
|
|
-// baseObj,
|
|
|
-// baseObj.elements!!.joinObjects as ArrayList<BaseComponent>?,
|
|
|
-// revitIdMap
|
|
|
-// )
|
|
|
-// if (!result) {
|
|
|
-// return "处理joinObject异常"
|
|
|
-// }
|
|
|
-// // 处理equipment
|
|
|
-////// result = result and EquipmentAnalyzer.analyze(
|
|
|
-////// dataService.equipmentService,
|
|
|
-////// baseObj,
|
|
|
-////// baseObj.elements!!.equipments,
|
|
|
-////// bimIdPrefix, revitIdMap,
|
|
|
-////// checkProject(baseObj.mbiName),
|
|
|
-////// dataService.dictCompService,
|
|
|
-////// dataService.infoPointCompService
|
|
|
-////// )
|
|
|
+ result = result and RevitIdAnalyzer.analyzePipesDucts(
|
|
|
+ dataService.pipeService as SObjectService<BaseComponent>,
|
|
|
+ baseObj,
|
|
|
+ //baseObj.elements!!.pipes as ArrayList<BaseComponent>?,
|
|
|
+// pipeConvert(null, baseObj.elements!!.pipes,map),
|
|
|
+ pipes,
|
|
|
+ revitIdMap,
|
|
|
+ "Pipe"
|
|
|
+ )
|
|
|
+ if (!result) {
|
|
|
+ return "处理Pipe异常"
|
|
|
+ }
|
|
|
+ // 处理flexPipe
|
|
|
+ result = result and RevitIdAnalyzer.analyzePipesDucts(
|
|
|
+ dataService.pipeService as SObjectService<BaseComponent>,
|
|
|
+ baseObj,
|
|
|
+// baseObj.elements!!.flexPipes as ArrayList<BaseComponent>?,
|
|
|
+// pipeConvert(null, baseObj.elements!!.flexPipes,map),
|
|
|
+ flexPipes,
|
|
|
+ revitIdMap,
|
|
|
+ "FlexPipe"
|
|
|
+ )
|
|
|
+ if (!result) {
|
|
|
+ return "处理FlexPipe异常"
|
|
|
+ }
|
|
|
+ // 处理duct
|
|
|
+ result = result and RevitIdAnalyzer.analyzePipesDucts(
|
|
|
+ dataService.ductService as SObjectService<BaseComponent>,
|
|
|
+ baseObj,
|
|
|
+// baseObj.elements!!.ducts as ArrayList<BaseComponent>?,
|
|
|
+// pipeConvert(baseObj.elements!!.ducts, null,map),
|
|
|
+ ducts,
|
|
|
+ revitIdMap,
|
|
|
+ "Duct"
|
|
|
+ )
|
|
|
+ if (!result) {
|
|
|
+ return "处理Duct异常"
|
|
|
+ }
|
|
|
+ // 处理flexDuct
|
|
|
+ result = result and RevitIdAnalyzer.analyzePipesDucts(
|
|
|
+ dataService.ductService as SObjectService<BaseComponent>,
|
|
|
+ baseObj,
|
|
|
+// baseObj.elements!!.flexDucts as ArrayList<BaseComponent>?,
|
|
|
+// pipeConvert(baseObj.elements!!.flexDucts, null,map),
|
|
|
+ flexDucts,
|
|
|
+ revitIdMap,
|
|
|
+ "FlexDuct"
|
|
|
+ )
|
|
|
+ if (!result) {
|
|
|
+ return "处理FlexDuct异常"
|
|
|
+ }
|
|
|
+
|
|
|
+ // 处理other
|
|
|
+ result = result and RevitIdAnalyzer.analyze(
|
|
|
+ dataService.otherService as SObjectService<BaseComponent>,
|
|
|
+ baseObj,
|
|
|
+ baseObj.elements!!.others as ArrayList<BaseComponent>?,
|
|
|
+ revitIdMap
|
|
|
+ )
|
|
|
+ if (!result) {
|
|
|
+ return "处理other异常"
|
|
|
+ }
|
|
|
+ // 处理joinObject
|
|
|
+ result = result and RevitIdAnalyzer.analyze(
|
|
|
+ dataService.joinObjectService as SObjectService<BaseComponent>,
|
|
|
+ baseObj,
|
|
|
+ baseObj.elements!!.joinObjects as ArrayList<BaseComponent>?,
|
|
|
+ revitIdMap
|
|
|
+ )
|
|
|
+ if (!result) {
|
|
|
+ return "处理joinObject异常"
|
|
|
+ }
|
|
|
+ // 处理equipment
|
|
|
+//// result = result and EquipmentAnalyzer.analyze(
|
|
|
+//// dataService.equipmentService,
|
|
|
+//// baseObj,
|
|
|
+//// baseObj.elements!!.equipments,
|
|
|
+//// bimIdPrefix, revitIdMap,
|
|
|
+//// checkProject(baseObj.mbiName),
|
|
|
+//// dataService.dictCompService,
|
|
|
+//// dataService.infoPointCompService
|
|
|
+//// )
|
|
|
result = result and EquipmentAnalyzer.analyze(
|
|
|
dataService.equipmentService,
|
|
|
baseObj,
|
|
@@ -323,49 +324,49 @@ open class JSONAnalyzerService {
|
|
|
if (!result) {
|
|
|
return "处理equipment异常"
|
|
|
}
|
|
|
-// // 处理部件(component)
|
|
|
-// result = result and EquipmentAnalyzer.analyzeComponent(
|
|
|
-// dataService.componentService,
|
|
|
-// baseObj,
|
|
|
-// baseObj.elements!!.equipParts,
|
|
|
-// bimIdPrefix,
|
|
|
-// revitIdMap
|
|
|
-// )
|
|
|
-// if (!result) {
|
|
|
-// return "处理component异常"
|
|
|
-// }
|
|
|
-//
|
|
|
-// // 处理连接件
|
|
|
-// result = result and RevitIdAnalyzer.analyzeConnector(
|
|
|
-// dataService.connectorService,
|
|
|
-// baseObj,
|
|
|
-// //连接件转换
|
|
|
-// connectors,
|
|
|
-// bimIdPrefix,
|
|
|
-// revitIdMap
|
|
|
-// )
|
|
|
-// if (!result) {
|
|
|
-// return "处理连接件异常"
|
|
|
-// }
|
|
|
-//
|
|
|
-// // 处理level, 标高
|
|
|
-// result = result and BaseBehavier.analyze(
|
|
|
-// dataService.levelService as SObjectService<BaseComponent>,
|
|
|
-// baseObj,
|
|
|
-// baseObj.elements!!.levels as ArrayList<BaseComponent>?
|
|
|
-// )
|
|
|
-// if (!result) {
|
|
|
-// return "处理level异常"
|
|
|
-// }
|
|
|
-// // 处理grid, 轴网
|
|
|
-// result = result and BaseBehavier.analyze(
|
|
|
-// dataService.gridService as SObjectService<BaseComponent>,
|
|
|
-// baseObj,
|
|
|
-// baseObj.elements!!.grids as ArrayList<BaseComponent>?
|
|
|
-// )
|
|
|
-// if (!result) {
|
|
|
-// return "处理grid异常"
|
|
|
-// }
|
|
|
+ // 处理部件(component)
|
|
|
+ result = result and EquipmentAnalyzer.analyzeComponent(
|
|
|
+ dataService.componentService,
|
|
|
+ baseObj,
|
|
|
+ baseObj.elements!!.equipParts,
|
|
|
+ bimIdPrefix,
|
|
|
+ revitIdMap
|
|
|
+ )
|
|
|
+ if (!result) {
|
|
|
+ return "处理component异常"
|
|
|
+ }
|
|
|
+
|
|
|
+ // 处理连接件
|
|
|
+ result = result and RevitIdAnalyzer.analyzeConnector(
|
|
|
+ dataService.connectorService,
|
|
|
+ baseObj,
|
|
|
+ //连接件转换
|
|
|
+ connectors,
|
|
|
+ bimIdPrefix,
|
|
|
+ revitIdMap
|
|
|
+ )
|
|
|
+ if (!result) {
|
|
|
+ return "处理连接件异常"
|
|
|
+ }
|
|
|
+
|
|
|
+ // 处理level, 标高
|
|
|
+ result = result and BaseBehavier.analyze(
|
|
|
+ dataService.levelService as SObjectService<BaseComponent>,
|
|
|
+ baseObj,
|
|
|
+ baseObj.elements!!.levels as ArrayList<BaseComponent>?
|
|
|
+ )
|
|
|
+ if (!result) {
|
|
|
+ return "处理level异常"
|
|
|
+ }
|
|
|
+ // 处理grid, 轴网
|
|
|
+ result = result and BaseBehavier.analyze(
|
|
|
+ dataService.gridService as SObjectService<BaseComponent>,
|
|
|
+ baseObj,
|
|
|
+ baseObj.elements!!.grids as ArrayList<BaseComponent>?
|
|
|
+ )
|
|
|
+ if (!result) {
|
|
|
+ return "处理grid异常"
|
|
|
+ }
|
|
|
return null
|
|
|
}
|
|
|
|