浏览代码

********************WX***********************
同步关系

zhangweixin 4 年之前
父节点
当前提交
fc839068c6

+ 112 - 0
datacenter/src/main/kotlin/com/persagy/server/jms/TopicReceiver.kt

@@ -26,7 +26,17 @@
 
 package com.persagy.server.jms
 
+import com.persagy.mybatis.SMybatisDao
+import com.persagy.server.datacenter.models.jms.MessageNotice
+import com.persagy.server.datacenter.models.jms.SynchronousMessage
+import com.persagy.server.datacenter.models.jms.SynchronousMessageRel
+import com.persagy.service.SObjectService
+import com.persagy.service.utils.SJsonUtil
+import org.springframework.amqp.rabbit.annotation.RabbitHandler
+import org.springframework.amqp.rabbit.annotation.RabbitListener
 import org.springframework.stereotype.Component
+import org.springframework.stereotype.Service
+import java.util.*
 
 /**
  * 接收消息
@@ -34,13 +44,115 @@ import org.springframework.stereotype.Component
  * @author wx
  */
 @Component
+@Service
 class TopicReceiver {
 
+    /** 数据中心到数据中台关系 */
+    var synchronousMessageRelService = SObjectService(SMybatisDao(SynchronousMessageRel::class.java))
+    /** 缓存对象数据服务 - 数据中心到数据中台  */
+    var synchronousMessageObjService = SObjectService(SMybatisDao(SynchronousMessage::class.java))
+
 //    @RabbitListener(queues = ["queue-center-adm"])
 //    @RabbitHandler
     fun receiveMessage1(str: String) {
         println("我是监听queue-adm的,仅满足queue-adm的过来 , $str")
     }
 
+    /**
+     * 接收数据中心消息
+     *
+     * @param
+     */
+    @RabbitListener(queues = ["queue-center-adm"])
+    @RabbitHandler
+    fun receiveMessage(message: String) {
+        try {
+            println("接收数据中心消息 , $message")
+            val messageNotice = SJsonUtil.fromJson(message, MessageNotice::class.java)
+            if (messageNotice != null) {
+                when(messageNotice.objOrRel) {
+                    "objects" -> {
+                        try {
+                            /** id 列表不可以为空 */
+                            if (!messageNotice.idList.isNullOrEmpty()) {
+                                /** 遍历 id 列表 */
+                                for (id in messageNotice.idList!!) {
+                                    /** 同步消息对象 */
+                                    val messageObj = SynchronousMessage()
+                                    messageObj.projectId = messageNotice.projectId
+                                    messageObj.objId = id
+                                    messageObj.id =  UUID.randomUUID().toString().replace("-", "")
+                                    messageObj.sign = 1
+                                    if (messageNotice.type != "equip") {
+                                        messageObj.objectType = objType(id)
+                                    }else{
+                                        messageObj.objectType = "equip"
+                                    }
+                                    messageObj.type = messageNotice.type
+                                    /** 插入数据 */
+                                    synchronousMessageObjService.insert(messageObj)
+                                }
+                            }
+                        } catch (e: Exception) {
+                            e.printStackTrace()
+                        }
+                    }
+                    "rel" -> {
+                        /** 关系消息对象 */
+                        val messageRel = SynchronousMessageRel()
+                        messageRel.projectId = messageNotice.projectId
+                        messageRel.id = UUID.randomUUID().toString().replace("-", "")
+                        messageRel.sign = 1
+                        messageRel.ops = messageNotice.ops
+                        messageRel.type = messageNotice.type
+                        messageRel.fromId = messageNotice.fromId
+                        messageRel.toId = messageNotice.toId
+                        synchronousMessageRelService.insert(messageRel)
+                    }
+                }
+                /** 处理消息 */
+//                messageProcessing.syncDataCenter()
+            }
+        } catch (e: Exception) {
+            e.printStackTrace()
+        }
+    }
+
+    /**
+     * 根据对象 id 转换对象类型
+     *
+     * @param id    对象 id
+     * @return 对象类型
+     */
+    private fun objType(id: String): String {
+        when {
+            id.startsWith("Eq") -> {
+                return "equipment"
+            }
+            id.startsWith("Fl") -> {
+                return "floor"
+            }
+            id.startsWith("Bd") -> {
+                return "building"
+            }
+            id.startsWith("Sp") -> {
+                return "space"
+            }
+            id.startsWith("Sy") -> {
+                return "system"
+            }
+            id.startsWith("Sh") -> {
+                return "shaft"
+            }
+            id.startsWith("Ec") -> {
+                return "component"
+            }
+            id.startsWith("20") -> {
+                return "equip"
+            }
+
+            else -> return "object"
+        }
+    }
 
 }

