|
@@ -28,11 +28,11 @@ package com.persagy.server.syn.controllers.obj
|
|
|
|
|
|
import com.persagy.base.extensions.toJson
|
|
import com.persagy.base.extensions.toJson
|
|
import com.persagy.database.SFilter
|
|
import com.persagy.database.SFilter
|
|
|
|
+import com.persagy.database.functions.SLength
|
|
import com.persagy.mybatis.SMybatisDao
|
|
import com.persagy.mybatis.SMybatisDao
|
|
import com.persagy.server.datacenter.models.entities.dictnew.DictProject
|
|
import com.persagy.server.datacenter.models.entities.dictnew.DictProject
|
|
import com.persagy.server.datacenter.models.entities.objects.Equipment
|
|
import com.persagy.server.datacenter.models.entities.objects.Equipment
|
|
-import com.persagy.server.datacenter.models.entities.rel.REqForBd
|
|
|
|
-import com.persagy.server.datacenter.models.entities.rel.REqForFl
|
|
|
|
|
|
+import com.persagy.server.datacenter.models.entities.rel.*
|
|
import com.persagy.server.syn.Configure
|
|
import com.persagy.server.syn.Configure
|
|
import com.persagy.server.syn.models.api.obj.EquipApi
|
|
import com.persagy.server.syn.models.api.obj.EquipApi
|
|
import com.persagy.service.SBaseService
|
|
import com.persagy.service.SBaseService
|
|
@@ -66,13 +66,19 @@ class RelToFromController {
|
|
private val rEqForFlService = SBaseService(SMybatisDao(REqForFl::class.java))
|
|
private val rEqForFlService = SBaseService(SMybatisDao(REqForFl::class.java))
|
|
/** 设备服务建筑 */
|
|
/** 设备服务建筑 */
|
|
private val rEqForBdService = SBaseService(SMybatisDao(REqForBd::class.java))
|
|
private val rEqForBdService = SBaseService(SMybatisDao(REqForBd::class.java))
|
|
|
|
+ /** 系统下的设备 */
|
|
|
|
+ private val rSyEqService = SBaseService(SMybatisDao(RSyEq::class.java))
|
|
|
|
+ /** 设备服务于竖井 */
|
|
|
|
+ private val rEqForShService = SBaseService(SMybatisDao(REqForSh::class.java))
|
|
|
|
+ /** 设备所在竖井 */
|
|
|
|
+ private val rEqInShService = SBaseService(SMybatisDao(REqInSh::class.java))
|
|
|
|
+ /** 数据中心设备和空间关系 */
|
|
|
|
+ private val rEq2SpService = SObjectService(SMybatisDao(REq2Sp::class.java))
|
|
/** 数据中心设备服务 */
|
|
/** 数据中心设备服务 */
|
|
private val equipmentService = SObjectService(SMybatisDao(Equipment::class.java))
|
|
private val equipmentService = SObjectService(SMybatisDao(Equipment::class.java))
|
|
/** 字典项目服务 */
|
|
/** 字典项目服务 */
|
|
private val dictProjectService = SBaseService(SMybatisDao(DictProject::class.java))
|
|
private val dictProjectService = SBaseService(SMybatisDao(DictProject::class.java))
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* 设备和楼层关系-同步到中台
|
|
* 设备和楼层关系-同步到中台
|
|
*
|
|
*
|
|
@@ -136,7 +142,7 @@ class RelToFromController {
|
|
* @param isDel 是否删除以前的关系
|
|
* @param isDel 是否删除以前的关系
|
|
* @return 返回是否成功结果
|
|
* @return 返回是否成功结果
|
|
*/
|
|
*/
|
|
- @Operation(summary= "设备和楼层关系-同步到中台", description = "设备所在的建筑(图类型 MechInArch 边类型 Eq2Bd ),设备服务的建筑(图类型 MechForArch 边类型 Eq2Bd), ")
|
|
|
|
|
|
+ @Operation(summary= "设备和建筑关系-同步到中台", description = "设备所在的建筑(图类型 MechInArch 边类型 Eq2Bd ),设备服务的建筑(图类型 MechForArch 边类型 Eq2Bd), ")
|
|
@PostMapping("/eq2bd")
|
|
@PostMapping("/eq2bd")
|
|
fun eq2Bd(projectId: String,graphCode: String,type: String,isDel: Boolean = false): SBaseResponse {
|
|
fun eq2Bd(projectId: String,graphCode: String,type: String,isDel: Boolean = false): SBaseResponse {
|
|
try {
|
|
try {
|
|
@@ -187,17 +193,82 @@ class RelToFromController {
|
|
*/
|
|
*/
|
|
@Operation(summary= "设备和系统关系-同步到中台", description = "系统下设备(图类型 MechSubset 边类型 Sy2Eq )")
|
|
@Operation(summary= "设备和系统关系-同步到中台", description = "系统下设备(图类型 MechSubset 边类型 Sy2Eq )")
|
|
@PostMapping("/sy2eq")
|
|
@PostMapping("/sy2eq")
|
|
- fun sy2Eq(projectId: String,graphCode: String,type: String,isDel: Boolean = false){
|
|
|
|
- val dictProject = dictProjectService.select(SFilter.eq("id", projectId)).entity()
|
|
|
|
|
|
+ fun sy2Eq(projectId: String,graphCode: String,type: String,isDel: Boolean = false): SBaseResponse {
|
|
|
|
+ try {
|
|
|
|
+ val dictProject = dictProjectService.select(SFilter.eq("id", projectId)).entity()
|
|
|
|
+ val rSyEqList = rSyEqService.select(
|
|
|
|
+ SFilter.eq("projectId", projectId),
|
|
|
|
+ SFilter.eq("graphCode", graphCode),
|
|
|
|
+ SFilter.eq("type", type)
|
|
|
|
+ ).exec()
|
|
|
|
+ if (rSyEqList.size>0){
|
|
|
|
+ for (rSyEq in rSyEqList){
|
|
|
|
+ if (isDel) {
|
|
|
|
+ val toJsonObj = Configure.toJsonObj(graphCode, type, rSyEq.sysId!!, null)
|
|
|
|
+ EquipApi.delRel(dictProject!!.groupCode!!, projectId,toJsonObj)
|
|
|
|
+ }
|
|
|
|
+ val toJsonObjArray =
|
|
|
|
+ Configure.toJsonObjArray(graphCode, type, rSyEq.sysId!!, rSyEq.equipId!!)
|
|
|
|
+ val createRel = EquipApi.createRel(dictProject!!.groupCode!!, projectId, toJsonObjArray)
|
|
|
|
+ if (!createRel){
|
|
|
|
+ logger.debug("系统下的设备关系失败:${toJsonObjArray.toJson()}")
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return SBaseResponse(SResponseType.success)
|
|
|
|
+ } catch (e: Exception) {
|
|
|
|
+ e.printStackTrace()
|
|
|
|
+ return SBaseResponse(SResponseType.failure,e.message!!)
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 设备和竖井关系
|
|
* 设备和竖井关系
|
|
*/
|
|
*/
|
|
- @Operation(summary= "设备和竖井关系-同步到中台", description = "设备所在的竖井(图类型 MechInArch 边类型 Eq2Bd ),设备服务的竖井(图类型 MechForArch 边类型 Eq2Sh), ")
|
|
|
|
|
|
+ @Operation(summary= "设备和竖井关系-同步到中台", description = "设备所在的竖井(图类型 MechInArch 边类型 Eq2Sh ),设备服务的竖井(图类型 MechForArch 边类型 Eq2Sh), ")
|
|
@PostMapping("/eq2sh")
|
|
@PostMapping("/eq2sh")
|
|
- fun eq2Sh(projectId: String,graphCode: String,type: String,isDel: Boolean = false){
|
|
|
|
- val dictProject = dictProjectService.select(SFilter.eq("id", projectId)).entity()
|
|
|
|
|
|
+ fun eq2Sh(projectId: String,graphCode: String,type: String,isDel: Boolean = false): SBaseResponse {
|
|
|
|
+ try {
|
|
|
|
+ val dictProject = dictProjectService.select(SFilter.eq("id", projectId)).entity()
|
|
|
|
+ if (graphCode == "MechInArch") {
|
|
|
|
+ val rEqInShList = rEqInShService.select(SFilter.eq("projectId", projectId)).exec()
|
|
|
|
+ if (rEqInShList.size>0) {
|
|
|
|
+ for (rEqInSh in rEqInShList) {
|
|
|
|
+ if (isDel) {
|
|
|
|
+ val toJsonObj = Configure.toJsonObj(graphCode, type, rEqInSh.equipId!!, null)
|
|
|
|
+ EquipApi.delRel(dictProject!!.groupCode!!, projectId,toJsonObj)
|
|
|
|
+ }
|
|
|
|
+ val toJsonObjArray =
|
|
|
|
+ Configure.toJsonObjArray(graphCode, type, rEqInSh.equipId!!, rEqInSh.shaftId!!)
|
|
|
|
+ val createRel = EquipApi.createRel(dictProject!!.groupCode!!, projectId, toJsonObjArray)
|
|
|
|
+ if (!createRel){
|
|
|
|
+ logger.debug("设备所在竖井关系失败:${toJsonObjArray.toJson()}")
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else if (graphCode == "MechForArch") {
|
|
|
|
+ val rEqForShList = rEqForShService.select(SFilter.eq("projectId", projectId)).exec()
|
|
|
|
+ if (rEqForShList.size>0 ) {
|
|
|
|
+ for (rEqForSh in rEqForShList) {
|
|
|
|
+ if (isDel) {
|
|
|
|
+ val toJsonObj = Configure.toJsonObj(graphCode, type, rEqForSh.equipId!!, null)
|
|
|
|
+ EquipApi.delRel(dictProject!!.groupCode!!, projectId,toJsonObj)
|
|
|
|
+ }
|
|
|
|
+ val toJsonObjArray =
|
|
|
|
+ Configure.toJsonObjArray(graphCode, type, rEqForSh.equipId!!, rEqForSh.shaftId!!)
|
|
|
|
+ val createRel = EquipApi.createRel(dictProject!!.groupCode!!, projectId, toJsonObjArray)
|
|
|
|
+ if (!createRel){
|
|
|
|
+ logger.debug("设备服务的竖井关系失败:${toJsonObjArray.toJson()}")
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return SBaseResponse(SResponseType.success)
|
|
|
|
+ } catch (e: Exception) {
|
|
|
|
+ e.printStackTrace()
|
|
|
|
+ return SBaseResponse(SResponseType.failure,e.message!!)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -205,8 +276,33 @@ class RelToFromController {
|
|
*/
|
|
*/
|
|
@Operation(summary= "设备和空间关系-同步到中台", description = "设备所在的空间(图类型 MechInArch 边类型 Eq2Sp ),设备服务的空间(图类型 MechForArch 边类型 Eq2Sp), ")
|
|
@Operation(summary= "设备和空间关系-同步到中台", description = "设备所在的空间(图类型 MechInArch 边类型 Eq2Sp ),设备服务的空间(图类型 MechForArch 边类型 Eq2Sp), ")
|
|
@PostMapping("/eq2sp")
|
|
@PostMapping("/eq2sp")
|
|
- fun eq2Sp(projectId: String,graphCode: String,type: String,isDel: Boolean = false){
|
|
|
|
- val dictProject = dictProjectService.select(SFilter.eq("id", projectId)).entity()
|
|
|
|
|
|
+ fun eq2Sp(projectId: String,graphCode: String,type: String,isDel: Boolean = false): SBaseResponse {
|
|
|
|
+ try {
|
|
|
|
+ val dictProject = dictProjectService.select(SFilter.eq("id", projectId)).entity()
|
|
|
|
+ val rEq2SpList = rEq2SpService.select(
|
|
|
|
+ SFilter.eq("id", projectId),
|
|
|
|
+ SFilter.eq("graphCode", graphCode),
|
|
|
|
+ SFilter.eq("type", type)
|
|
|
|
+ ).exec()
|
|
|
|
+ if (rEq2SpList.size>0) {
|
|
|
|
+ for (rEq2Sp in rEq2SpList) {
|
|
|
|
+ if (isDel) {
|
|
|
|
+ val toJsonObj = Configure.toJsonObj(graphCode, type, rEq2Sp.id1!!, null)
|
|
|
|
+ EquipApi.delRel(dictProject!!.groupCode!!, projectId,toJsonObj)
|
|
|
|
+ }
|
|
|
|
+ val toJsonObjArray =
|
|
|
|
+ Configure.toJsonObjArray(graphCode, type, rEq2Sp.id1!!, rEq2Sp.id2!!)
|
|
|
|
+ val createRel = EquipApi.createRel(dictProject!!.groupCode!!, projectId, toJsonObjArray)
|
|
|
|
+ if (!createRel){
|
|
|
|
+ logger.debug("设备和空间关系失败:${toJsonObjArray.toJson()}")
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return SBaseResponse(SResponseType.success)
|
|
|
|
+ } catch (e: Exception) {
|
|
|
|
+ e.printStackTrace()
|
|
|
|
+ return SBaseResponse(SResponseType.failure,e.message!!)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -214,7 +310,52 @@ class RelToFromController {
|
|
*/
|
|
*/
|
|
fun eq2Ec(projectId: String,graphCode: String,type: String,isDel: Boolean = false){
|
|
fun eq2Ec(projectId: String,graphCode: String,type: String,isDel: Boolean = false){
|
|
val dictProject = dictProjectService.select(SFilter.eq("id", projectId)).entity()
|
|
val dictProject = dictProjectService.select(SFilter.eq("id", projectId)).entity()
|
|
|
|
+ val equipmentList =
|
|
|
|
+ equipmentService.select(SFilter.eq("projectId", projectId), SFilter.lte(SLength("classCode"), 8)).exec()
|
|
|
|
+ if (equipmentList.size>0) {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 系统所在的竖井,系统服务的竖井
|
|
|
|
+ */
|
|
|
|
+ fun sy2Sh(projectId: String,graphCode: String,type: String,isDel: Boolean = false){
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 竖井所在的空间
|
|
|
|
+ */
|
|
|
|
+ fun sh2Sp(projectId: String,graphCode: String,type: String,isDel: Boolean = false) {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ * 建筑下的竖井
|
|
|
|
+ */
|
|
|
|
+ /**
|
|
|
|
+ * 竖井下的业务空间
|
|
|
|
+ */
|
|
|
|
+ /**
|
|
|
|
+ * 竖井贯通关系
|
|
|
|
+ */
|
|
|
|
+ /**
|
|
|
|
+ * 设备和部件关系
|
|
|
|
+ */
|
|
|
|
+ /**
|
|
|
|
+ * 系统所在的楼层,系统服务于楼层
|
|
|
|
+ */
|
|
|
|
+ /**
|
|
|
|
+ * 建筑下的楼层
|
|
|
|
+ */
|
|
|
|
+ /**
|
|
|
|
+ * 楼层下的业务空间
|
|
|
|
+ */
|
|
|
|
+ /**
|
|
|
|
+ * 楼层贯通关系
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
}
|
|
}
|