Browse Source

@task: add serve_area table

bai 3 years ago
parent
commit
51f7217409

+ 1 - 0
demo/src/main/java/com/framework/mvvm/model/db/AdmDatabase.kt

@@ -55,6 +55,7 @@ abstract class AdmDatabase : RoomDatabase() {
     abstract fun systemDao(): SystemDao
     abstract fun componentDao(): ComponentDao
     abstract fun pipeDao(): PipeDao
+    abstract fun serveAreaDao(): ServeAreaDao
 
     companion object {
         @Volatile

+ 18 - 0
demo/src/main/java/com/framework/mvvm/model/db/dao/ServeAreaDao.kt

@@ -0,0 +1,18 @@
+package com.framework.mvvm.model.db.dao
+
+import androidx.room.Dao
+import androidx.room.Query
+import com.framework.mvvm.model.db.entity.task.ServeAreaEntity
+
+/**
+ * 表 serve_area Dao
+ */
+@Dao
+interface ServeAreaDao {
+
+    @Query("select * from serve_area")
+    suspend fun getAreas(): List<ServeAreaEntity>
+
+    @Query("select * from serve_area where building_id = :id")
+    suspend fun getAreasByBuildingId(id: String): List<ServeAreaEntity>
+}

+ 1 - 1
demo/src/main/java/com/framework/mvvm/model/db/entity/task/ObjectEntity.kt

@@ -48,7 +48,7 @@ data class ObjectEntity(
     var infos: JSONObject?,               // 信息点数据: Json 数据格式
     @ColumnInfo(name = "str_infos") var strInfos: String?,          // 信息点数据: Json 数据格式
     @ColumnInfo(name = "floor_map") var floorMap: String?,          // 楼层地图
-
+    @ColumnInfo(name = "container_id") var containerId: String?     // 无模型设备的上级设备id
 ) : BaseEntity
 
 

+ 32 - 0
demo/src/main/java/com/framework/mvvm/model/db/entity/task/ServeArea.kt

@@ -0,0 +1,32 @@
+package com.framework.mvvm.model.db.entity.task
+
+import androidx.room.ColumnInfo
+import androidx.room.Entity
+import androidx.room.PrimaryKey
+import com.framework.mvvm.model.db.entity.BaseEntity
+import kotlinx.serialization.Serializable
+import kotlinx.serialization.json.JsonElement
+
+/**
+ * 描述设备的服务区域
+ */
+@Entity(tableName = "serve_area")
+@Serializable
+data class ServeAreaEntity(
+    @PrimaryKey @ColumnInfo(name = "id") override val id: String,
+    @ColumnInfo(name = "project_id") override val projectId: String,
+    @ColumnInfo(name = "building_id") override val buildingId: String?,
+    @ColumnInfo(name = "floor_id") override val floorId: String?,
+    @ColumnInfo(name = "state") override var state: String = "0",
+    @ColumnInfo(name = "upload_flag") override var uploadFlag: String?,
+    @ColumnInfo(name = "valid") override var valid: Int?,
+    @ColumnInfo(name = "creator") override var creator: String?,
+    @ColumnInfo(name = "creation_time") override var creationTime: String?,
+    @ColumnInfo(name = "modifier") override var modifier: String?,
+    @ColumnInfo(name = "modified_time") override var modifiedTime: String?,
+    @ColumnInfo(name = "obj_id") var objId: String?,            // 服务该区域提供的设备id
+    @ColumnInfo(name = "geom_type") var geomType: String?,      // 服务区域的几何类型(polygon:多边形|circle:圆形|ellipse:椭圆)
+    @ColumnInfo(name = "geom") var geom: JsonElement?,          // 服务区域的轮廓几何信息(polygon对应xy坐标数组, circle和ellipse对应对象(圆心半径))
+    @ColumnInfo(name = "serve_type") var serveType: String?,    // 服务的类型,照明回路等,暂时为空
+    @ColumnInfo(name = "remark") var remark: String?,           // 描述信息
+) : BaseEntity

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

@@ -364,6 +364,7 @@ class AdmRepository(
             val relationDao = db.relationDao()
             val problemArchDao = db.problemArchDao()
             val problemEquipDao = db.problemEquipDao()
+            val serveAreaDao = db.serveAreaDao()
 
             val pipes = pipeDao.getPipeByBuildingId(buildingId).filter { it.state == "1" }
             val files = fileDao.getFileByBuildingId(buildingId).filter { it.state == "1" }
@@ -377,6 +378,8 @@ class AdmRepository(
             val problemEquips =
                 problemEquipDao.getProblemByBuildingId(buildingId).filter { it.state == "1" }
 
+            val areas = serveAreaDao.getAreasByBuildingId(buildingId).filter { it.state == "1" }
+
             val deviceId = sp.getString(DEVICE_ID, "") ?: ""
 
             val building = Building(
@@ -388,6 +391,7 @@ class AdmRepository(
                 relations = relations,
                 problemArch = problemArchs,
                 problemEquip = problemEquips,
+                areas = areas,
                 pipes = pipes,
             )
 

+ 1 - 0
demo/src/main/java/com/framework/mvvm/model/vo/Building.kt

@@ -17,5 +17,6 @@ data class Building(
     val problemArch: List<ProblemArchEntity>,
     val problemEquip: List<ProblemEquipEntity>,
     val pipes: List<PipeEntity>,
+    val areas: List<ServeAreaEntity>,
     val timestamp: String = ""
 )