Browse Source

add poc2.0需求

lihao1 3 years ago
parent
commit
6d45c34aa8

+ 1 - 1
demo/src/main/java/com/framework/mvvm/model/db/dao/ObjectDao.kt

@@ -12,7 +12,7 @@ interface ObjectDao {
     suspend fun getObjects(): List<ObjectEntity>
 
     @Query("select * from object where id = :id")
-    suspend fun getObjectById(id: String): ObjectEntity
+    suspend fun getObjectById(id: String): ObjectEntity?
 
     @Query("select * from object where obj_type = :objType")
     suspend fun getObjectByObjType(objType: String): List<ObjectEntity>

+ 1 - 1
demo/src/main/java/com/framework/mvvm/model/repository/AdmRepository.kt

@@ -83,7 +83,7 @@ class AdmRepository(
         return db.objectDao().insObject(`object`)
     }
 
-    suspend fun getObject(objId: String): ObjectEntity {
+    suspend fun getObject(objId: String): ObjectEntity? {
         return db.objectDao().getObjectById(objId)
     }
 

+ 49 - 17
demo/src/main/java/com/sybotan/android/demo/viewmodel/GraphyVM.kt

@@ -75,7 +75,7 @@ class GraphyVM(
                 val objectEntity = repo.getObject(spaceEntity.spaceId)
                 spaceJobModel.buildingId = buildingId
                 spaceJobModel.id = spaceEntity.spaceId
-                spaceJobModel.localName = objectEntity.localName
+                spaceJobModel.localName = objectEntity!!.localName
                 spaceJobModel.name = objectEntity.name
                 spaceJobModel.projectId = projectId
                 if (spaceEntity.archState == 1) {
@@ -554,10 +554,10 @@ class GraphyVM(
                         val objFrom = repo.getObject(pipe.objFrom!!)
                         val objTo = repo.getObject(pipe.objTo!!)
                         val strInfoFrom =
-                            gson.fromJson(objFrom.strInfos, StrInfosforEquip::class.java)
+                            gson.fromJson(objFrom!!.strInfos, StrInfosforEquip::class.java)
                         child.position.add(PointF(strInfoFrom.location.x, strInfoFrom.location.y))
 
-                        val strInfoTo = gson.fromJson(objTo.strInfos, StrInfosforEquip::class.java)
+                        val strInfoTo = gson.fromJson(objTo!!.strInfos, StrInfosforEquip::class.java)
                         child.position.add(PointF(strInfoTo.location.x, strInfoTo.location.y))
                         model.children.add(child)
                         hasParent = true
@@ -570,10 +570,10 @@ class GraphyVM(
                     val child = ChildrenZ()
                     val objFrom = repo.getObject(pipe.objFrom!!)
                     val objTo = repo.getObject(pipe.objTo!!)
-                    val strInfoFrom = gson.fromJson(objFrom.strInfos, StrInfosforEquip::class.java)
+                    val strInfoFrom = gson.fromJson(objFrom!!.strInfos, StrInfosforEquip::class.java)
                     child.position.add(PointF(strInfoFrom.location.x, strInfoFrom.location.y))
 
-                    val strInfoTo = gson.fromJson(objTo.strInfos, StrInfosforEquip::class.java)
+                    val strInfoTo = gson.fromJson(objTo!!.strInfos, StrInfosforEquip::class.java)
                     child.position.add(PointF(strInfoTo.location.x, strInfoTo.location.y))
                     pipeModel.children.add(child)
                     pipeModels.add(pipeModel)
@@ -606,7 +606,7 @@ class GraphyVM(
                 object : TypeToken<List<Infos?>?>() {}.type
             )
             var spaceObject = repo.getObject(spaceId)
-            var infos = spaceObject.infos
+            var infos = spaceObject!!.infos
 
             mEmitter.SendDircetive(SPACE_INFOS, jsonObjectToHashMap(infos))
             mEmitter.SendDircetive(SPACE_INFO, infoList)
@@ -630,7 +630,7 @@ class GraphyVM(
     fun refreshObject(space: TunableSpace, hashMap: HashMap<String, Any>) {
         viewModelScope.launch {
             var space = repo.getObject(space.id!!)
-            space.infos = JSONObject(hashMap as Map<*, *>)
+            space!!.infos = JSONObject(hashMap as Map<*, *>)
             space.state = "1"
             repo.insObject(space)
             mActivity.setResult(RESULT_OK)
@@ -658,7 +658,7 @@ class GraphyVM(
 
             if (!TextUtils.isEmpty(deviceId)) {
                 var equip = repo.getObject(deviceId)
-                var infos = equip.infos
+                var infos = equip!!.infos
                 mEmitter.SendDircetive(SPACE_INFOS, jsonObjectToHashMap(infos))
                 mEmitter.SendDircetive(Equip_INFOS, equip)
             }
@@ -742,7 +742,7 @@ class GraphyVM(
                 repo.insObject(objectEntity)
             } else {
                 val equip = repo.getObject(deviceId!!)
-                equip.infos = JSONObject(hashMap as Map<*, *>)
+                equip!!.infos = JSONObject(hashMap as Map<*, *>)
                 equip.strInfos = gson.toJson(hashMap)
                 repo.insObject(equip)
             }
@@ -820,8 +820,16 @@ class GraphyVM(
                     for (rel in relsFrom) {
                         val objFrom = repo.getObject(rel.objFrom!!)
                         val objTo = repo.getObject(rel.objTo!!)
-                        rel.objFromLocalId = objFrom.localId
-                        rel.objToLocalId = objTo.localId
+                        if (objFrom == null) {
+                            rel.objFromLocalId = "该设备"
+                        } else {
+                            rel.objFromLocalId = objFrom.localId
+                        }
+                        if (objTo == null) {
+                            rel.objToLocalId = "该设备"
+                        } else {
+                            rel.objToLocalId = objTo.localId
+                        }
                     }
                     relList.add(relsFrom)
                 } else {
@@ -835,8 +843,16 @@ class GraphyVM(
                     for (rel in relsTo) {
                         val objFrom = repo.getObject(rel.objFrom!!)
                         val objTo = repo.getObject(rel.objTo!!)
-                        rel.objFromLocalId = objFrom.localId
-                        rel.objToLocalId = objTo.localId
+                        if (objFrom == null) {
+                            rel.objFromLocalId = "该设备"
+                        } else {
+                            rel.objFromLocalId = objFrom.localId
+                        }
+                        if (objTo == null) {
+                            rel.objToLocalId = "该设备"
+                        } else {
+                            rel.objToLocalId = objTo.localId
+                        }
                     }
                     relList.add(relsTo)
                 } else {
@@ -861,8 +877,16 @@ class GraphyVM(
                     for (rel in pipeFrom) {
                         val objFrom = repo.getObject(rel.objFrom!!)
                         val objTo = repo.getObject(rel.objTo!!)
-                        rel.objFromLocalId = objFrom.localId
-                        rel.objToLocalId = objTo.localId
+                        if (objFrom == null) {
+                            rel.objFromLocalId = "该设备"
+                        } else {
+                            rel.objFromLocalId = objFrom.localId
+                        }
+                        if (objTo == null) {
+                            rel.objToLocalId = "该设备"
+                        } else {
+                            rel.objToLocalId = objTo.localId
+                        }
                     }
                     pipeChildren.add(pipeFrom)
                 } else {
@@ -877,8 +901,16 @@ class GraphyVM(
                     for (rel in pipeFrom) {
                         val objFrom = repo.getObject(rel.objFrom!!)
                         val objTo = repo.getObject(rel.objTo!!)
-                        rel.objFromLocalId = objFrom.localId
-                        rel.objToLocalId = objTo.localId
+                        if (objFrom == null) {
+                            rel.objFromLocalId = "该设备"
+                        } else {
+                            rel.objFromLocalId = objFrom.localId
+                        }
+                        if (objTo == null) {
+                            rel.objToLocalId = "该设备"
+                        } else {
+                            rel.objToLocalId = objTo.localId
+                        }
                     }
                     pipeChildren.add(pipeFrom)
                 } else {