+ 0 - 2
datacenter/src/main/kotlin/com/persagy/server/services/assistant/SchemeService.kt

@@ -141,8 +141,6 @@ open class SchemeService {
            if (!oldBimId.isNullOrEmpty()){
                oldBimIdNew = oldBimId
            }
-           logger.debug( "前缀数据bimId =  ${bimId} *******************************************************")
-           logger.debug( "前缀数据oldBimId =  ${oldBimId} *******************************************************")
             val rUpDateEquipAndSapce = mapper.rUpDateEquipAndSapce(projectId, oldBimIdNew, bimId, floorId)
 
            val floorEntity = FloorService.select(SFilter.eq("id", floorId)).entity()

+ 9 - 3
datasyn/src/main/kotlin/com/persagy/server/syn/Configure.kt

@@ -28,7 +28,6 @@ package com.persagy.server.syn
 
 import com.alibaba.fastjson.JSONArray
 import com.alibaba.fastjson.JSONObject
-import com.persagy.base.extensions.toJson
 import org.slf4j.LoggerFactory
 
 /**
@@ -116,7 +115,7 @@ object Configure {
      * @param objFrom       主对象 id
      * @param objTo         从对象 id
      */
-    fun toJsonObjList(graphCode: String, relCode: String, objFrom: String, objTos: ArrayList<String>): JSONArray {
+    fun toJsonObjList(graphCode: String, relCode: String, objFrom: String, objTos: ArrayList<String>,type: String? = null): JSONArray {
         /** 列表 */
         val jsonArray = JSONArray()
         for (id in objTos){
@@ -130,6 +129,9 @@ object Configure {
             jsonObject["objFrom"] = objFrom
             /** 从对象 id */
             jsonObject["objTo"] = id
+            if (!type.isNullOrEmpty()) {
+                jsonObject["relValue"] = type
+            }
             /** 添加到列表 */
             jsonArray.add(jsonObject)
         }
@@ -144,7 +146,7 @@ object Configure {
      * @param objFroms      主对象列表 id
      * @param objTo         从对象 id
      */
-    fun toJsonObjFromList(graphCode: String, relCode: String, objFroms: ArrayList<String>, objTo: String): JSONArray {
+    fun toJsonObjFromList(graphCode: String, relCode: String, objFroms: ArrayList<String>, objTo: String,type: String? = null): JSONArray {
 
         /** 列表 */
         val jsonArray = JSONArray()
@@ -159,6 +161,10 @@ object Configure {
             jsonObject["objFrom"] = id
             /** 从对象 id */
             jsonObject["objTo"] = objTo
+            if (!type.isNullOrEmpty()) {
+                jsonObject["relValue"] = type
+            }
+
             /** 添加到列表 */
             jsonArray.add(jsonObject)
         }

+ 130 - 35
datasyn/src/main/kotlin/com/persagy/server/syn/controllers/obj/RelFromToControllers.kt

@@ -125,41 +125,6 @@ class RelFromToControllers {
     }
 
     /**
-     * 系统下的设备设施
-     */
-    @Operation(summary= "系统下的设备设施-同步到数据中心", description = "")
-    @PostMapping("/sy2EqIn")
-    fun sy2EqIn(@RequestParam projectId: String): SBaseResponse {
-        try {
-            val dictProject = dictProjectService.select(SFilter.eq("id", projectId)).entity()
-            if (dictProject!=null) {
-                val relList = EquipApi.getRel(dictProject.groupCode!!, projectId, "MechSubset", "Sy2Eq")
-                if (!relList.isNullOrEmpty()){
-                    for ( rel in relList) {
-                        try {
-                            val fromId = rel["objFrom"].toString()
-                            val toId = rel["objTo"].toString()
-                            val rSyEq = RSyEq()
-                            rSyEq.sysId = fromId
-                            rSyEq.equipId = toId
-                            rSyEq.projectId = projectId
-                            rSyEq.graphCode = "MechSubset"
-                            rSyEq.type = "Sy2Eq"
-                            rSyEqService.replace(rSyEq)
-                        } catch (e: Exception) {
-                            e.printStackTrace()
-                        }
-                    }
-                }
-            }
-            return SBaseResponse(SResponseType.success)
-        } catch (e: Exception) {
-            e.printStackTrace()
-            return SBaseResponse(SResponseType.failure)
-        }
-    }
-
-    /**
      * 设备设施服务业务空间
      */
     @Operation(summary= "设备设施服务业务空间-同步到数据中心", description = "")
@@ -206,6 +171,41 @@ class RelFromToControllers {
     }
 
     /**
+     * 系统下的设备设施
+     */
+    @Operation(summary= "系统下的设备设施-同步到数据中心", description = "")
+    @PostMapping("/sy2EqIn")
+    fun sy2EqIn(@RequestParam projectId: String): SBaseResponse {
+        try {
+            val dictProject = dictProjectService.select(SFilter.eq("id", projectId)).entity()
+            if (dictProject!=null) {
+                val relList = EquipApi.getRel(dictProject.groupCode!!, projectId, "MechSubset", "Sy2Eq")
+                if (!relList.isNullOrEmpty()){
+                    for ( rel in relList) {
+                        try {
+                            val fromId = rel["objFrom"].toString()
+                            val toId = rel["objTo"].toString()
+                            val rSyEq = RSyEq()
+                            rSyEq.sysId = fromId
+                            rSyEq.equipId = toId
+                            rSyEq.projectId = projectId
+                            rSyEq.graphCode = "MechSubset"
+                            rSyEq.type = "Sy2Eq"
+                            rSyEqService.replace(rSyEq)
+                        } catch (e: Exception) {
+                            e.printStackTrace()
+                        }
+                    }
+                }
+            }
+            return SBaseResponse(SResponseType.success)
+        } catch (e: Exception) {
+            e.printStackTrace()
+            return SBaseResponse(SResponseType.failure)
+        }
+    }
+
+    /**
      * 建筑下的竖井
      */
     @Operation(summary= "建筑下的竖井-同步到数据中心", description = "")
@@ -317,4 +317,99 @@ class RelFromToControllers {
         }
     }
 
+
+    /**
+     * 楼层下的业务空间
+     */
+    @Operation(summary= "楼层下的业务空间 - 同步到数据中心", description = "")
+    @PostMapping("/fl2SpIn")
+    fun fl2SpIn(@RequestParam projectId: String): SBaseResponse {
+        try {
+            val dictProject = dictProjectService.select(SFilter.eq("id", projectId)).entity()
+            if (dictProject!=null) {
+                val relList = EquipApi.getRel(dictProject.groupCode!!, projectId, "ArchSubset", "Fl2Sp")
+                if (!relList.isNullOrEmpty()){
+                    for ( rel in relList) {
+                        try {
+                            val fromId = rel["objFrom"].toString()
+                            val toId = rel["objTo"].toString()
+                            val entity = floorService.select(SFilter.eq("id", fromId)).entity()
+                            val rSpinFl = RSpinFl()
+                            rSpinFl.floorId = fromId
+                            rSpinFl.spaceId = toId
+                            rSpinFl.projectId = projectId
+                            if (entity!=null) {
+                                rSpinFl.buildingId = entity.buildingId
+                            }
+                            val containsKey = rel.containsKey("relValue")
+                            if (containsKey) {
+                                rSpinFl.objectType = rel["relValue"].toString()
+                            } else {
+                                val zoneSpace = zoneSpaceService.select(
+                                    SFilter.eq("projectId", projectId),
+                                    SFilter.eq("id", rSpinFl.spaceId!!)
+                                ).entity()
+                                if (zoneSpace!=null) {
+                                    rSpinFl.objectType = zoneSpace.classCode
+                                }
+                            }
+                            rSpinFlService.replace(rSpinFl)
+                        } catch (e: Exception) {
+                            e.printStackTrace()
+                        }
+                    }
+                }
+            }
+            return SBaseResponse(SResponseType.success)
+        } catch (e: Exception) {
+            e.printStackTrace()
+            return SBaseResponse(SResponseType.failure)
+        }
+    }
+
+    /**
+     * 竖井下的业务空间
+     */
+    fun sh2SpIn(@RequestParam projectId: String): SBaseResponse{
+        try {
+            val dictProject = dictProjectService.select(SFilter.eq("id", projectId)).entity()
+            if (dictProject!=null) {
+                val relList = EquipApi.getRel(dictProject.groupCode!!, projectId, "ArchSubset", "Sh2Sp")
+                if (!relList.isNullOrEmpty()){
+                    for ( rel in relList) {
+                        try {
+                            val fromId = rel["objFrom"].toString()
+                            val toId = rel["objTo"].toString()
+                            val rSh2Sp = RSh2Sp()
+                            rSh2Sp.id1 = fromId
+                            rSh2Sp.id2 = toId
+                            rSh2Sp.projectId = projectId
+                            rSh2Sp.type = "sh2sp"
+                            val containsKey = rel.containsKey("relValue")
+                            if (containsKey) {
+                                rSh2Sp.zoneType = rel["relValue"].toString()
+                            } else {
+                                val zoneSpace = zoneSpaceService.select(
+                                    SFilter.eq("projectId", projectId),
+                                    SFilter.eq("id", rSh2Sp.id2!!)
+                                ).entity()
+                                if (zoneSpace!=null) {
+                                    rSh2Sp.zoneType = zoneSpace.classCode
+                                }
+                            }
+                            rSh2SpService.replace(rSh2Sp)
+                        } catch (e: Exception) {
+                            e.printStackTrace()
+                        }
+                    }
+                }
+            }
+            return SBaseResponse(SResponseType.success)
+        } catch (e: Exception) {
+            e.printStackTrace()
+            return SBaseResponse(SResponseType.failure)
+        }
+    }
+
+
 }

+ 2 - 0
datasyn/src/main/kotlin/com/persagy/server/syn/jms/DataCenterSync.kt

@@ -3,6 +3,7 @@ package com.persagy.server.syn.jms
 import com.google.gson.Gson
 import com.google.gson.reflect.TypeToken
 import com.persagy.base.extensions.toJson
+import com.persagy.database.SFilter
 import com.persagy.server.datacenter.models.jms.SynchronousMessage
 import com.persagy.server.datacenter.models.jms.SynchronousMessageRel
 import com.persagy.server.syn.Configure
@@ -124,6 +125,7 @@ class DataCenterSync {
                     when(message.ops){
 
                         "11" -> { // 创建关系
+
                             equipInSpaceSync.equipInSpaceCreate(message,"MechInArch","Eq2Sp",null)
                         }
                         "12" -> { // 删除关系

+ 2 - 5
datasyn/src/main/kotlin/com/persagy/server/syn/jms/MessageReceiver.kt

@@ -35,8 +35,6 @@ import com.persagy.server.syn.jms.bean.SyncRwdDatacenterMessage
 import com.persagy.service.SObjectService
 import com.persagy.service.utils.SJsonUtil
 import org.slf4j.LoggerFactory
-import org.springframework.amqp.rabbit.annotation.RabbitHandler
-import org.springframework.amqp.rabbit.annotation.RabbitListener
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.stereotype.Component
 import org.springframework.stereotype.Service
@@ -109,8 +107,8 @@ class MessageReceiver {
      *
      * @param
      */
-    @RabbitListener(queues = ["queue-center-adm"])
-    @RabbitHandler
+//    @RabbitListener(queues = ["queue-center-adm"])
+//    @RabbitHandler
     fun receiveMessage(message: String) {
         try {
             println("接收数据中心消息 , $message")
@@ -196,7 +194,6 @@ class MessageReceiver {
             id.startsWith("20") -> {
                 return "equip"
             }
-
             else -> return "object"
         }
     }

+ 38 - 30
datasyn/src/main/kotlin/com/persagy/server/syn/services/jms/DataCenterEquipment.kt

@@ -62,6 +62,7 @@ class DataCenterEquipment {
         val dictProject = dictProjectService.select(SFilter.eq("id", message.projectId!!)).entity()
         when (message.type) {
             Configure.CREATE -> {
+                if (dictProject!=null){
                 /**查询设备信息 */
                 val equip = equipService.select(
                     SFilter.eq("projectId", message.projectId!!),
@@ -75,8 +76,6 @@ class DataCenterEquipment {
                         /** 成功 */
                         message.sign = 0
 
-
-                        if (dictProject!=null){
                             if (!equip.buildingId.isNullOrEmpty()&&!equip.floorId.isNullOrEmpty()){
                                 try {
                                     val toJsonObjArray =
@@ -110,57 +109,66 @@ class DataCenterEquipment {
                             message.sign = 2
                             message.count = message.count+1
                         }
-
-
                     }else {
                         /** 失败 */
                         message.sign = 2
                         message.count = message.count+1
                     }
-
                 } else {
                     /** 失败 */
-                    message.sign = 0
+                    message.sign = 2
+                    message.count = message.count+1
                 }
                 /** 更改标记 */
                 synchronousMessageObjService.update(message, arrayListOf("sign","count"))
             }
             Configure.UPDATE -> {
                 /** 修改 */
-                /**查询floor信息 */
-                val equip = equipService.select(
-                    SFilter.eq("projectId", message.projectId!!),
-                    SFilter.eq("id", message.objId!!)
-                ).entity()
-                /** floor不为空 */
-                if (equip!=null) {
-                    val equipList = EquipUtil.equipTools(message.projectId!!, equip)
-                    val sign = EquipApi.updateObj(dictProject!!.groupCode!!,message.projectId!!, equipList)
-                    if (sign){
-                        /** 成功 */
+                if (dictProject!=null) {
+                    /**查询floor信息 */
+                    val equip = equipService.select(
+                        SFilter.eq("projectId", message.projectId!!),
+                        SFilter.eq("id", message.objId!!)
+                    ).entity()
+                    /** floor不为空 */
+                    if (equip != null) {
+                        val equipList = EquipUtil.equipTools(message.projectId!!, equip)
+                        val sign = EquipApi.updateObj(dictProject!!.groupCode!!, message.projectId!!, equipList)
+                        if (sign) {
+                            /** 成功 */
+                            message.sign = 0
+                        } else {
+                            /** 失败 */
+                            message.sign = 2
+                            message.count = message.count + 1
+                        }
+
+                    } else {
                         message.sign = 0
-                    }else {
-                        /** 失败 */
-                        message.sign = 2
-                        message.count = message.count+1
                     }
-
                 } else {
-                    message.sign = 0
+                    message.sign = 2
+                    message.count = message.count + 1
                 }
                 /** 更改标记 */
                 synchronousMessageObjService.update(message, arrayListOf("sign","count"))
             }
             Configure.DELETE -> {
-                /** 删除 */
-               val sign = EquipApi.deleteObj(dictProject!!.groupCode!!,message.projectId!!, message.objId!!)
-                if (sign){
-                    /** 成功 */
-                    message.sign = 0
-                }else {
+                if (dictProject!=null) {
+                    /** 删除 */
+                    val sign = EquipApi.deleteObj(dictProject!!.groupCode!!, message.projectId!!, message.objId!!)
+                    if (sign) {
+                        /** 成功 */
+                        message.sign = 0
+                    } else {
+                        /** 失败 */
+                        message.sign = 2
+                        message.count = message.count + 1
+                    }
+                } else {
                     /** 失败 */
                     message.sign = 2
-                    message.count = message.count+1
+                    message.count = message.count + 1
                 }
                 /** 更改标记 */
                 synchronousMessageObjService.update(message, arrayListOf("sign","count"))

+ 2 - 2
datasyn/src/main/kotlin/com/persagy/server/syn/services/jms/DataCenterSpace.kt

@@ -100,7 +100,7 @@ class DataCenterSpace {
                                 for (rSpinBd in rSpinBdList) {
                                     val toJsonObj =
                                         toJsonObjArray("ArchSubset", "Bd2Sp", space.id!!, rSpinBd.buildingId!!)
-                                    jsonArray.plus(toJsonObj)
+                                    jsonArray.add(toJsonObj)
                                 }
                             }
                             /** 业务空间的楼层 */
@@ -108,7 +108,7 @@ class DataCenterSpace {
                                 for (rSpinFl in rSpinFlList){
                                     val toJsonObj =
                                         toJsonObjArray("ArchSubset", "Fl2Sp", space.id!!, rSpinFl.floorId!!)
-                                    jsonArray.plus(toJsonObj)
+                                    jsonArray.add(toJsonObj)
                                 }
                             }
                             if (listRel.size>0) {

+ 31 - 8
datasyn/src/main/kotlin/com/persagy/server/syn/services/jms/rel/EquipinSpaceSync.kt

@@ -4,9 +4,11 @@ import com.alibaba.fastjson.JSONArray
 import com.persagy.database.SFilter
 import com.persagy.mybatis.SMybatisDao
 import com.persagy.server.datacenter.models.entities.dictnew.DictProject
+import com.persagy.server.datacenter.models.entities.objects.ZoneSpace
 import com.persagy.server.datacenter.models.jms.SynchronousMessageRel
 import com.persagy.server.syn.Configure
 import com.persagy.server.syn.models.api.obj.EquipApi
+import com.persagy.service.SBaseService
 import com.persagy.service.SObjectService
 import org.slf4j.LoggerFactory
 import org.springframework.stereotype.Service
@@ -26,6 +28,8 @@ class EquipinSpaceSync {
     var synchronousMessageRelService = SObjectService(SMybatisDao(SynchronousMessageRel::class.java))
     /** 项目所属的集团 */
     private val dictProjectService = SObjectService(SMybatisDao(DictProject::class.java))
+    /** 空间对象服务 */
+    private val zoneSpaceService = SBaseService(SMybatisDao(ZoneSpace::class.java))
 
     /**
      * 创建关系
@@ -42,11 +46,19 @@ class EquipinSpaceSync {
                 synchronousMessageRel.sign = 0
                 val toJsonObjArray :JSONArray
                     if (!fromIds.isNullOrEmpty()){
-                    /** 关系列表 */
-                        toJsonObjArray= Configure.toJsonObjFromList(graphCode, relCode, fromIds, synchronousMessageRel.fromId!!)
+                        /** 关系列表 */
+                        val zoneSpace = zoneSpaceService.select(
+                            SFilter.eq("projectId", synchronousMessageRel.projectId!!),
+                            SFilter.eq("id", synchronousMessageRel.fromId!!)
+                        ).entity()
+                        toJsonObjArray= Configure.toJsonObjFromList(graphCode, relCode, fromIds, synchronousMessageRel.fromId!!,zoneSpace?.classCode)
                 } else {
-                    /** 关系列表 */
-                        toJsonObjArray = Configure.toJsonObjArray(graphCode, relCode, synchronousMessageRel.fromId!!, synchronousMessageRel.toId!!)
+                        val zoneSpace = zoneSpaceService.select(
+                            SFilter.eq("projectId", synchronousMessageRel.projectId!!),
+                            SFilter.eq("id", synchronousMessageRel.toId!!)
+                        ).entity()
+                        /** 关系列表 */
+                        toJsonObjArray = Configure.toJsonObjArray(graphCode, relCode, synchronousMessageRel.fromId!!, synchronousMessageRel.toId!!,zoneSpace?.classCode)
                 }
 
                 val createRel = EquipApi.createRel(dictProject.groupCode!!, synchronousMessageRel.projectId!!, toJsonObjArray)
@@ -145,9 +157,13 @@ class EquipinSpaceSync {
                 val toJsonObj = Configure.toJsonObj(graphCode, relCode, synchronousMessageRel.fromId!!, null)
                 val delRel = EquipApi.delRel(dictProject.groupCode!!, synchronousMessageRel.projectId!!, toJsonObj)
                 if (delRel) {
+                    val zoneSpace = zoneSpaceService.select(
+                        SFilter.eq("projectId", synchronousMessageRel.projectId!!),
+                        SFilter.eq("id", toIds[0])
+                    ).entity()
                     /** 关系列表 */
                     val toJsonObjArray =
-                            Configure.toJsonObjList(graphCode, relCode, synchronousMessageRel.fromId!!, toIds)
+                            Configure.toJsonObjList(graphCode, relCode, synchronousMessageRel.fromId!!, toIds,zoneSpace?.classCode)
 
                     val createRel = EquipApi.createRel(dictProject.groupCode!!, synchronousMessageRel.projectId!!, toJsonObjArray)
                     if (!createRel ){
@@ -158,8 +174,7 @@ class EquipinSpaceSync {
                     synchronousMessageRel.sign = 2
                     synchronousMessageRel.count +1
                 }
-                /** 更改标记 */
-                synchronousMessageRelService.update(synchronousMessageRel, arrayListOf("sign","count"))
+
 
             } else {
                 synchronousMessageRel.sign = 2
@@ -167,7 +182,11 @@ class EquipinSpaceSync {
             }
         } catch (e: Exception) {
             e.printStackTrace()
+            synchronousMessageRel.sign = 2
+            synchronousMessageRel.count +1
         }
+        /** 更改标记 */
+        synchronousMessageRelService.update(synchronousMessageRel, arrayListOf("sign","count"))
     }
 
     /**
@@ -189,9 +208,13 @@ class EquipinSpaceSync {
                     }
                 }
                 if (synchronousMessageRel.sign == 0){
+                    val zoneSpace = zoneSpaceService.select(
+                        SFilter.eq("projectId", synchronousMessageRel.projectId!!),
+                        SFilter.eq("id", synchronousMessageRel.toId!!)
+                    ).entity()
                     /** 关系列表 */
                     val toJsonObjArray =
-                            Configure.toJsonObjFromList(graphCode, relCode, fromIds, synchronousMessageRel.toId!!)
+                            Configure.toJsonObjFromList(graphCode, relCode, fromIds, synchronousMessageRel.toId!!,zoneSpace?.classCode)
 
                     val createRel = EquipApi.createRel(dictProject.groupCode!!, synchronousMessageRel.projectId!!, toJsonObjArray)
                     if (!createRel ){

+ 2 - 2
datasyn/src/main/kotlin/com/persagy/server/syn/task/SchedulerTaskRel.kt

@@ -52,8 +52,8 @@ class SchedulerTaskRel {
 
     //cron表达式:每隔5秒执行一次
 //    @Scheduled(cron = "0 */3 * * * ?")
-    @Scheduled(cron="0/5 * *  * * ? ")   //每5秒执行一次
-//    @Scheduled(cron = "0 */1 * * * ?")
+//    @Scheduled(cron="0/5 * *  * * ? ")   //每5秒执行一次
+    @Scheduled(cron = "0 */1 * * * ?")
     fun scheduled() {
         logger.info("同步数据中心任务开始至数据中台-关系数据")
         messageProcessing.syncDataCenterRel()