|
@@ -35,9 +35,7 @@ import java.text.SimpleDateFormat
|
|
|
import java.util.*
|
|
|
import kotlin.collections.ArrayList
|
|
|
import kotlin.collections.HashMap
|
|
|
-import com.alibaba.fastjson.JSON
|
|
|
import com.sybotan.android.demo.bean.*
|
|
|
-import io.reactivex.Observable
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -831,325 +829,241 @@ class GraphyVM(
|
|
|
val equipId = if (TextUtils.isEmpty(deviceId)) uuid else deviceId
|
|
|
//获取关系二级列表
|
|
|
val configParent = ArrayList<RelConfigEntityPackClass>()
|
|
|
- val relList = mutableListOf<List<RelationEntity>>()
|
|
|
+ val relList = mutableListOf<List<RelationPackClass>>()
|
|
|
val fromList = repo.getRelConfigByCodeFrom(entity.code!!)
|
|
|
val toList = repo.getRelConfigByCodeTo(entity.code!!)
|
|
|
- for (config in fromList) {
|
|
|
- val relsFrom = repo.getRelByCodeFrom(config.graphCode!!, config.relCode!!, equipId)
|
|
|
- if (!CommonUtils.IsNull(relsFrom)) {
|
|
|
- var relRealFrom = ArrayList<RelationEntity>()
|
|
|
- relRealFrom.addAll(relsFrom)
|
|
|
- val iterator = relRealFrom.iterator()
|
|
|
- while (iterator.hasNext()) {
|
|
|
- val rel = iterator.next()
|
|
|
- val objFrom = repo.getObject(rel.objFrom!!)
|
|
|
- val objTo = repo.getObject(rel.objTo!!)
|
|
|
- if (objFrom == null) {
|
|
|
- rel.objFromLocalId = "该设备"
|
|
|
- if (!entity.code.equals(config.classCodeFrom)) {
|
|
|
-// relRealFrom.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (TextUtils.isEmpty(objFrom.localId)) {
|
|
|
- rel.objFromLocalId = objFrom.localName
|
|
|
- } else {
|
|
|
- rel.objFromLocalId = objFrom.localId
|
|
|
- }
|
|
|
- if (!objFrom.classCode.equals(config.classCodeFrom)) {
|
|
|
-// relRealFrom.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- }
|
|
|
- if (objTo == null) {
|
|
|
- rel.objToLocalId = "该设备"
|
|
|
- if (!entity.code.equals(config.classCodeTo)) {
|
|
|
-// relRealFrom.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (TextUtils.isEmpty(objTo.localId)) {
|
|
|
- rel.objToLocalId = objTo.localName
|
|
|
- } else {
|
|
|
- rel.objToLocalId = objTo.localId
|
|
|
- }
|
|
|
- if (!objTo.classCode.equals(config.classCodeTo)) {
|
|
|
-// relRealFrom.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- }
|
|
|
+ loadCfgs(entity.code, fromList, true, configParent)
|
|
|
+ loadCfgs(entity.code, toList, true, configParent)
|
|
|
+ for (parent in configParent) {
|
|
|
+ var rel = ArrayList<RelationPackClass>()
|
|
|
+ for (child in parent.targetTypes) {
|
|
|
+ if (child.canFrom) {
|
|
|
+ val to = repo.getRelByCodeTo(
|
|
|
+ parent.entity.graphCode!!,
|
|
|
+ parent.entity.relCode!!,
|
|
|
+ equipId
|
|
|
+ )
|
|
|
+ loadRelation(to, child, parent, rel)
|
|
|
}
|
|
|
- for (rel in relRealFrom) {
|
|
|
|
|
|
+ if (child.canTo) {
|
|
|
+ val from = repo.getRelByCodeFrom(
|
|
|
+ parent.entity.graphCode!!,
|
|
|
+ parent.entity.relCode!!,
|
|
|
+ equipId
|
|
|
+ )
|
|
|
+ loadRelation(from, child, parent, rel)
|
|
|
}
|
|
|
- relList.add(relRealFrom)
|
|
|
- } else {
|
|
|
- relList.add(ArrayList<RelationEntity>())
|
|
|
}
|
|
|
- val pack = RelConfigEntityPackClass()
|
|
|
- pack.entity = config
|
|
|
- if (config.objTypeFrom.equals("equipment")) {
|
|
|
- val equipmentFrom = repo.getEquipByCode(config.classCodeFrom!!)
|
|
|
- pack.fromName = equipmentFrom?.name
|
|
|
- } else {
|
|
|
- val equipmentFrom = repo.getSysByCode(config.classCodeFrom!!)
|
|
|
- pack.fromName = equipmentFrom?.name
|
|
|
+ relList.add(rel)
|
|
|
+ }
|
|
|
+ val hashMap = HashMap<String, Any>()
|
|
|
+ hashMap.put("parent", configParent)
|
|
|
+ hashMap.put("child", relList)
|
|
|
+ mEmitter.SendDircetive(EQUIP_REL, hashMap)
|
|
|
|
|
|
+ //获取管道二级列表
|
|
|
+ val pipeParent = ArrayList<PipeConfigEntityPackClass>()
|
|
|
+ val pipeChildren = mutableListOf<List<PipeEntity>>()
|
|
|
+ val pipeFromList = repo.getPipeConfigByCodeFrom(entity.code)
|
|
|
+ val pipeToList = repo.getPipeConfigByCodeTo(entity.code)
|
|
|
+ loadPipeCfgs(entity.code, pipeFromList, true, pipeParent)
|
|
|
+ loadPipeCfgs(entity.code, pipeToList, true, pipeParent)
|
|
|
+ val floorPipes = repo.getPipeByFloorId(floorId)
|
|
|
+ for (parent in pipeParent) {
|
|
|
+ var pipes = ArrayList<PipeEntity>()
|
|
|
+ for (floorPipe in floorPipes) {
|
|
|
+ if ((floorPipe.objFrom.equals(deviceId) || floorPipe.objTo.equals(deviceId)) && floorPipe.pipeType.equals(
|
|
|
+ parent.entity.pipeType
|
|
|
+ ) && floorPipe.pipeSubType.equals(parent.entity.pipeSubType)
|
|
|
+ ) {
|
|
|
+ bindPipeName(floorPipe)
|
|
|
+ pipes.add(floorPipe)
|
|
|
+ }
|
|
|
}
|
|
|
- if (config.objTypeTo.equals("equipment")) {
|
|
|
- val equipmentTo = repo.getEquipByCode(config.classCodeTo!!)
|
|
|
- pack.toName = equipmentTo?.name
|
|
|
- } else {
|
|
|
- val equipmentTo = repo.getSysByCode(config.classCodeTo!!)
|
|
|
- pack.toName = equipmentTo?.name
|
|
|
- }
|
|
|
- configParent.add(pack)
|
|
|
+ pipeChildren.add(pipes)
|
|
|
}
|
|
|
+ val hashMap1 = HashMap<String, Any>()
|
|
|
+ hashMap1.put("parent", pipeParent)
|
|
|
+ hashMap1.put("child", pipeChildren)
|
|
|
+ mEmitter.SendDircetive(PIPE, hashMap1)
|
|
|
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- for (config in toList) {
|
|
|
- val relsTo = repo.getRelByCodeTo(config.graphCode!!, config.relCode!!, equipId)
|
|
|
- if (!CommonUtils.IsNull(relsTo)) {
|
|
|
- var relRealTo = ArrayList<RelationEntity>()
|
|
|
- relRealTo.addAll(relsTo)
|
|
|
- val iterator = relRealTo.iterator()
|
|
|
- while (iterator.hasNext()) {
|
|
|
- val rel = iterator.next()
|
|
|
- val objFrom = repo.getObject(rel.objFrom!!)
|
|
|
- val objTo = repo.getObject(rel.objTo!!)
|
|
|
- if (objFrom == null) {
|
|
|
- rel.objFromLocalId = "该设备"
|
|
|
- if (!entity.code.equals(config.classCodeFrom)) {
|
|
|
-// relRealTo.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (TextUtils.isEmpty(objFrom.localId)) {
|
|
|
- rel.objFromLocalId = objFrom.localName
|
|
|
- } else {
|
|
|
- rel.objFromLocalId = objFrom.localId
|
|
|
- }
|
|
|
- if (!objFrom.classCode.equals(config.classCodeFrom)) {
|
|
|
-// relRealTo.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- }
|
|
|
- if (objTo == null) {
|
|
|
- rel.objToLocalId = "该设备"
|
|
|
- if (!entity.code.equals(config.classCodeTo)) {
|
|
|
-// relRealTo.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (TextUtils.isEmpty(objTo.localId)) {
|
|
|
- rel.objToLocalId = objTo.localName
|
|
|
- } else {
|
|
|
- rel.objToLocalId = objTo.localId
|
|
|
- }
|
|
|
- if (!objTo.classCode.equals(config.classCodeTo)) {
|
|
|
-// relRealTo.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ private suspend fun bindPipeName(floorPipe: PipeEntity) {
|
|
|
+ val from = repo.getObject(floorPipe.objFrom!!)
|
|
|
+ floorPipe.objFromLocalId =
|
|
|
+ if (from!!.id.startsWith("Eq")) from!!.localId else from!!.localName
|
|
|
+ val to = repo.getObject(floorPipe.objTo!!)
|
|
|
+ floorPipe.objToLocalId =
|
|
|
+ if (to!!.id.startsWith("Eq")) to!!.localId else to!!.localName
|
|
|
+ }
|
|
|
|
|
|
- relList.add(relRealTo)
|
|
|
- } else {
|
|
|
- relList.add(ArrayList<RelationEntity>())
|
|
|
+ private fun loadPipeCfgs(
|
|
|
+ srcCode: String,
|
|
|
+ cfgs: List<PipeConfigEntity>,
|
|
|
+ targetAsTo: Boolean,
|
|
|
+ groups: ArrayList<PipeConfigEntityPackClass>
|
|
|
+ ) {
|
|
|
+ for (cfg in cfgs) {
|
|
|
+ var group: PipeConfigEntityPackClass? = null
|
|
|
+ for (g in groups) {
|
|
|
+ if (g.samePipeConfig(cfg)) {
|
|
|
+ group = g
|
|
|
+ break
|
|
|
}
|
|
|
- val pack = RelConfigEntityPackClass()
|
|
|
- pack.entity = config
|
|
|
- if (config.objTypeFrom.equals("equipment")) {
|
|
|
- val equipmentFrom = repo.getEquipByCode(config.classCodeFrom!!)
|
|
|
- pack.fromName = equipmentFrom?.name
|
|
|
- } else {
|
|
|
- val equipmentFrom = repo.getSysByCode(config.classCodeFrom!!)
|
|
|
- pack.fromName = equipmentFrom?.name
|
|
|
+ }
|
|
|
+ if (group == null) {
|
|
|
+ group = PipeConfigEntityPackClass()
|
|
|
+ group.entity = cfg
|
|
|
+ groups.add(group)
|
|
|
+ }
|
|
|
+ val cfgTarget = if (targetAsTo) cfg.classCodeTo else cfg.classCodeFrom
|
|
|
|
|
|
+ var targetType: PipeConfigEntityPackClass.TargetPipeType? = null
|
|
|
+ for (t in group.targetTypes) {
|
|
|
+ if (t.targetCode.equals(cfgTarget)) {
|
|
|
+ targetType = t
|
|
|
+ break
|
|
|
}
|
|
|
- if (config.objTypeTo.equals("equipment")) {
|
|
|
- val equipmentTo = repo.getEquipByCode(config.classCodeTo!!)
|
|
|
- pack.toName = equipmentTo?.name
|
|
|
+ }
|
|
|
+ if (targetType == null) {
|
|
|
+ targetType = PipeConfigEntityPackClass.TargetPipeType()
|
|
|
+ targetType.srcCode = srcCode
|
|
|
+ targetType.pipeType = group.entity.pipeType
|
|
|
+ targetType.pipeSubType = group.entity.pipeSubType
|
|
|
+ targetType.targetCode = cfgTarget
|
|
|
+ group.targetTypes.add(targetType)
|
|
|
+ }
|
|
|
+ if (cfg.pipeDirection == 1) {
|
|
|
+ if (targetAsTo) {
|
|
|
+ targetType.canTo = true
|
|
|
} else {
|
|
|
- val equipmentTo = repo.getSysByCode(config.classCodeTo!!)
|
|
|
- pack.toName = equipmentTo?.name
|
|
|
+ targetType.canFrom = true
|
|
|
}
|
|
|
- configParent.add(pack)
|
|
|
-
|
|
|
- }
|
|
|
- val hashMap = HashMap<String, Any>()
|
|
|
- hashMap.put("parent", configParent)
|
|
|
- hashMap.put("child", relList)
|
|
|
- mEmitter.SendDircetive(EQUIP_REL, hashMap)
|
|
|
-
|
|
|
- //获取管道二级列表
|
|
|
- val pipeParent = ArrayList<PipeConfigEntityPackClass>()
|
|
|
- val pipeChildren = mutableListOf<List<PipeEntity>>()
|
|
|
- val pipeFromList = repo.getPipeConfigByCodeFrom(entity.code!!)
|
|
|
- val pipeToList = repo.getPipeConfigByCodeTo(entity.code!!)
|
|
|
-
|
|
|
-
|
|
|
- for (config in pipeFromList) {
|
|
|
- val pipeFrom =
|
|
|
- repo.getPipeByIdFrom(equipId, config.pipeType!!, config.pipeSubType!!)
|
|
|
- if (!CommonUtils.IsNull(pipeFrom)) {
|
|
|
- var pipeRealFrom = ArrayList<PipeEntity>()
|
|
|
- pipeRealFrom.addAll(pipeFrom)
|
|
|
- val iterator = pipeRealFrom.iterator()
|
|
|
- while (iterator.hasNext()) {
|
|
|
- val rel = iterator.next()
|
|
|
- val objFrom = repo.getObject(rel.objFrom!!)
|
|
|
- val objTo = repo.getObject(rel.objTo!!)
|
|
|
- if (objFrom == null) {
|
|
|
- rel.objFromLocalId = "该设备"
|
|
|
- if (!entity.code.equals(config.classCodeFrom)) {
|
|
|
-// pipeRealFrom.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (TextUtils.isEmpty(objFrom.localId)) {
|
|
|
- rel.objFromLocalId = objFrom.localName
|
|
|
- } else {
|
|
|
- rel.objFromLocalId = objFrom.localId
|
|
|
- }
|
|
|
- if (!objFrom.classCode.equals(config.classCodeFrom)) {
|
|
|
-// pipeRealFrom.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- }
|
|
|
- if (objTo == null) {
|
|
|
- rel.objToLocalId = "该设备"
|
|
|
- if (!entity.code.equals(config.classCodeTo)) {
|
|
|
-// pipeRealFrom.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (TextUtils.isEmpty(objTo.localId)) {
|
|
|
- rel.objToLocalId = objTo.localName
|
|
|
- } else {
|
|
|
- rel.objToLocalId = objTo.localId
|
|
|
- }
|
|
|
- if (!objTo.classCode.equals(config.classCodeTo)) {
|
|
|
-// pipeRealFrom.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- pipeChildren.add(pipeRealFrom)
|
|
|
+ } else if (cfg.pipeDirection == -1) {
|
|
|
+ if (targetAsTo) {
|
|
|
+ targetType.canFrom = true
|
|
|
} else {
|
|
|
- pipeChildren.add(ArrayList<PipeEntity>())
|
|
|
+ targetType.canTo = true
|
|
|
}
|
|
|
- val pack = PipeConfigEntityPackClass()
|
|
|
- pack.entity = config
|
|
|
- val equipmentFrom = repo.getEquipByCode(config.classCodeFrom!!)
|
|
|
- pack.fromName = equipmentFrom?.name
|
|
|
- val equipmentTo = repo.getEquipByCode(config.classCodeTo!!)
|
|
|
- pack.toName = equipmentTo?.name
|
|
|
- pipeParent.add(pack)
|
|
|
+ } else if (cfg.pipeDirection == 0) {
|
|
|
+ targetType.canConnect = true
|
|
|
}
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ private suspend fun loadRelation(
|
|
|
+ to: List<RelationEntity>,
|
|
|
+ child: RelConfigEntityPackClass.TargetRelType,
|
|
|
+ parent: RelConfigEntityPackClass,
|
|
|
+ rel: ArrayList<RelationPackClass>
|
|
|
+ ) {
|
|
|
+ bindRelationEntityName(to)
|
|
|
+ if (!CommonUtils.IsNull(to)) {
|
|
|
+ for (t in to) {
|
|
|
+ if (child.targetCode.equals(parent.entity.classCodeTo)) {
|
|
|
+ val pack = RelationPackClass()
|
|
|
+ pack.entity = t
|
|
|
+ pack.targetPipeType = child
|
|
|
+ rel.add(pack)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- for (config in pipeToList) {
|
|
|
- val pipeFrom = repo.getPipeByIdTo(equipId, config.pipeType!!, config.pipeSubType!!)
|
|
|
- if (!CommonUtils.IsNull(pipeFrom)) {
|
|
|
- var pipeRealFrom = ArrayList<PipeEntity>()
|
|
|
- pipeRealFrom.addAll(pipeFrom)
|
|
|
- val iterator = pipeRealFrom.iterator()
|
|
|
- while (iterator.hasNext()) {
|
|
|
- val rel = iterator.next()
|
|
|
- val objFrom = repo.getObject(rel.objFrom!!)
|
|
|
- val objTo = repo.getObject(rel.objTo!!)
|
|
|
- if (objFrom == null) {
|
|
|
- rel.objFromLocalId = "该设备"
|
|
|
- if (!entity.code.equals(config.classCodeFrom)) {
|
|
|
-// pipeRealFrom.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (TextUtils.isEmpty(objFrom.localId)) {
|
|
|
- rel.objFromLocalId = objFrom.localName
|
|
|
- } else {
|
|
|
- rel.objFromLocalId = objFrom.localId
|
|
|
- }
|
|
|
- if (!objFrom.classCode.equals(config.classCodeFrom)) {
|
|
|
-// pipeRealFrom.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- }
|
|
|
- if (objTo == null) {
|
|
|
- rel.objToLocalId = "该设备"
|
|
|
- if (!entity.code.equals(config.classCodeTo)) {
|
|
|
-// pipeRealFrom.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (TextUtils.isEmpty(objTo.localId)) {
|
|
|
- rel.objToLocalId = objTo.localName
|
|
|
- } else {
|
|
|
- rel.objToLocalId = objTo.localId
|
|
|
- }
|
|
|
- if (!objTo.classCode.equals(config.classCodeTo)) {
|
|
|
-// pipeRealFrom.remove(rel)
|
|
|
- iterator.remove()
|
|
|
- continue
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ private suspend fun bindRelationEntityName(
|
|
|
+ entitys: List<RelationEntity>
|
|
|
+ ) {
|
|
|
+ for (rel in entitys) {
|
|
|
+ val from = repo.getObject(rel.objFrom!!)
|
|
|
+ rel.objFromLocalId =
|
|
|
+ if (from!!.id.startsWith("Eq")) from!!.localId else from!!.localName
|
|
|
+ val to = repo.getObject(rel.objTo!!)
|
|
|
+ rel.objToLocalId =
|
|
|
+ if (to!!.id.startsWith("Eq")) to!!.localId else to!!.localName
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- pipeChildren.add(pipeRealFrom)
|
|
|
- } else {
|
|
|
- pipeChildren.add(ArrayList<PipeEntity>())
|
|
|
+ private fun loadCfgs(
|
|
|
+ srcCode: String,
|
|
|
+ cfgs: List<RelConfigEntity>,
|
|
|
+ targetAsTo: Boolean,
|
|
|
+ groups: ArrayList<RelConfigEntityPackClass>
|
|
|
+ ) {
|
|
|
+ for (cfg in cfgs) {
|
|
|
+ var group: RelConfigEntityPackClass? = null
|
|
|
+ for (g in groups) {
|
|
|
+ if (g.sameRelConfig(cfg)) {
|
|
|
+ group = g
|
|
|
+ break
|
|
|
}
|
|
|
- val pack = PipeConfigEntityPackClass()
|
|
|
- pack.entity = config
|
|
|
- val equipmentFrom = repo.getEquipByCode(config.classCodeFrom!!)
|
|
|
- pack.fromName = equipmentFrom?.name
|
|
|
- val equipmentTo = repo.getEquipByCode(config.classCodeTo!!)
|
|
|
- pack.toName = equipmentTo?.name
|
|
|
- pipeParent.add(pack)
|
|
|
}
|
|
|
- val hashMap1 = HashMap<String, Any>()
|
|
|
- hashMap1.put("parent", pipeParent)
|
|
|
- hashMap1.put("child", pipeChildren)
|
|
|
- mEmitter.SendDircetive(PIPE, hashMap1)
|
|
|
+ if (group == null) {
|
|
|
+ group = RelConfigEntityPackClass()
|
|
|
+ group.entity = cfg
|
|
|
+ groups.add(group)
|
|
|
+ }
|
|
|
+ val cfgTarget = if (targetAsTo) cfg.classCodeTo else cfg.classCodeFrom
|
|
|
+ var tartgetType: RelConfigEntityPackClass.TargetRelType? = null
|
|
|
+ for (t in group.targetTypes) {
|
|
|
+ if (t.targetCode.equals(cfgTarget)) {
|
|
|
+ tartgetType = t
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (tartgetType == null) {
|
|
|
+ tartgetType = RelConfigEntityPackClass.TargetRelType()
|
|
|
+ tartgetType.srcCode = srcCode
|
|
|
+ tartgetType.graphCode = group.entity.graphCode
|
|
|
+ tartgetType.relCode = group.entity.relCode
|
|
|
+ tartgetType.targetCode = cfgTarget
|
|
|
+ group.targetTypes.add(tartgetType)
|
|
|
+ }
|
|
|
+ if (targetAsTo) {
|
|
|
+ tartgetType.canTo = true
|
|
|
+ } else {
|
|
|
+ tartgetType.canFrom = true
|
|
|
+ }
|
|
|
+
|
|
|
+ if ("fixed".equals(cfg.direction)) {
|
|
|
+ if (targetAsTo)
|
|
|
+ tartgetType.canTo = true
|
|
|
+ else
|
|
|
+ tartgetType.canFrom = true
|
|
|
+ } else if ("optional".equals(cfg.direction)) {
|
|
|
+ tartgetType.canTo = true
|
|
|
+ tartgetType.canFrom = true
|
|
|
+ } else {
|
|
|
+ tartgetType.canFrom = true
|
|
|
+ // !targetCanBeTo && !targetCanBeFrom 表示无方向选择
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- fun getRelObj(group: RelConfigEntity, code: String) {
|
|
|
+ fun getRelObj(group: RelConfigEntityPackClass, code: String) {
|
|
|
viewModelScope.launch {
|
|
|
- val objects: List<ObjectEntity>
|
|
|
- if (group.classCodeFrom.equals(code)) {
|
|
|
- objects = repo.getObjectByCode(group.classCodeTo!!)
|
|
|
- } else {
|
|
|
- objects = repo.getObjectByCode(group.classCodeFrom!!)
|
|
|
+ val objects: ArrayList<ObjectEntity> = ArrayList()
|
|
|
+ for (type in group.targetTypes) {
|
|
|
+ val objs = repo.getObjectByCode(type.targetCode!!)
|
|
|
+ if (!CommonUtils.IsNull(objs)) {
|
|
|
+ objects.addAll(objs)
|
|
|
+ }
|
|
|
}
|
|
|
mEmitter.SendDircetive(REL_OBJECT, objects)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- fun getPipeObj(group: PipeConfigEntity, code: String) {
|
|
|
+ fun getPipeObj(group: PipeConfigEntityPackClass, code: String) {
|
|
|
viewModelScope.launch {
|
|
|
- val objects: List<ObjectEntity>
|
|
|
- if (group.classCodeFrom.equals(code)) {
|
|
|
- objects = repo.getObjectByCode(group.classCodeTo!!)
|
|
|
- } else {
|
|
|
- objects = repo.getObjectByCode(group.classCodeFrom!!)
|
|
|
+ val objects: ArrayList<ObjectEntity> = ArrayList()
|
|
|
+ for (type in group.targetTypes) {
|
|
|
+ val objs = repo.getObjectByCode(type.targetCode!!)
|
|
|
+ if (!CommonUtils.IsNull(objs)) {
|
|
|
+ objects.addAll(objs)
|
|
|
+ }
|
|
|
}
|
|
|
mEmitter.SendDircetive(PIPE_OBJECT, objects)
|
|
|
}
|
|
@@ -1158,7 +1072,8 @@ class GraphyVM(
|
|
|
fun addRel(
|
|
|
deviceId: String, uuid: String, equipEntity: EquipmentEntity,
|
|
|
equip: ObjectEntity,
|
|
|
- groupRelConfigEntity: RelConfigEntity
|
|
|
+ groupRelConfigEntity: RelConfigEntity,
|
|
|
+ eq: Boolean
|
|
|
) {
|
|
|
viewModelScope.launch {
|
|
|
var equipId: String
|
|
@@ -1169,7 +1084,7 @@ class GraphyVM(
|
|
|
}
|
|
|
val objFrom: String
|
|
|
val objto: String
|
|
|
- if (groupRelConfigEntity.classCodeFrom.equals(equipEntity!!.code)) {
|
|
|
+ if (eq) {
|
|
|
objFrom = equipId
|
|
|
objto = equip.id
|
|
|
} else {
|
|
@@ -1209,7 +1124,8 @@ class GraphyVM(
|
|
|
fun addPipe(
|
|
|
deviceId: String, uuid: String, equipEntity: EquipmentEntity,
|
|
|
equip: ObjectEntity,
|
|
|
- groupPipeConfigEntity: PipeConfigEntity
|
|
|
+ groupPipeConfigEntity: PipeConfigEntity,
|
|
|
+ direction: String
|
|
|
) {
|
|
|
viewModelScope.launch {
|
|
|
var equipId: String
|
|
@@ -1227,16 +1143,22 @@ class GraphyVM(
|
|
|
objto = equipId
|
|
|
objFrom = equip.id
|
|
|
}
|
|
|
+ var pipeDirection: Int
|
|
|
+ if (direction.equals("->")) {
|
|
|
+ pipeDirection = 1
|
|
|
+ } else if (direction.equals("<-")) {
|
|
|
+ pipeDirection = -1
|
|
|
+ } else {
|
|
|
+ pipeDirection = 0
|
|
|
+ }
|
|
|
|
|
|
val relEntity = PipeEntity(
|
|
|
id = UUID.randomUUID().toString(),
|
|
|
projectId = projectId,
|
|
|
buildingId = buildingId,
|
|
|
floorId = floorId,
|
|
|
-
|
|
|
objFrom = objFrom,
|
|
|
objTo = objto,
|
|
|
-
|
|
|
creator = null,
|
|
|
creationTime = "",
|
|
|
modifiedTime = "",
|
|
@@ -1247,7 +1169,7 @@ class GraphyVM(
|
|
|
d2mState = null,
|
|
|
objFromLocalId = null,
|
|
|
objToLocalId = null,
|
|
|
- direction = groupPipeConfigEntity.pipeDirection,
|
|
|
+ direction = pipeDirection,
|
|
|
typeFrom = "equipment",
|
|
|
typeTo = "equipment",
|
|
|
pipeType = groupPipeConfigEntity.pipeType,
|