caiaf 4 rokov pred
rodič
commit
5abf96dadc

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

@@ -47,4 +47,8 @@ class DCISpace : DCDataBase(){
 
     @JSONField(name = "customParam")
     var customParam : HashMap<String, Any?>? = null
+
+    /** 转换后的信息点 */
+    @JSONField(name = "infos")
+    var infos: Map<String,Any?>? = null
 }

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

@@ -102,6 +102,13 @@ class SyncISpace : SyncObject {
                     dcSpace.customParam = HashMap()
                 dcSpace.customParam!![ctmWDRoomFuncId] = space.wDRoomFuncID
                 dcSpace.customParam!![ctmWDRoomFuncName] = space.wDRoomFuncName
+
+                //添加房间构件码
+                val infos = HashMap<String,Any?>()
+                infos["roomLocalFuncTypeID"] = space.wDRoomFuncID
+                infos["roomLocalFuncTypeName"] = space.wDRoomFuncName
+                dcSpace.infos = infos
+
                 updateList.add(dcSpace)
             }else{
                 // 需要被删除的
@@ -124,6 +131,13 @@ class SyncISpace : SyncObject {
             dcISpace.customParam!![ctmWDRoomFuncName] = it.value.wDRoomFuncName
             val point = it.value.location?.points?.get(0)
             addBimLocationAndFloorId(point, it.value, dcISpace, sb)
+
+            //添加房间构件码
+            val infos = HashMap<String,Any?>()
+            infos["roomLocalFuncTypeID"] = it.value.wDRoomFuncID
+            infos["roomLocalFuncTypeName"] = it.value.wDRoomFuncName
+            dcISpace.infos = infos
+
             createList.add(dcISpace)
         }
         return this

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

@@ -0,0 +1,34 @@
+package cn.sagacloud.server.algorithm.models.entities
+
+import com.alibaba.fastjson.annotation.JSONField
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties
+import com.fasterxml.jackson.annotation.JsonProperty
+import io.swagger.annotations.ApiModel
+import javax.persistence.Column
+import javax.persistence.Id
+import javax.persistence.Table
+
+/**
+ * 管道对照表
+ * @author  Cainga
+ * @date  2020/12/3 15:53
+ */
+
+@ApiModel(description = "管道对照")
+@Table(name = "revit.pd_comp")
+@JsonIgnoreProperties(ignoreUnknown = true)
+open class PipeDuctComp {
+
+    /** id */
+    @Column(name = "id", updatable = false)
+    @Id
+    var id: Int? = null
+
+    /** 标准管道名称 */
+    @Column(name = "pd_name")
+    var pdName: String? = null
+
+    /** 项目管道名称 */
+    @Column(name = "p_pd_name")
+    var pPdName: String? = null
+}

+ 3 - 3
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/models/request/BaseGraphRequest.kt

@@ -9,10 +9,10 @@ import com.fasterxml.jackson.annotation.JsonProperty
  *
  * @author jxing
  */
-//@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonIgnoreProperties(ignoreUnknown = true)
 class BaseGraphRequest {
-//    @JSONField(name = "ModelId")
-//    @JsonProperty("ModelId")
+    @JSONField(name = "ModelId")
+    @JsonProperty("ModelId")
     // 接收的值为数据中心楼层上的model_id
     var modelId : String? = null
 }

+ 1 - 0
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/services/BaseDataService.kt

@@ -43,5 +43,6 @@ object BaseDataService {
     val projectService = SObjectService(SMybatisDao(Project::class.java))  // 项目
     val dictCompService = SObjectService(SMybatisDao(DictComp::class.java))  // 字典对照
     val equipCompService = SObjectService(SMybatisDao(EquipComp::class.java))  // 设备对照
+    val pdCompService = SObjectService(SMybatisDao(PipeDuctComp::class.java))  // 管道对照
     val infoPointCompService = SObjectService(SMybatisDao(InfoPointComp::class.java))  // 信息点对照
 }

+ 2 - 2
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/services/http/HttpService.kt

@@ -313,8 +313,8 @@ object HttpService {
             conn.setRequestProperty("Content-Type", "application/json")
             conn.setRequestProperty("user-agent",
                     "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)")
-            conn.setRequestProperty("Coming", "RevitAlgorithm")
-            conn.setRequestProperty("ProjectId", projectId)
+            conn.setRequestProperty("coming", "RevitAlgorithm")
+            conn.setRequestProperty("projectId", projectId)
             // 发送POST请求必须设置如下两行
             conn.doOutput = true
             conn.doInput = true

+ 47 - 6
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/services/json/JSONAnalyzerService.kt

@@ -20,8 +20,7 @@
 
 package cn.sagacloud.server.algorithm.services.json
 
-import cn.sagacloud.server.algorithm.models.entities.BaseComponent
-import cn.sagacloud.server.algorithm.models.entities.WindowDoorBase
+import cn.sagacloud.server.algorithm.models.entities.*
 import cn.sagacloud.server.algorithm.models.jsonAnalyzer.AllComponents
 import cn.sagacloud.server.algorithm.models.jsonAnalyzer.BaseObj
 import cn.sagacloud.server.algorithm.models.modelFile.ModelFile
@@ -34,6 +33,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.mybatis.SMybatisDao
 import com.sybotan.service.SObjectService
 import com.sybotan.service.models.enums.SResponseType
 import com.sybotan.service.models.responses.SBaseResponse
@@ -189,7 +189,8 @@ open class JSONAnalyzerService {
         result = result and RevitIdAnalyzer.analyzePipesDucts(
                 dataService.pipeService as SObjectService<BaseComponent>,
                 baseObj,
-                baseObj.elements!!.pipes as ArrayList<BaseComponent>?,
+                //baseObj.elements!!.pipes as ArrayList<BaseComponent>?,
+                pipeConvert(null, baseObj.elements!!.pipes),
                 revitIdMap,
                 "Pipe"
         )
@@ -200,7 +201,8 @@ open class JSONAnalyzerService {
         result = result and RevitIdAnalyzer.analyzePipesDucts(
                 dataService.pipeService as SObjectService<BaseComponent>,
                 baseObj,
-                baseObj.elements!!.flexPipes as ArrayList<BaseComponent>?,
+//                baseObj.elements!!.flexPipes as ArrayList<BaseComponent>?,
+                pipeConvert(null, baseObj.elements!!.pipes),
                 revitIdMap,
                 "FlexPipe"
         )
@@ -211,7 +213,8 @@ open class JSONAnalyzerService {
         result = result and RevitIdAnalyzer.analyzePipesDucts(
                 dataService.ductService as SObjectService<BaseComponent>,
                 baseObj,
-                baseObj.elements!!.ducts as ArrayList<BaseComponent>?,
+//                baseObj.elements!!.ducts as ArrayList<BaseComponent>?,
+                pipeConvert(baseObj.elements!!.ducts, null),
                 revitIdMap,
                 "Duct"
         )
@@ -222,7 +225,8 @@ open class JSONAnalyzerService {
         result = result and RevitIdAnalyzer.analyzePipesDucts(
                 dataService.ductService as SObjectService<BaseComponent>,
                 baseObj,
-                baseObj.elements!!.flexDucts as ArrayList<BaseComponent>?,
+//                baseObj.elements!!.flexDucts as ArrayList<BaseComponent>?,
+                pipeConvert(baseObj.elements!!.ducts, null),
                 revitIdMap,
                 "FlexDuct"
         )
@@ -366,4 +370,41 @@ open class JSONAnalyzerService {
         }
         return dataService.projectService.select(SFilter.eq("id", projectId)).entity() != null;
     }
+
+    /**
+     * @Description: 管道类型转换
+     */
+    fun pipeConvert(ducts: ArrayList<Duct>?, pipes: ArrayList<Pipe>?): ArrayList<BaseComponent>? {
+        //修改万达管道名称对应标准管道名称
+        val pdCompService = SObjectService(SMybatisDao(PipeDuctComp::class.java))  // 管道对照
+        val pdComps = pdCompService.selectAll().exec()
+        val map = HashMap<String, String>()
+        for (pdComp in pdComps) {
+            map[pdComp.pPdName!!] = pdComp.pdName!!
+        }
+        if (ducts != null) {
+            for (duct in ducts) {
+                if(!duct.mepSystemType.isNullOrEmpty()){
+                    if (map.containsKey(duct.mepSystemType!!)) {
+                        duct.mepSystemType = map[duct.mepSystemType!!]
+                    }
+                }
+
+            }
+            return ducts as ArrayList<BaseComponent>?
+        } else if (pipes != null) {
+            for (pipe in pipes) {
+                if(!pipe.mepSystemType.isNullOrEmpty()){
+                    if (map.containsKey(pipe.mepSystemType!!)) {
+                        pipe.mepSystemType = map[pipe.mepSystemType!!]
+                    }
+                }
+
+            }
+            return pipes as ArrayList<BaseComponent>?
+        } else {
+            return null
+        }
+
+    }
 }

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

@@ -17,6 +17,10 @@ import java.util.ArrayList
  * @author jxing
  */
 object SpaceAnalyzer {
+
+    /**
+     * @Description: 房间和空间分析
+     */
     fun analyze(spaceService: SObjectService<Space>, baseObj: BaseObj<AllComponents>, spaces: ArrayList<Space>?) : Boolean{
         if(spaces == null || spaces.isEmpty())
             return true
@@ -37,6 +41,10 @@ object SpaceAnalyzer {
                         obj.wDRoomFuncID = param.value
                     }else if(param.name.equals("3.空间标准类型")){
                         obj.wDRoomFuncName = param.value
+                    }else if(param.name.equals("2.房间标准类型编码")){
+                        obj.wDRoomFuncID = param.value
+                    }else if(param.name.equals("3.房间标准类型名称")){
+                        obj.wDRoomFuncName = param.value
                     }
                 }
                 if(obj.localName == null || obj.localName!!.isEmpty() || obj.localName.equals("空间")){

+ 6 - 6
revit-algorithm/src/main/resources-prod/application.yml

@@ -18,7 +18,7 @@ spring:
     name:                               revit-algorithm
     type:                               com.alibaba.druid.pool.DruidDataSource
     driver-class-name:                  org.postgresql.Driver
-    url:                                jdbc:postgresql://172.17.100.16:5432/datacenter
+    url:                                jdbc:postgresql://60.205.177.43:5432/datacenterlabsl
     #    url:                                jdbc:postgresql://192.168.20.250:5432/postgres
     #    url:                                jdbc:postgresql://47.94.89.44:5432/datacenter
     username:                           postgres
@@ -49,7 +49,7 @@ spring:
       max-request-size:                90MB        # 限制上传的多个文件的总大小
       max-file-size:                   90MB        # 限制单个文件的最大值
   activemq:
-    broker-url: failover:(tcp://172.17.100.16:61616)
+    broker-url: failover:(tcp://60.205.177.43:61616)
     in-memory: true
     pool:
       enabled: false
@@ -75,7 +75,7 @@ properties:
   fileService:
     # 基本属性
     #url:                               http://api.sagacloud.cn/dp-auxiliary/image-service/ # http://47.93.33.207:28888/image-service/ #http://adm.sagacloud.cn/image-service/
-    url:                               http://47.93.33.207:8888/image-service/
+    url:                               http://60.205.177.43:8080/image-service/
     systemId:                          revit
     secret:                            63afbef6906c342b
     dir:                               model
@@ -99,7 +99,7 @@ properties:
     mergeMultipartUpload:              ${properties.fileService.url}common/merge_multipart${properties.fileService.suffixWithSecret}&uploadId=
 
   scheduler:
-    url:                               http://172.17.100.16:8080/scheduler/
+    url:                               http://60.205.177.43:8080/scheduler/
     createTask:                        ${properties.scheduler.url}task/create
     queryTask:                         ${properties.scheduler.url}task/query
     queryTaskResult:                   ${properties.scheduler.url}result/query
@@ -107,7 +107,7 @@ properties:
 
 
   datacenter:
-    url:                               http://172.17.100.16:8080/datacenter/
+    url:                               http://60.205.177.43:8080/datacenter/
     # 设备相关接口
     equipCreate: ${properties.datacenter.url}object/equip/create
     equipDelete: ${properties.datacenter.url}object/equip/delete
@@ -137,6 +137,6 @@ properties:
     doorCreate: ${properties.datacenter.url}door/create_ignore
 
   message:
-    url: http://172.17.100.16:8080/message-center/
+    url: http://60.205.177.43:8080/message-center/
     # 发送消息接口
     createPath: ${properties.message.url}message/create

+ 19 - 19
revit-algorithm/src/main/resources-prod/application239.yml

@@ -18,7 +18,7 @@ spring:
     name:                               revit-algorithm
     type:                               com.alibaba.druid.pool.DruidDataSource
     driver-class-name:                  org.postgresql.Driver
-    url:                                jdbc:postgresql://172.17.100.16:5432/datacenterlabsl
+    url:                                jdbc:postgresql://172.17.100.16:5432/datacenter
     #    url:                                jdbc:postgresql://192.168.20.250:5432/postgres
     #    url:                                jdbc:postgresql://47.94.89.44:5432/datacenter
     username:                           postgres
@@ -107,30 +107,30 @@ properties:
 
 
   datacenter:
-    url:                               http://172.17.100.16:8080/datacenter/object/
+    url:                               http://172.17.100.16:8080/datacenter/
     # 设备相关接口
-    equipCreate: ${properties.datacenter.url}equip/create
-    equipDelete: ${properties.datacenter.url}equip/delete
-    equipQuery: ${properties.datacenter.url}equip/query
-    equipUpdate: ${properties.datacenter.url}equip/update
+    equipCreate: ${properties.datacenter.url}object/equip/create
+    equipDelete: ${properties.datacenter.url}object/equip/delete
+    equipQuery: ${properties.datacenter.url}object/equip/query
+    equipUpdate: ${properties.datacenter.url}object/equip/update
     # 元空间相关接口
-    ispaceCreate: ${properties.datacenter.url}ispace/create
-    ispaceDelete: ${properties.datacenter.url}ispace/delete
-    ispaceQuery: ${properties.datacenter.url}ispace/query
-    ispaceUpdate: ${properties.datacenter.url}ispace/update
+    ispaceCreate: ${properties.datacenter.url}object/ispace/create
+    ispaceDelete: ${properties.datacenter.url}object/ispace/delete
+    ispaceQuery: ${properties.datacenter.url}object/ispace/query
+    ispaceUpdate: ${properties.datacenter.url}object/ispace/update
     # 部件相关接口
-    componentCreate: ${properties.datacenter.url}component/create
-    componentDelete: ${properties.datacenter.url}component/delete
-    componentQuery: ${properties.datacenter.url}component/query
-    componentUpdate: ${properties.datacenter.url}component/update
+    componentCreate: ${properties.datacenter.url}object/component/create
+    componentDelete: ${properties.datacenter.url}object/component/delete
+    componentQuery: ${properties.datacenter.url}object/component/query
+    componentUpdate: ${properties.datacenter.url}object/component/update
     # 楼层相关接口
-    floorQuery: ${properties.datacenter.url}floor/query
-    floorUpdate: ${properties.datacenter.url}floor/update
+    floorQuery: ${properties.datacenter.url}object/floor/query
+    floorUpdate: ${properties.datacenter.url}object/floor/update
     # 绑定楼层接口
-    floorBind: ${properties.datacenter.url}update/equip-ispace
+    floorBind: ${properties.datacenter.url}rel/update/equip-ispace
     # 资产接口
-    propertyQuery: ${properties.datacenter.url}property/query
-    propertyUpdate: ${properties.datacenter.url}property/update
+    propertyQuery: ${properties.datacenter.url}object/property/query
+    propertyUpdate: ${properties.datacenter.url}object/property/update
     # 同步构件接口
     windowCreate: ${properties.datacenter.url}window/create_ignore
     vwallCreate: ${properties.datacenter.url}vwall/create_ignore

+ 18 - 18
revit-algorithm/src/main/resources-prod/application60.yml

@@ -107,30 +107,30 @@ properties:
 
 
   datacenter:
-    url:                               http://60.205.177.43:8080/datacenter/object/
+    url:                               http://60.205.177.43:8080/datacenter/
     # 设备相关接口
-    equipCreate: ${properties.datacenter.url}equip/create
-    equipDelete: ${properties.datacenter.url}equip/delete
-    equipQuery: ${properties.datacenter.url}equip/query
-    equipUpdate: ${properties.datacenter.url}equip/update
+    equipCreate: ${properties.datacenter.url}object/equip/create
+    equipDelete: ${properties.datacenter.url}object/equip/delete
+    equipQuery: ${properties.datacenter.url}object/equip/query
+    equipUpdate: ${properties.datacenter.url}object/equip/update
     # 元空间相关接口
-    ispaceCreate: ${properties.datacenter.url}ispace/create
-    ispaceDelete: ${properties.datacenter.url}ispace/delete
-    ispaceQuery: ${properties.datacenter.url}ispace/query
-    ispaceUpdate: ${properties.datacenter.url}ispace/update
+    ispaceCreate: ${properties.datacenter.url}object/ispace/create
+    ispaceDelete: ${properties.datacenter.url}object/ispace/delete
+    ispaceQuery: ${properties.datacenter.url}object/ispace/query
+    ispaceUpdate: ${properties.datacenter.url}object/ispace/update
     # 部件相关接口
-    componentCreate: ${properties.datacenter.url}component/create
-    componentDelete: ${properties.datacenter.url}component/delete
-    componentQuery: ${properties.datacenter.url}component/query
-    componentUpdate: ${properties.datacenter.url}component/update
+    componentCreate: ${properties.datacenter.url}object/component/create
+    componentDelete: ${properties.datacenter.url}object/component/delete
+    componentQuery: ${properties.datacenter.url}object/component/query
+    componentUpdate: ${properties.datacenter.url}object/component/update
     # 楼层相关接口
-    floorQuery: ${properties.datacenter.url}floor/query
-    floorUpdate: ${properties.datacenter.url}floor/update
+    floorQuery: ${properties.datacenter.url}object/floor/query
+    floorUpdate: ${properties.datacenter.url}object/floor/update
     # 绑定楼层接口
-    floorBind: ${properties.datacenter.url}update/equip-ispace
+    floorBind: ${properties.datacenter.url}rel/update/equip-ispace
     # 资产接口
-    propertyQuery: ${properties.datacenter.url}property/query
-    propertyUpdate: ${properties.datacenter.url}property/update
+    propertyQuery: ${properties.datacenter.url}object/property/query
+    propertyUpdate: ${properties.datacenter.url}object/property/update
     # 同步构件接口
     windowCreate: ${properties.datacenter.url}window/create_ignore
     vwallCreate: ${properties.datacenter.url}vwall/create_ignore

+ 1 - 1
scheduler/src/main/resources-prod/application.yml

@@ -41,7 +41,7 @@ spring:
 #    driver-class-name:                  com.mysql.cj.jdbc.Driver
     driver-class-name:                  org.postgresql.Driver
 #    url:                                jdbc:mysql://172.16.0.235:3306/datacenter?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai  #&zeroDateTimeBehavior=convertToNull
-    url:                                jdbc:postgresql://172.17.100.16:5432/datacenterlabsl
+    url:                                jdbc:postgresql://172.17.100.16:5432/datacenter
       #?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai  #&zeroDateTimeBehavior=convertToNull
 #    username:                           root
 #    password:                           123456