Explorar el Código

@fun: refactoring database

bai hace 3 años
padre
commit
dc93a2c46b
Se han modificado 78 ficheros con 878 adiciones y 510 borrados
  1. 58 48
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/AdmDatabase.kt
  2. 0 28
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/EquipmentDao.kt
  3. 0 30
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/InfoDao.kt
  4. 0 43
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/JobSpaceDao.kt
  5. 0 29
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/M2dEquipDao.kt
  6. 0 26
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/MajorDao.kt
  7. 22 22
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/ObjectDao.kt
  8. 0 35
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/RelConfigDao.kt
  9. 0 28
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/SystemDao.kt
  10. 3 3
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/ConfigDao.kt
  11. 3 3
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/ComponentDao.kt
  12. 2 2
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/ContainerConfigDao.kt
  13. 2 2
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/InfosConfigDao.kt
  14. 2 2
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/PipeConfigDao.kt
  15. 6 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/config/ProblemInfoDao.kt
  16. 6 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/config/ProblemTypeDao.kt
  17. 28 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/dict/EquipmentDictDao.kt
  18. 30 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/dict/InfoDictDao.kt
  19. 26 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/dict/MajorDictDao.kt
  20. 35 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/dict/RelationConfigDictDao.kt
  21. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/RelationDictDao.kt
  22. 28 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/dict/SystemDictDao.kt
  23. 24 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/task/BuildingDao.kt
  24. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/CadDao.kt
  25. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/CustomInfoDao.kt
  26. 7 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/task/EquipmentDao.kt
  27. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/FileDao.kt
  28. 25 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/task/FloorDao.kt
  29. 3 3
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/PipeDao.kt
  30. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/ProblemDao.kt
  31. 2 2
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/ProjectDao.kt
  32. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/QrCodeDao.kt
  33. 3 6
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/RelationDao.kt
  34. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/ServeAreaDao.kt
  35. 11 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/task/SpaceDao.kt
  36. 43 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/task/WorkspaceDao.kt
  37. 9 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/BasicConfigEntity.kt
  38. 7 6
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/ComponentEntity.kt
  39. 2 2
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/ContainerConfigEntity.kt
  40. 45 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/config/InfosConfigEntity.kt
  41. 11 6
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/PipeConfigEntity.kt
  42. 24 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/config/ProblemInfoEntity.kt
  43. 20 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/config/ProblemTypeEntity.kt
  44. 2 3
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/EquipmentEntity.kt
  45. 2 2
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/InfoEntity.kt
  46. 0 21
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/InfosConfigEntity.kt
  47. 0 18
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/M2dEquipEntity.kt
  48. 2 2
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/MajorEntity.kt
  49. 0 24
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/RelConfigEntity.kt
  50. 35 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/RelationConfigDictEntity.kt
  51. 2 2
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/SystemEntity.kt
  52. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/relation/UserWithProjects.kt
  53. 5 2
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/BuildingEntity.kt
  54. 58 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/EquipmentEntity.kt
  55. 63 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/FloorEntity.kt
  56. 4 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/PipeEntity.kt
  57. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/ProjectEntity.kt
  58. 28 18
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/RelationEntity.kt
  59. 63 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/SpaceEntity.kt
  60. 2 2
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/JobSpaceEntity.kt
  61. 26 2
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/nt/Api.kt
  62. 19 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/vo/Building.kt
  63. 20 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/vo/Config.kt
  64. 4 4
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/vo/Dict.kt
  65. 10 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/vo/Location.kt
  66. 5 61
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/ObjectEntity.kt
  67. 10 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/vo/Outline.kt
  68. 11 0
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/vo/Relation.kt
  69. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/model/vo/request/Account.kt
  70. 2 2
      app/src/main/java/com/ys/bdtp/adm/mvvm/ui/examine/Space3DActivity.kt
  71. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/project/Project.kt
  72. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/project/ProjectContent.kt
  73. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/project/ProjectItem.kt
  74. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/task/Task.kt
  75. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/vm/project/ProjectRepository.kt
  76. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/vm/project/ProjectViewModel.kt
  77. 1 1
      app/src/main/java/com/ys/bdtp/adm/mvvm/vm/task/TaskRepository.kt
  78. 1 2
      app/src/main/java/com/ys/bdtp/adm/mvvm/vm/task/TaskViewModel.kt

+ 58 - 48
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/AdmDatabase.kt

@@ -5,80 +5,90 @@ import androidx.room.Database
 import androidx.room.Room
 import androidx.room.RoomDatabase
 import androidx.room.TypeConverters
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.ContainerConfigEntity
-import com.framework.mvvm.model.db.entity.task.PipeEntity
 import com.ys.bdtp.adm.mvvm.model.db.converter.GsonConverter
 import com.ys.bdtp.adm.mvvm.model.db.dao.*
-import com.ys.bdtp.adm.mvvm.model.db.entity.ProjectEntity
+import com.ys.bdtp.adm.mvvm.model.db.dao.config.*
+import com.ys.bdtp.adm.mvvm.model.db.dao.dict.*
+import com.ys.bdtp.adm.mvvm.model.db.dao.task.*
 import com.ys.bdtp.adm.mvvm.model.db.entity.UserEntity
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.ComponentEntity
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.BasicConfigEntity
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.EquipmentEntity
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.InfoEntity
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.InfosConfigEntity
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.M2dEquipEntity
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.MajorEntity
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.PipeConfigEntity
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.RelConfigEntity
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.RelationDictEntity
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.SystemEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.config.*
+import com.ys.bdtp.adm.mvvm.model.db.entity.dict.*
 import com.ys.bdtp.adm.mvvm.model.db.entity.task.*
 
 
 @Database(
     entities = [
-        MajorEntity::class,
-        SystemEntity::class,
-        RelationDictEntity::class,
-        EquipmentEntity::class,
+        // config
+        BasicConfigEntity::class,
+        ComponentEntity::class,
+        ContainerConfigEntity::class,
         InfosConfigEntity::class,
         PipeConfigEntity::class,
-        RelConfigEntity::class,
-        M2dEquipEntity::class,
-        BasicConfigEntity::class,
+        ProblemInfoEntity::class,
+        ProblemTypeEntity::class,
+        // dict
+        EquipmentDictEntity::class,
+        InfoDictEntity::class,
+        MajorDictEntity::class,
+        RelationConfigDictEntity::class,
+        RelationDictEntity::class,
+        SystemDictEntity::class,
+        // task
+        BuildingEntity::class,
+        CadEntity::class,
+        CustomInfoEntity::class,
+        EquipmentEntity::class,
         FileEntity::class,
-        JobSpaceEntity::class,
-        QrCodeEntity::class,
-        ObjectEntity::class,
+        FloorEntity::class,
+        PipeEntity::class,
+        ProblemEntity::class,
         ProjectEntity::class,
+        QrCodeEntity::class,
         RelationEntity::class,
-        ProblemEntity::class,
-        ComponentEntity::class,
-        PipeEntity::class,
         ServeAreaEntity::class,
-        ContainerConfigEntity::class,
-        InfoEntity::class,
-        UserEntity::class,
-        CustomInfoEntity::class,
-        CadEntity::class
+        SpaceEntity::class,
+        WorkspaceEntity::class,
+        // user
+        UserEntity::class
     ], version = 1, exportSchema = true
 )
 @TypeConverters(GsonConverter::class)
 abstract class AdmDatabase : RoomDatabase() {
-    abstract fun configDao(): ConfigDao
-    abstract fun equipmentDao(): EquipmentDao
-    abstract fun fileDao(): FileDao
+    // config
+    abstract fun basicConfigDao(): BasicConfigDao
+    abstract fun componentDao(): ComponentDao
+    abstract fun containerConfigDao(): ContainerConfigDao
     abstract fun infosConfigDao(): InfosConfigDao
-    abstract fun m2dEquipDao(): M2dEquipDao
-    abstract fun majorDao(): MajorDao
-    abstract fun objectDao(): ObjectDao
     abstract fun pipeConfigDao(): PipeConfigDao
+    abstract fun problemInfoDao(): ProblemInfoDao
+    abstract fun problemTypeDao(): ProblemTypeDao
+
+    // dict
+    abstract fun equipmentDictDao(): EquipmentDictDao
+    abstract fun infoDictDao(): InfoDictDao
+    abstract fun majorDictDao(): MajorDictDao
+    abstract fun relationConfigDictDao(): RelationConfigDictDao
+    abstract fun relationDictDao(): RelationDictDao
+    abstract fun systemDictDao(): SystemDictDao
+
+    // task
+    abstract fun buildingDao(): BuildingDao
+    abstract fun cadDao(): CadDao
+    abstract fun customInfoDao(): CustomInfoDao
+    abstract fun equipmentDao(): EquipmentDao
+    abstract fun fileDao(): FileDao
+    abstract fun floorDao(): FloorDao
+    abstract fun pipeDao(): PipeDao
     abstract fun problemDao(): ProblemDao
     abstract fun projectDao(): ProjectDao
     abstract fun qrCodeDao(): QrCodeDao
     abstract fun relationDao(): RelationDao
-    abstract fun relationDictDao(): RelationDictDao
-    abstract fun relConfigDao(): RelConfigDao
-    abstract fun jobSpaceDao(): JobSpaceDao
-    abstract fun systemDao(): SystemDao
-    abstract fun componentDao(): ComponentDao
-    abstract fun pipeDao(): PipeDao
     abstract fun serveAreaDao(): ServeAreaDao
-    abstract fun containerConfigDao(): ContainerConfigDao
-    abstract fun infoDao(): InfoDao
+    abstract fun spaceDao(): SpaceDao
+    abstract fun workspaceDao(): WorkspaceDao
+
+    // user
     abstract fun userDao(): UserDao
-    abstract fun cadDao(): CadDao
-    abstract fun customInfoDao(): CustomInfoDao
 
     companion object {
         @Volatile

+ 0 - 28
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/EquipmentDao.kt

@@ -1,28 +0,0 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
-
-import androidx.room.*
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.EquipmentEntity
-
-/**
- * 表 equipment Dao
- */
-@Dao
-interface EquipmentDao {
-    @Query("select * from equipment")
-    suspend fun getEquipments(): List<EquipmentEntity>
-
-    @Query("select * from equipment where id = :id and valid = 1")
-    suspend fun getEquipmentById(id: String): EquipmentEntity
-
-    @Query("select * from equipment where code = :code and valid = 1")
-    suspend fun getEquipmentByCode(code: String): EquipmentEntity?
-
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insEquipment(vararg equipment: EquipmentEntity)
-
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insEquipments(equipments: List<EquipmentEntity>)
-
-    @Delete
-    suspend fun delEquipment(equipment: EquipmentEntity)
-}

+ 0 - 30
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/InfoDao.kt

@@ -1,30 +0,0 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
-
-import androidx.room.*
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.InfoEntity
-
-/**
- * 表 info dao
- */
-@Dao
-interface InfoDao {
-    @Query("select * from info")
-    suspend fun getInfos(): List<InfoEntity>
-
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insInfo(vararg info: InfoEntity)
-
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insInfos(infos: List<InfoEntity>)
-
-    @Update
-    suspend fun updateInfo(vararg info: InfoEntity)
-
-    @Query("select * from info where (class_code = :classCode or class_code= :parentClassCode) and code = :code")
-    suspend fun getInfoByClassCodeAndCode(
-        classCode: String,
-        parentClassCode: String,
-        code: String
-    ): InfoEntity?
-
-}

+ 0 - 43
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/JobSpaceDao.kt

@@ -1,43 +0,0 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
-
-import androidx.room.*
-import com.ys.bdtp.adm.mvvm.model.db.entity.task.JobSpaceEntity
-
-/**
- * 表 space Dao
- */
-@Dao
-interface JobSpaceDao {
-    @Query("select * from job_space")
-    suspend fun getSpaces(): List<JobSpaceEntity>
-
-    @Query("select * from job_space where id = :id")
-    suspend fun getSpaceById(id: String): JobSpaceEntity
-
-    @Query("select * from job_space where space_id = :id and valid = 1")
-    suspend fun getSpaceBySpaceId(id: String): JobSpaceEntity
-
-    @Query("select * from job_space where floor_id = :id and arch_state =:archState and valid = 1")
-    suspend fun getSpaceByArchStateFloorId(id: String, archState: String): List<JobSpaceEntity>
-
-    @Query("select * from job_space where floor_id = :id and equip_state =:equipState and valid = 1")
-    suspend fun getSpaceByEquipStateFloorId(id: String, equipState: String): List<JobSpaceEntity>
-
-    @Query("select * from job_space where building_id = :id")
-    suspend fun getSpaceByBuildingId(id: String): List<JobSpaceEntity>
-
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insSpace(vararg space: JobSpaceEntity)
-
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insSpaces(spaces: List<JobSpaceEntity>)
-
-    @Update
-    suspend fun updateSpaces(spaces: List<JobSpaceEntity>)
-
-    @Delete
-    suspend fun delSpace(space: JobSpaceEntity)
-
-    @Query("select count(*) from job_space where project_id = :projectId and (state = 0 or state = 1)")
-    suspend fun countUnDone(projectId: String): Int
-}

+ 0 - 29
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/M2dEquipDao.kt

@@ -1,29 +0,0 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
-
-import androidx.room.Dao
-import androidx.room.Delete
-import androidx.room.Insert
-import androidx.room.OnConflictStrategy
-import androidx.room.Query
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.M2dEquipEntity
-
-/**
- * table m2d_equip Dao
- */
-@Dao
-interface M2dEquipDao {
-    @Query("select * from m2d_equip")
-    suspend fun getM2ds(): List<M2dEquipEntity>
-
-    @Query("select * from m2d_equip where id = :id")
-    suspend fun getM2dById(id: String): M2dEquipEntity
-
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insM2d(vararg m2d: M2dEquipEntity)
-
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insM2ds(m2ds: List<M2dEquipEntity>)
-
-    @Delete
-    suspend fun delM2d(m2d: M2dEquipEntity)
-}

+ 0 - 26
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/MajorDao.kt

@@ -1,26 +0,0 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
-
-import androidx.room.*
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.MajorEntity
-
-/**
- * 表 maj_dict Dao
- */
-@Dao
-interface MajorDao {
-    @Query("select * from major")
-    suspend fun getMajors(): List<MajorEntity>
-
-    @Query("select * from major where id = :id")
-    suspend fun getMajorById(id: String): MajorEntity
-
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insMajor(vararg major: MajorEntity)
-
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insMajors(majors: List<MajorEntity>)
-
-    @Delete
-    suspend fun delMajor(major: MajorEntity)
-
-}

+ 22 - 22
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/ObjectDao.kt

@@ -1,7 +1,7 @@
 package com.ys.bdtp.adm.mvvm.model.db.dao
 
 import androidx.room.*
-import com.ys.bdtp.adm.mvvm.model.db.entity.task.ObjectEntity
+import com.ys.bdtp.adm.mvvm.model.vo.Object
 
 /**
  * 表 object Dao
@@ -9,91 +9,91 @@ import com.ys.bdtp.adm.mvvm.model.db.entity.task.ObjectEntity
 @Dao
 interface ObjectDao {
     @Query("select * from object")
-    suspend fun getObjects(): List<ObjectEntity>
+    suspend fun getObjects(): List<Object>
 
     @Query("select * from object where id = :id and valid = 1")
-    suspend fun getObjectById(id: String): ObjectEntity?
+    suspend fun getObjectById(id: String): Object?
 
     @Query("select * from object where bim_id = :bimId")
-    suspend fun getObjectByBimId(bimId: String): ObjectEntity?
+    suspend fun getObjectByBimId(bimId: String): Object?
 
     @Query("select * from object where obj_type = :objType and valid = 1")
-    suspend fun getObjectByObjType(objType: String): List<ObjectEntity>
+    suspend fun getObjectByObjType(objType: String): List<Object>
 
     @Query("select * from object where building_id = :buildingId and obj_type=:type and valid = 1")
-    suspend fun getObjectByBuildingId(buildingId: String, type: String): List<ObjectEntity>
+    suspend fun getObjectByBuildingId(buildingId: String, type: String): List<Object>
 
     @Query("select * from object where building_id = :buildingId and valid = 1")
-    suspend fun getObjectByBuildingId(buildingId: String): List<ObjectEntity>
+    suspend fun getObjectByBuildingId(buildingId: String): List<Object>
 
     @Query("select * from object where floor_id = :floorId and obj_type=:type and valid = 1")
     suspend fun getEquipByFloorId(
         floorId: String,
         type: String,
-    ): List<ObjectEntity>
+    ): List<Object>
 
     @Query("select * from object where class_code = :code and building_id =:buildingId and valid = 1")
-    suspend fun getObjectByCode(code: String, buildingId: String): List<ObjectEntity>
+    suspend fun getObjectByCode(code: String, buildingId: String): List<Object>
 
     @Query("select * from object where container_id = :objId and valid = 1")
-    suspend fun getContainerObjs(objId: String): List<ObjectEntity>
+    suspend fun getContainerObjs(objId: String): List<Object>
 
     @Query("select * from object where local_id = UPPEr(:localId) and valid = 1")
-    suspend fun getObjectByLocalId(localId: String): ObjectEntity?
+    suspend fun getObjectByLocalId(localId: String): Object?
 
     @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insObject(vararg obj: ObjectEntity)
+    suspend fun insObject(vararg obj: Object)
 
     @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insObjects(objects: List<ObjectEntity>)
+    suspend fun insObjects(objects: List<Object>)
 
     @Update
-    suspend fun updateObjects(objects: List<ObjectEntity>)
+    suspend fun updateObjects(objects: List<Object>)
 
     @Delete
-    suspend fun delObject(obj: ObjectEntity)
+    suspend fun delObject(obj: Object)
 
     /**
      * 返回楼层类型的 ObjectEntity
      */
     @Query("select * from object where obj_type = 'floor'")
-    suspend fun getFloors(): List<ObjectEntity>
+    suspend fun getFloors(): List<Object>
 
     /**
      * 返回楼层类型的 ObjectEntity
      */
     @Query("select * from object where obj_type = 'floor' and building_id =:buildingId")
-    suspend fun getFloorsByBuildingId(buildingId: String): List<ObjectEntity>
+    suspend fun getFloorsByBuildingId(buildingId: String): List<Object>
 
     /**
      * 返回楼层类型的 ObjectEntity
      */
     @Query("select * from object where obj_type = 'floor' and id =:floorId")
-    suspend fun getFloorById(floorId: String): ObjectEntity
+    suspend fun getFloorById(floorId: String): Object
 
     /**
      * 返回所有建筑 ObjectEntity
      */
     @Query("select * from object where obj_type = 'building'")
-    suspend fun getBuildings(): List<ObjectEntity>
+    suspend fun getBuildings(): List<Object>
 
     /**
      * 返回项目下的建筑
      * */
     @Query("select * from object where obj_type = 'building' and project_id = :projectId")
-    suspend fun getBuildingsByProjectId(projectId: String): List<ObjectEntity>
+    suspend fun getBuildingsByProjectId(projectId: String): List<Object>
 
     /**
      * 返回所有建筑 ObjectEntity
      */
     @Query("select * from object where obj_type = 'space' and class_code ='GeneralZone' and floor_id =:floorId")
-    suspend fun getSpaceByFloorId(floorId: String): List<ObjectEntity>
+    suspend fun getSpaceByFloorId(floorId: String): List<Object>
 
     /**
      * 更新 ObjectEntity
      */
     @Update
-    suspend fun updateObject(obj: ObjectEntity)
+    suspend fun updateObject(obj: Object)
 
     // @Transaction
     // @Query("select * from object")

+ 0 - 35
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/RelConfigDao.kt

@@ -1,35 +0,0 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
-
-import androidx.room.Dao
-import androidx.room.Delete
-import androidx.room.Insert
-import androidx.room.OnConflictStrategy
-import androidx.room.Query
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.RelConfigEntity
-
-/**
- * 表 rel_config Dao
- */
-@Dao
-interface RelConfigDao {
-    @Query("select * from rel_config")
-    suspend fun getConfigs(): List<RelConfigEntity>
-
-    @Query("select * from rel_config where id = :id")
-    suspend fun getConfigById(id: String): RelConfigEntity
-
-    @Query("select * from rel_config where class_code_from = :code")
-    suspend fun getConfigByCodeFrom(code: String): List<RelConfigEntity>
-
-    @Query("select * from rel_config where class_code_to = :code")
-    suspend fun getConfigByCodeTo(code: String): List<RelConfigEntity>
-
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insConfig(vararg config: RelConfigEntity)
-
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insConfigs(configs: List<RelConfigEntity>)
-
-    @Delete
-    suspend fun delConfig(config: RelConfigEntity)
-}

+ 0 - 28
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/SystemDao.kt

@@ -1,28 +0,0 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
-
-import androidx.room.Dao
-import androidx.room.Insert
-import androidx.room.OnConflictStrategy
-import androidx.room.Query
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.SystemEntity
-
-/**
- * 表 sys_dict Dao
- */
-@Dao
-interface SystemDao {
-    @Query("select * from system")
-    suspend fun getEqus(): List<SystemEntity>
-
-    @Query("select * from system where id = :id")
-    suspend fun getEquById(id: String): SystemEntity
-
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insSystem(vararg system: SystemEntity)
-
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    suspend fun insSystems(systems: List<SystemEntity>)
-
-    @Query("select * from system where code = :code")
-    suspend fun getSysByCode(code: String): SystemEntity?
-}

+ 3 - 3
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/ConfigDao.kt

@@ -1,7 +1,7 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.config
 
 import androidx.room.*
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.BasicConfigEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.config.BasicConfigEntity
 
 /**
  * basic_config 访问接口
@@ -9,7 +9,7 @@ import com.ys.bdtp.adm.mvvm.model.db.entity.dict.BasicConfigEntity
  * @author bai
  */
 @Dao
-interface ConfigDao {
+interface BasicConfigDao {
     @Query("select * from basic_config")
     suspend fun getConfigs(): List<BasicConfigEntity>
 

+ 3 - 3
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/ComponentDao.kt

@@ -1,12 +1,12 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.config
 
 import androidx.room.Dao
 import androidx.room.Delete
 import androidx.room.Insert
 import androidx.room.OnConflictStrategy
 import androidx.room.Query
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.ComponentEntity
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.BasicConfigEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.config.BasicConfigEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.config.ComponentEntity
 
 /**
  * component 表访问接口

+ 2 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/ContainerConfigDao.kt

@@ -1,10 +1,10 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.config
 
 import androidx.room.Dao
 import androidx.room.Insert
 import androidx.room.OnConflictStrategy
 import androidx.room.Query
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.ContainerConfigEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.config.ContainerConfigEntity
 
 /**
  * 表 container_config Dao

+ 2 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/InfosConfigDao.kt

@@ -1,11 +1,11 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.config
 
 import androidx.room.Dao
 import androidx.room.Delete
 import androidx.room.Insert
 import androidx.room.OnConflictStrategy
 import androidx.room.Query
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.InfosConfigEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.config.InfosConfigEntity
 
 /**
  * 表 infos_config Dao

+ 2 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/PipeConfigDao.kt

@@ -1,7 +1,7 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.config
 
 import androidx.room.*
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.PipeConfigEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.config.PipeConfigEntity
 
 /**
  * 表 pipe_config Dao

+ 6 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/config/ProblemInfoDao.kt

@@ -0,0 +1,6 @@
+package com.ys.bdtp.adm.mvvm.model.db.dao.config
+
+import androidx.room.Dao
+
+@Dao
+interface ProblemInfoDao {}

+ 6 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/config/ProblemTypeDao.kt

@@ -0,0 +1,6 @@
+package com.ys.bdtp.adm.mvvm.model.db.dao.config
+
+import androidx.room.Dao
+
+@Dao
+interface ProblemTypeDao {}

+ 28 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/dict/EquipmentDictDao.kt

@@ -0,0 +1,28 @@
+package com.ys.bdtp.adm.mvvm.model.db.dao.dict
+
+import androidx.room.*
+import com.ys.bdtp.adm.mvvm.model.db.entity.dict.EquipmentDictEntity
+
+/**
+ * 表 equipment_dict Dao
+ */
+@Dao
+interface EquipmentDictDao {
+    @Query("select * from equipment_dict")
+    suspend fun getEquipments(): List<EquipmentDictEntity>
+
+    @Query("select * from equipment_dict where id = :id and valid = 1")
+    suspend fun getEquipmentById(id: String): EquipmentDictEntity
+
+    @Query("select * from equipment_dict where code = :code and valid = 1")
+    suspend fun getEquipmentByCode(code: String): EquipmentDictEntity?
+
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    suspend fun insEquipment(vararg equipment: EquipmentDictEntity)
+
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    suspend fun insEquipments(equipments: List<EquipmentDictEntity>)
+
+    @Delete
+    suspend fun delEquipment(equipment: EquipmentDictEntity)
+}

+ 30 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/dict/InfoDictDao.kt

@@ -0,0 +1,30 @@
+package com.ys.bdtp.adm.mvvm.model.db.dao.dict
+
+import androidx.room.*
+import com.ys.bdtp.adm.mvvm.model.db.entity.dict.InfoDictEntity
+
+/**
+ * 表 info_dict dao
+ */
+@Dao
+interface InfoDictDao {
+    @Query("select * from info_dict")
+    suspend fun getInfos(): List<InfoDictEntity>
+
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    suspend fun insInfo(vararg info: InfoDictEntity)
+
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    suspend fun insInfos(infos: List<InfoDictEntity>)
+
+    @Update
+    suspend fun updateInfo(vararg info: InfoDictEntity)
+
+    @Query("select * from info_dict where (class_code = :classCode or class_code= :parentClassCode) and code = :code")
+    suspend fun getInfoByClassCodeAndCode(
+        classCode: String,
+        parentClassCode: String,
+        code: String
+    ): InfoDictEntity?
+
+}

+ 26 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/dict/MajorDictDao.kt

@@ -0,0 +1,26 @@
+package com.ys.bdtp.adm.mvvm.model.db.dao.dict
+
+import androidx.room.*
+import com.ys.bdtp.adm.mvvm.model.db.entity.dict.MajorDictEntity
+
+/**
+ * 表 major_dict Dao
+ */
+@Dao
+interface MajorDictDao {
+    @Query("select * from major_dict")
+    suspend fun getMajors(): List<MajorDictEntity>
+
+    @Query("select * from major_dict where id = :id")
+    suspend fun getMajorById(id: String): MajorDictEntity
+
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    suspend fun insMajor(vararg major: MajorDictEntity)
+
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    suspend fun insMajors(majors: List<MajorDictEntity>)
+
+    @Delete
+    suspend fun delMajor(major: MajorDictEntity)
+
+}

+ 35 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/dict/RelationConfigDictDao.kt

@@ -0,0 +1,35 @@
+package com.ys.bdtp.adm.mvvm.model.db.dao.dict
+
+import androidx.room.Dao
+import androidx.room.Delete
+import androidx.room.Insert
+import androidx.room.OnConflictStrategy
+import androidx.room.Query
+import com.ys.bdtp.adm.mvvm.model.db.entity.dict.RelationConfigDictEntity
+
+/**
+ * 表 relation_config Dao
+ */
+@Dao
+interface RelationConfigDictDao {
+    @Query("select * from relation_config_dict")
+    suspend fun getConfigs(): List<RelationConfigDictEntity>
+
+    @Query("select * from relation_config_dict where id = :id")
+    suspend fun getConfigById(id: String): RelationConfigDictEntity
+
+    @Query("select * from relation_config_dict where class_code_from = :code")
+    suspend fun getConfigByCodeFrom(code: String): List<RelationConfigDictEntity>
+
+    @Query("select * from relation_config_dict where class_code_to = :code")
+    suspend fun getConfigByCodeTo(code: String): List<RelationConfigDictEntity>
+
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    suspend fun insConfig(vararg config: RelationConfigDictEntity)
+
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    suspend fun insConfigs(configs: List<RelationConfigDictEntity>)
+
+    @Delete
+    suspend fun delConfig(config: RelationConfigDictEntity)
+}

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/RelationDictDao.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.dict
 
 import androidx.room.Dao
 import androidx.room.Delete

+ 28 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/dict/SystemDictDao.kt

@@ -0,0 +1,28 @@
+package com.ys.bdtp.adm.mvvm.model.db.dao.dict
+
+import androidx.room.Dao
+import androidx.room.Insert
+import androidx.room.OnConflictStrategy
+import androidx.room.Query
+import com.ys.bdtp.adm.mvvm.model.db.entity.dict.SystemDictEntity
+
+/**
+ * 表 system_dict Dao
+ */
+@Dao
+interface SystemDictDao {
+    @Query("select * from system_dict")
+    suspend fun getEqus(): List<SystemDictEntity>
+
+    @Query("select * from system_dict where id = :id")
+    suspend fun getEquById(id: String): SystemDictEntity
+
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    suspend fun insSystem(vararg system: SystemDictEntity)
+
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    suspend fun insSystems(systems: List<SystemDictEntity>)
+
+    @Query("select * from system_dict where code = :code")
+    suspend fun getSysByCode(code: String): SystemDictEntity?
+}

+ 24 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/task/BuildingDao.kt

@@ -0,0 +1,24 @@
+package com.ys.bdtp.adm.mvvm.model.db.dao.task
+
+import androidx.room.Dao
+import androidx.room.Insert
+import androidx.room.Query
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.BuildingEntity
+
+/**
+ * building 表访问接口
+ */
+@Dao
+interface BuildingDao {
+    @Query("select * from building")
+    suspend fun getBuildings(): List<BuildingEntity>
+
+    @Query("select * from building where id = :id")
+    suspend fun getBuildingById(id: String): BuildingEntity?
+
+    @Insert
+    suspend fun insBuilding(vararg floor: BuildingEntity)
+
+    @Insert
+    suspend fun insBuildings(floors: List<BuildingEntity>)
+}

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/CadDao.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.task
 
 import androidx.room.Dao
 import androidx.room.Insert

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/CustomInfoDao.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.task
 
 import androidx.room.Dao
 import androidx.room.Query

+ 7 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/task/EquipmentDao.kt

@@ -0,0 +1,7 @@
+package com.ys.bdtp.adm.mvvm.model.db.dao.task
+
+import androidx.room.Dao
+
+@Dao
+interface EquipmentDao {
+}

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/FileDao.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.task
 
 import androidx.room.*
 import com.ys.bdtp.adm.mvvm.model.db.entity.task.FileEntity

+ 25 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/task/FloorDao.kt

@@ -0,0 +1,25 @@
+package com.ys.bdtp.adm.mvvm.model.db.dao.task
+
+import androidx.room.Dao
+import androidx.room.Insert
+import androidx.room.Query
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.FloorEntity
+
+/**
+ * floor 表访问接口
+ */
+@Dao
+interface FloorDao {
+
+    @Query("select * from floor")
+    suspend fun getFloors(): List<FloorEntity>
+
+    @Query("select * from floor where id = :id")
+    suspend fun getFloorById(id: String): FloorEntity?
+
+    @Insert
+    suspend fun insFloor(vararg floor: FloorEntity)
+
+    @Insert
+    suspend fun insFloors(floors: List<FloorEntity>)
+}

+ 3 - 3
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/PipeDao.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.task
 
 import androidx.room.Dao
 import androidx.room.Delete
@@ -6,8 +6,8 @@ import androidx.room.Insert
 import androidx.room.OnConflictStrategy
 import androidx.room.Query
 import androidx.room.Update
-import com.framework.mvvm.model.db.entity.task.PipeEntity
-import com.ys.bdtp.adm.mvvm.model.db.entity.dict.PipeConfigEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.PipeEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.config.PipeConfigEntity
 
 /**
  * 管道表 Dao

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/ProblemDao.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.task
 
 import androidx.room.Dao
 import androidx.room.Insert

+ 2 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/ProjectDao.kt

@@ -1,7 +1,7 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.task
 
 import androidx.room.*
-import com.ys.bdtp.adm.mvvm.model.db.entity.ProjectEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.ProjectEntity
 
 /**
  * project 表访问接口

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/QrCodeDao.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.task
 
 import androidx.room.Dao
 import androidx.room.Delete

+ 3 - 6
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/RelationDao.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.task
 
 import androidx.room.Dao
 import androidx.room.Delete
@@ -19,9 +19,6 @@ interface RelationDao {
     @Query("select * from relation where id = :id")
     suspend fun getRelationById(id: String): RelationEntity
 
-    @Query("select * from relation where building_id = :id")
-    suspend fun getRelationByBuildingId(id: String): List<RelationEntity>
-
     @Query("select * from relation where graph_code = :graphCode and rel_code = :relCode and valid = 1")
     suspend fun getRelationByCode(graphCode: String, relCode: String): List<RelationEntity>
 
@@ -54,7 +51,7 @@ interface RelationDao {
     @Delete
     suspend fun delRelation(relation: RelationEntity)
 
-    @Query("select count(*) from relation where project_id = :projectId and (state = 0 or state = 1)")
-    suspend fun countUnDone(projectId: String): Int
+    /*@Query("select count(*) from relation where project_id = :projectId and (state = 0 or state = 1)")
+    suspend fun countUnDone(projectId: String): Int*/
 
 }

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/ServeAreaDao.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.dao
+package com.ys.bdtp.adm.mvvm.model.db.dao.task
 
 import androidx.room.Dao
 import androidx.room.Insert

+ 11 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/task/SpaceDao.kt

@@ -0,0 +1,11 @@
+package com.ys.bdtp.adm.mvvm.model.db.dao.task
+
+import androidx.room.Dao
+
+/**
+ * 表 space 访问接口
+ */
+@Dao
+interface SpaceDao {
+
+}

+ 43 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/dao/task/WorkspaceDao.kt

@@ -0,0 +1,43 @@
+package com.ys.bdtp.adm.mvvm.model.db.dao.task
+
+import androidx.room.*
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.WorkspaceEntity
+
+/**
+ * 表 space Dao
+ */
+@Dao
+interface WorkspaceDao {
+    @Query("select * from workspace")
+    suspend fun getSpaces(): List<WorkspaceEntity>
+
+    @Query("select * from workspace where id = :id")
+    suspend fun getSpaceById(id: String): WorkspaceEntity
+
+    @Query("select * from workspace where space_id = :id and valid = 1")
+    suspend fun getSpaceBySpaceId(id: String): WorkspaceEntity
+
+    @Query("select * from workspace where floor_id = :id and arch_state =:archState and valid = 1")
+    suspend fun getSpaceByArchStateFloorId(id: String, archState: String): List<WorkspaceEntity>
+
+    @Query("select * from workspace where floor_id = :id and equip_state =:equipState and valid = 1")
+    suspend fun getSpaceByEquipStateFloorId(id: String, equipState: String): List<WorkspaceEntity>
+
+    @Query("select * from workspace where building_id = :id")
+    suspend fun getSpaceByBuildingId(id: String): List<WorkspaceEntity>
+
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    suspend fun insSpace(vararg space: WorkspaceEntity)
+
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    suspend fun insSpaces(spaces: List<WorkspaceEntity>)
+
+    @Update
+    suspend fun updateSpaces(spaces: List<WorkspaceEntity>)
+
+    @Delete
+    suspend fun delSpace(space: WorkspaceEntity)
+
+    @Query("select count(*) from workspace where project_id = :projectId and (state = 0 or state = 1)")
+    suspend fun countUnDone(projectId: String): Int
+}

+ 9 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/BasicConfigEntity.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.entity.dict
+package com.ys.bdtp.adm.mvvm.model.db.entity.config
 
 
 import androidx.room.ColumnInfo
@@ -22,4 +22,12 @@ data class BasicConfigEntity(
     @ColumnInfo(name = "code") val code: String,               // 配置项编码
     @ColumnInfo(name = "name") val name: String,               // 配置项名称
     @ColumnInfo(name = "data") val data: JsonElement? = null,  //
+)
+
+/**
+ * 基本配置数据
+ */
+data class BasicConfigData(
+    val code: Any,
+    val name: String
 )

+ 7 - 6
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/ComponentEntity.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.entity.dict
+package com.ys.bdtp.adm.mvvm.model.db.entity.config
 
 import androidx.room.ColumnInfo
 import androidx.room.Entity
@@ -9,16 +9,17 @@ import androidx.room.PrimaryKey
  *  描述对象的形态,(方形,圆形等等)
  * @author bai
  *
+ * @param id
  * @param compCode 构件编码
  * @param compName 构件名称
- * @param systemCode 系统编码
  * @param classCode 类型编码
+ * @param systemCode 系统编码
  */
 @Entity(tableName = "component")
 data class ComponentEntity(
-    @PrimaryKey val id: String,
+    @PrimaryKey @ColumnInfo(name = "id") val id: String,
     @ColumnInfo(name = "comp_code") val compCode: String,
     @ColumnInfo(name = "comp_name") val compName: String?,
-    @ColumnInfo(name = "system_code") val systemCode: String,
-    @ColumnInfo(name = "class_code") val classCode: String
-)
+    @ColumnInfo(name = "class_code") val classCode: String,
+    @ColumnInfo(name = "system_code") val systemCode: String
+)

+ 2 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/ContainerConfigEntity.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.entity.dict
+package com.ys.bdtp.adm.mvvm.model.db.entity.config
 
 import androidx.room.ColumnInfo
 import androidx.room.Entity
@@ -12,4 +12,4 @@ data class ContainerConfigEntity(
     @PrimaryKey val id: String,
     @ColumnInfo(name = "container_code") var containerCode: String, // 容器设备类型编码
     @ColumnInfo(name = "widget_code") var widgetCode: String        // 无模型设备类型编码
-)
+)

+ 45 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/config/InfosConfigEntity.kt

@@ -0,0 +1,45 @@
+package com.ys.bdtp.adm.mvvm.model.db.entity.config
+
+import androidx.room.ColumnInfo
+import androidx.room.Entity
+import androidx.room.PrimaryKey
+import com.google.gson.JsonElement
+
+/**
+ * 信息配置 表
+ *
+ * @author bai
+ *
+ * @param id
+ * @param name 对象类型名称
+ * @param projectId 系项目id
+ * @param objType 对象类型(space|equipment)
+ * @param classCode 对象class_code
+ * @param majorCode 专业代码(类型为设备时)
+ * @param systemCode 系统代码(类型为设备时)
+ * @param systemCode 对象类型的信息详情点配置
+
+ */
+@Entity(tableName = "infos_config")
+data class InfosConfigEntity(
+    @PrimaryKey val id: String,
+    @ColumnInfo(name = "name") val name: String?,
+    @ColumnInfo(name = "project_id") val projectId: String?,
+    @ColumnInfo(name = "obj_type") val objType: String?,
+    @ColumnInfo(name = "class_code") val classCode: String?,
+    @ColumnInfo(name = "major_code") val majorCode: String?,
+    @ColumnInfo(name = "system_code") val systemCode: String?,
+    @ColumnInfo(name = "infos") val infos: JsonElement? = null
+)
+
+/**
+ * 信息配置的额外信息
+ */
+data class InfosConfigInfos(
+    val code: String,
+    val name: String,
+    val group: String,
+    val label: String,
+    val inputType: String,
+    val cfgItemType: String
+)

+ 11 - 6
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/PipeConfigEntity.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.entity.dict
+package com.ys.bdtp.adm.mvvm.model.db.entity.config
 
 import androidx.room.ColumnInfo
 import androidx.room.Entity
@@ -6,17 +6,22 @@ import androidx.room.PrimaryKey
 
 /**
  * 管道配置 表
+ *
+ * @author bai
+ *
+ * @param id
+ * @param classCodeFrom from 端设备对象class_code
+ * @param classCodeTo to 端设备对象class_code
+ * @param pipeType 管道类型(数据字典定义)
+ * @param pipeSubType 管道用途(业务定义补充描述类型)
+ * @param pipeDirection 管道方向(1:正向from->to;-1:反向to->from;0:无方向)
  */
 @Entity(tableName = "pipe_config")
 data class PipeConfigEntity(
-    @PrimaryKey val id: String,
-    @ColumnInfo(name = "project_id") val projectId: String?,             // 项目id
+    @PrimaryKey  @ColumnInfo(name = "id") val id: String,
     @ColumnInfo(name = "class_code_from") val classCodeFrom: String?,    // from 端设备对象class_code
     @ColumnInfo(name = "class_code_to") val classCodeTo: String?,        //  to  端设备对象class_code
     @ColumnInfo(name = "pipe_type") val pipeType: String?,               // 管道类型(数据字典定义)
     @ColumnInfo(name = "pipe_sub_type") val pipeSubType: String?,        // 管道用途(业务定义补充描述类型)
     @ColumnInfo(name = "pipe_direction") val pipeDirection: Int?,        // 管道方向(1:正向from->to;-1:反向to->from;0:无方向)
-    @ColumnInfo(name = "pipe_description") val pipeDescription: String?, // 描述信息
-//    val classCodeFromName: String?,
-//    val classCodeToName: String?,
 )

+ 24 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/config/ProblemInfoEntity.kt

@@ -0,0 +1,24 @@
+package com.ys.bdtp.adm.mvvm.model.db.entity.config
+
+import androidx.room.ColumnInfo
+import androidx.room.Entity
+import androidx.room.PrimaryKey
+
+/**
+ * 问题信息表
+ *
+ * @author bai
+ */
+@Entity(tableName = "problem_info")
+data class ProblemInfoEntity(
+    @PrimaryKey @ColumnInfo(name = "id") val id: String,
+    @ColumnInfo(name = "code") val code: String,
+    @ColumnInfo(name = "name") val name: String,
+    @ColumnInfo(name = "data_source") val dataSource: String,
+    @ColumnInfo(name = "data_type") val dataType: String,
+    @ColumnInfo(name = "is_multiple") val isMultiple: Int,
+    @ColumnInfo(name = "problem_type_code") val problemTypeCode: String,
+    @ColumnInfo(name = "unit") val unit: String,
+    @ColumnInfo(name = "valid") val valid: Int,
+    @ColumnInfo(name = "ts") val ts: String
+)

+ 20 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/config/ProblemTypeEntity.kt

@@ -0,0 +1,20 @@
+package com.ys.bdtp.adm.mvvm.model.db.entity.config
+
+import androidx.room.ColumnInfo
+import androidx.room.Entity
+import androidx.room.PrimaryKey
+
+/**
+ * 问题类型表
+ *
+ * @author bai
+ */
+@Entity(tableName = "problem_type")
+data class ProblemTypeEntity(
+    @PrimaryKey @ColumnInfo(name = "id") val id: String,
+    @ColumnInfo(name = "obj_type_code") val objTypeCode: String,
+    @ColumnInfo(name = "obj_type_name") val objTypeName: String,
+    @ColumnInfo(name = "problem_type_code") val problemTypeCode: String,
+    @ColumnInfo(name = "problem_type_name") val problemTypeName: String,
+    @ColumnInfo(name = "valid") val valid: Int
+)

+ 2 - 3
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/EquipmentEntity.kt

@@ -3,7 +3,6 @@ package com.ys.bdtp.adm.mvvm.model.db.entity.dict
 import androidx.room.ColumnInfo
 import androidx.room.Entity
 import androidx.room.PrimaryKey
-import java.io.Serializable
 
 /**
  * 字典, 设备表
@@ -33,8 +32,8 @@ import java.io.Serializable
  * @param creator 创建人
  * @param creationTime 创建时间
  */
-@Entity(tableName = "equipment")
-data class EquipmentEntity(
+@Entity(tableName = "equipment_dict")
+data class EquipmentDictEntity(
     @PrimaryKey @ColumnInfo(name = "id") val id: String,
     @ColumnInfo(name = "code") val code: String?,
     @ColumnInfo(name = "name") val name: String?,

+ 2 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/InfoEntity.kt

@@ -27,8 +27,8 @@ import com.google.gson.JsonElement
  * @param version
  *
  */
-@Entity(tableName = "info")
-data class InfoEntity(
+@Entity(tableName = "info_dict")
+data class InfoDictEntity(
     @PrimaryKey @ColumnInfo(name = "id") val id: String,
     @ColumnInfo(name = "code") val code: String? = null,
     @ColumnInfo(name = "name") val name: String? = null,

+ 0 - 21
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/InfosConfigEntity.kt

@@ -1,21 +0,0 @@
-package com.ys.bdtp.adm.mvvm.model.db.entity.dict
-
-import androidx.room.ColumnInfo
-import androidx.room.Entity
-import androidx.room.PrimaryKey
-import com.google.gson.JsonElement
-
-/**
- * 信息配置 表
- */
-@Entity(tableName = "infos_config")
-data class InfosConfigEntity(
-    @PrimaryKey val id: String,
-    @ColumnInfo(name = "name") val name: String?,               // 对象类型名称
-    @ColumnInfo(name = "obj_type") val objType: String?,        // 对象类型(space|equipment)
-    @ColumnInfo(name = "class_code") val classCode: String?,    // 对象class_code
-    @ColumnInfo(name = "major_code") val majorCode: String?,    // 专业代码(类型为设备时)
-    @ColumnInfo(name = "system_code") val systemCode: String?,  // 系统代码(类型为设备时)
-    @ColumnInfo(name = "project_id") val projectId: String?,    // 项目id
-    @ColumnInfo(name = "infos") val infos: JsonElement? = null  // 对象类型的信息详情点配置
-)

+ 0 - 18
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/M2dEquipEntity.kt

@@ -1,18 +0,0 @@
-package com.ys.bdtp.adm.mvvm.model.db.entity.dict
-
-import androidx.room.ColumnInfo
-import androidx.room.Entity
-import androidx.room.PrimaryKey
-
-/**
- * 正向建模设备 表
- */
-@Entity(tableName = "m2d_equip")
-data class M2dEquipEntity(
-    @PrimaryKey val id: String,
-    @ColumnInfo(name = "name") val name: String,               // 设备名称
-    @ColumnInfo(name = "major_code") val majorCode: String?,   // 专业编码
-    @ColumnInfo(name = "system_code") val systemCode: String?, // 系统编码
-    @ColumnInfo(name = "class_code") val classCode: String?,   // 类型代码
-    @ColumnInfo(name = "project_id") val projectId: String?,   // 项目id
-)

+ 2 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/MajorEntity.kt

@@ -19,8 +19,8 @@ import androidx.room.PrimaryKey
  * @param valid 有效标识: 0 无效, 1 有效
  * @param remark 备注
  */
-@Entity(tableName = "major")
-data class MajorEntity(
+@Entity(tableName = "major_dict")
+data class MajorDictEntity(
     @PrimaryKey @ColumnInfo(name = "id") val id: String,
     @ColumnInfo(name = "label") val label: String,
     @ColumnInfo(name = "code") val code: String,

+ 0 - 24
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/RelConfigEntity.kt

@@ -1,24 +0,0 @@
-package com.ys.bdtp.adm.mvvm.model.db.entity.dict
-
-import androidx.room.ColumnInfo
-import androidx.room.Entity
-import androidx.room.PrimaryKey
-import java.io.Serializable
-
-/**
- * 关系配置 表
- */
-@Entity(tableName = "rel_config")
-data class RelConfigEntity(
-    @PrimaryKey val id: String,
-    @ColumnInfo(name = "project_id") val projectId: String?,           // 项目id
-    @ColumnInfo(name = "obj_type_from") val objTypeFrom: String?,      // from 端对象类型(space|equipment)
-    @ColumnInfo(name = "obj_type_to") val objTypeTo: String?,          //  to  端对象类型(space|equipment)
-    @ColumnInfo(name = "class_code_from") val classCodeFrom: String?,  // from 端对象class_code
-    @ColumnInfo(name = "class_code_to") val classCodeTo: String?,      //  to  端对象class_code
-    @ColumnInfo(name = "graph_code") val graphCode: String?,           // 关系的图类型编码
-    @ColumnInfo(name = "graph_name") val graphName: String?,           // 关系的图类型名称
-    @ColumnInfo(name = "rel_code") val relCode: String?,               // 关系的边类型编码
-    @ColumnInfo(name = "rel_name") val relName: String?,               // 关系的边类型名称
-    @ColumnInfo(name = "direction") val direction: String?,            // 关系方向(fixed|optional|none)
-): Serializable

+ 35 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/RelationConfigDictEntity.kt

@@ -0,0 +1,35 @@
+package com.ys.bdtp.adm.mvvm.model.db.entity.dict
+
+import androidx.room.ColumnInfo
+import androidx.room.Entity
+import androidx.room.PrimaryKey
+
+/**
+ * 关系配置 表
+ *
+ * @author bai
+ *
+ * @param id
+ * @param objTypeFrom from 端对象类型(space|equipment)
+ * @param objTypeTo to 端对象类型(space|equipment)
+ * @param classCodeFrom from 端对象class_code
+ * @param classCodeTo to 端对象class_code
+ * @param graphCode 关系的图类型编码
+ * @param graphName 关系的图类型名称
+ * @param relCode 关系的边类型编码
+ * @param relName 关系的边类型名称
+ * @param direction 关系方向(fixed|optional|none)
+ */
+@Entity(tableName = "relation_config_dict")
+data class RelationConfigDictEntity(
+    @PrimaryKey @ColumnInfo(name = "id") val id: String,
+    @ColumnInfo(name = "obj_type_from") val objTypeFrom: String?,
+    @ColumnInfo(name = "obj_type_to") val objTypeTo: String?,
+    @ColumnInfo(name = "class_code_from") val classCodeFrom: String?,
+    @ColumnInfo(name = "class_code_to") val classCodeTo: String?,
+    @ColumnInfo(name = "graph_code") val graphCode: String?,
+    @ColumnInfo(name = "graph_name") val graphName: String?,
+    @ColumnInfo(name = "rel_code") val relCode: String?,
+    @ColumnInfo(name = "rel_name") val relName: String?,
+    @ColumnInfo(name = "direction") val direction: String?,
+)

+ 2 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/dict/SystemEntity.kt

@@ -30,8 +30,8 @@ import androidx.room.PrimaryKey
  * @param modifier 最后修改人
  * @param modifiedTime 最后修改时间
  */
-@Entity(tableName = "system")
-data class SystemEntity(
+@Entity(tableName = "system_dict")
+data class SystemDictEntity(
     @PrimaryKey @ColumnInfo(name = "id") val id: String,
     @ColumnInfo(name = "code") val code: String,
     @ColumnInfo(name = "name") val name: String,

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/relation/UserWithProjects.kt

@@ -2,7 +2,7 @@ package com.ys.bdtp.adm.mvvm.model.db.entity.relation
 
 import androidx.room.Embedded
 import androidx.room.Relation
-import com.ys.bdtp.adm.mvvm.model.db.entity.ProjectEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.ProjectEntity
 import com.ys.bdtp.adm.mvvm.model.db.entity.UserEntity
 
 /**

+ 5 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/BuildingEntity.kt

@@ -6,7 +6,7 @@ import androidx.room.PrimaryKey
 import com.google.gson.JsonElement
 
 /**
- * 建筑
+ * 建筑
  *
  * @author bai
  *
@@ -35,7 +35,7 @@ data class BuildingEntity(
     @ColumnInfo(name = "class_code") val classCode: String,
     @ColumnInfo(name = "grouping") val grouping: Int = 1,
     @ColumnInfo(name = "group_code") val groupCode: String,
-    @ColumnInfo(name = "local_id") val projectId: String,
+    @ColumnInfo(name = "project_id") val projectId: String,
     @ColumnInfo(name = "local_id") val localId: String,
     @ColumnInfo(name = "local_name") val localName: String,
     @ColumnInfo(name = "infos") val infos: JsonElement? = null,
@@ -46,6 +46,9 @@ data class BuildingEntity(
     @ColumnInfo(name = "creator_time") val creationTime: Long,
 )
 
+/**
+ * 建筑信息点
+ */
 data class BuildingInfos(
     val buildFuncType: String,
     val coolType: List<String>,

+ 58 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/EquipmentEntity.kt

@@ -0,0 +1,58 @@
+package com.ys.bdtp.adm.mvvm.model.db.entity.task
+
+import androidx.room.ColumnInfo
+import androidx.room.Entity
+import androidx.room.PrimaryKey
+import com.google.gson.JsonElement
+import com.ys.bdtp.adm.mvvm.model.vo.Location
+
+/**
+ * 设备表
+ *
+ * @author bai
+ *
+ */
+@Entity(tableName = "equipment")
+data class EquipmentEntity(
+    @PrimaryKey @ColumnInfo(name = "id") val id: String,
+    @ColumnInfo(name = "name") val name: String,
+    @ColumnInfo(name = "obj_type") val objType: String,
+    @ColumnInfo(name = "class_code") val classCode: String,
+    @ColumnInfo(name = "grouping") val grouping: Int,
+    @ColumnInfo(name = "group_code") val groupCode: String,
+    @ColumnInfo(name = "project_id") val projectId: String,
+    @ColumnInfo(name = "local_id") val localId: String,
+    @ColumnInfo(name = "local_name") val localName: String,
+    @ColumnInfo(name = "infos") val infos: JsonElement? = null,
+    @ColumnInfo(name = "container_id") val containerId: String,
+    @ColumnInfo(name = "building_id") val buildingId: String,
+    @ColumnInfo(name = "floor_id") val floorId: String,
+    @ColumnInfo(name = "bim_id") val bimId: String,
+    @ColumnInfo(name = "create_app") val createApp: String,
+    @ColumnInfo(name = "update_app") val updateApp: String,
+    @ColumnInfo(name = "ts") val ts: Long,
+    @ColumnInfo(name = "valid") val valid: Int,
+    @ColumnInfo(name = "creator") val creator: String,
+    @ColumnInfo(name = "creator_time") val creationTime: Long,
+    @ColumnInfo(name = "modifier") val modifier: String,
+    @ColumnInfo(name = "modifier_time") val modifiedTime: Long
+)
+
+/**
+ * 设备信息点
+ */
+data class EquipmentInfos(
+    val brand: String,
+    val codeType: String,
+    val equipCheck: Int,
+    val equipContent: String,
+    val equipPhoto: String,
+    val equipStatus: String,
+    val location: Location,
+    val modelId: String,
+    val shapeType: String,
+    val structureType: String,
+    val installType: String,
+    val manufacturer: String,
+    val zRegion: String
+)

+ 63 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/FloorEntity.kt

@@ -0,0 +1,63 @@
+package com.ys.bdtp.adm.mvvm.model.db.entity.task
+
+import androidx.room.ColumnInfo
+import androidx.room.Entity
+import androidx.room.PrimaryKey
+import com.google.gson.JsonElement
+
+/**
+ * 楼层表
+ *
+ * @author bai
+ *
+ * @param id
+ * @param name 楼层名
+ * @param buildingId 所属建筑id
+ * @param objType 楼层类型
+ * @param classCode 楼层类型编码
+ * @param grouping 是否对象组: 1 单个对象 2 对象组
+ * @param groupCode 集团编码
+ * @param projectId 项目id
+ * @param localId 建筑位置id
+ * @param localName 建筑位置名称
+ * @param infos 楼层附加信息: Gson解析后对应 FloorInfos
+ * @param valid 有效标识: 1 有效 2 失效
+ * @param modifier 修改者
+ * @param modifiedTime 修改时间
+ * @param creator 创建者
+ * @param creationTime 创建时间
+ *
+ */
+@Entity(tableName = "floor")
+data class FloorEntity(
+    @PrimaryKey @ColumnInfo(name = "id") val id: String,
+    @ColumnInfo(name = "name") val name: String,
+    @ColumnInfo(name = "building_id") val buildingId: String,
+    @ColumnInfo(name = "obj_type") val objType: String,
+    @ColumnInfo(name = "class_code") val classCode: String,
+    @ColumnInfo(name = "grouping") val grouping: Int,
+    @ColumnInfo(name = "group_code") val groupCode: String,
+    @ColumnInfo(name = "project_id") val projectId: String,
+    @ColumnInfo(name = "local_id") val localId: String,
+    @ColumnInfo(name = "local_name") val localName: String,
+    @ColumnInfo(name = "infos") val infos: JsonElement? = null,
+    @ColumnInfo(name = "valid") val valid: Int,
+    @ColumnInfo(name = "creator") val creator: String,
+    @ColumnInfo(name = "creator_time") val creationTime: Long,
+    @ColumnInfo(name = "modifier") val modifier: String,
+    @ColumnInfo(name = "modifier_time") val modifiedTime: Long
+)
+
+/**
+ * 楼层信息点
+ */
+data class FloorInfos(
+    val bimIdPre: String,
+    val floorElevation: Double,
+    val floorLocateType: String,
+    val floorMap: String,
+    val floorSequenceID: Int,
+    val floorType: String,
+    val height: Double,
+    val modelId: String
+)

+ 4 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/PipeEntity.kt

@@ -1,4 +1,4 @@
-package com.framework.mvvm.model.db.entity.task
+package com.ys.bdtp.adm.mvvm.model.db.entity.task
 
 import androidx.room.ColumnInfo
 import androidx.room.Entity
@@ -8,6 +8,9 @@ import com.google.gson.JsonElement
 
 /**
  * 管道表
+ *
+ * @author bai
+ *
  */
 @Entity(tableName = "pipe")
 data class PipeEntity(

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/ProjectEntity.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.entity
+package com.ys.bdtp.adm.mvvm.model.db.entity.task
 
 import androidx.room.ColumnInfo
 import androidx.room.Entity

+ 28 - 18
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/RelationEntity.kt

@@ -7,27 +7,37 @@ import com.ys.bdtp.adm.mvvm.model.db.entity.BaseEntity
 
 /**
  * 关系(业务)表
+ *
+ * @author bai
+ *
+ * @param id
+ * @param graphId 图id
+ * @param graphCode 图编码
+ * @param groupCode 集团代码
+ * @param projectId 项目id
+ * @param objFrom 关系源对象
+ * @param objTo 关系目标对象
+ * @param relCode 关系编码
+ * @param relValue 关系值
+ * @param ts
+ *
  */
 @Entity(tableName = "relation")
 data class RelationEntity(
-    @PrimaryKey @ColumnInfo(name = "id") override val id: String,
-    @ColumnInfo(name = "project_id") override val projectId: String? = null,
-    @ColumnInfo(name = "building_id") override val buildingId: String? = null,
-    @ColumnInfo(name = "floor_id") override val floorId: String? = null,
-    @ColumnInfo(name = "state") override var state: Int = -1,
-    @ColumnInfo(name = "valid") override var valid: Int = 1,
-    @ColumnInfo(name = "ts") override val ts: Long = 0L,
+    @PrimaryKey @ColumnInfo(name = "id") val id: String,
+    @ColumnInfo(name = "graph_id") val graphId: String? = null,
+    @ColumnInfo(name = "graph_code") val graphCode: String? = null,  //
     @ColumnInfo(name = "group_code") val groupCode: String? = null,         // 集团代码
-    @ColumnInfo(name = "graph_id") val graphId: String? = null,             // 图id
-    @ColumnInfo(name = "graph_code") val graphCode: String? = null,         // 图编码
+    @ColumnInfo(name = "project_id") val projectId: String,
+    @ColumnInfo(name = "obj_from") val objFrom: String? = null, // 关系源对象
+    @ColumnInfo(name = "obj_to") val objTo: String? = null,// 关系目标对象
     @ColumnInfo(name = "rel_code") val relCode: String? = null,             // 关系编码
     @ColumnInfo(name = "rel_value") val relValue: String? = null,           // 关系值
-    @ColumnInfo(name = "obj_from") val objFrom: String? = null,             // 关系源对象
-    @ColumnInfo(name = "obj_to") val objTo: String? = null,                 // 关系目标对象
-    @ColumnInfo(name = "client_id") val clientId: String? = null,           // 客户端生成id
-    @ColumnInfo(name = "client_device") val clientDevice: String? = null,   // 标识客户端设备
-    @ColumnInfo(name = "delivery_state") val deliveryState: Int = -1,       // BDTP交付状态: 1 已交付, 0 待交付
-    @ColumnInfo(name = "d2m_state") val d2mState: Int = -1,                 // 逆向数据的数模同步状态(0:未同步;1:已同步)
-    var objFromLocalId: String? = null,
-    var objToLocalId: String? = null,
-) : BaseEntity
+    @ColumnInfo(name = "ts") val ts: Long,
+    @ColumnInfo(name = "valid") val valid: Int,
+    @ColumnInfo(name = "creator") val creator: String,
+    @ColumnInfo(name = "create_app") val createApp: String,
+    @ColumnInfo(name = "creation_time") val creationTime: Long,
+    @ColumnInfo(name = "modifier") val modifier: String,
+    @ColumnInfo(name = "modifier_time") val modifiedTime: Long
+)

+ 63 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/SpaceEntity.kt

@@ -0,0 +1,63 @@
+package com.ys.bdtp.adm.mvvm.model.db.entity.task
+
+import androidx.room.ColumnInfo
+import androidx.room.Entity
+import androidx.room.PrimaryKey
+import com.google.gson.JsonElement
+import com.ys.bdtp.adm.mvvm.model.vo.Location
+import com.ys.bdtp.adm.mvvm.model.vo.Outline
+
+/**
+ * 空间表
+ *
+ * @author bai
+ *
+ * @param id
+ * @param name 空间名称
+ * @param projectId 项目id
+ * @param buildingId 建筑id
+ * @param floorId 楼层id
+ * @param objType 对象类型: space
+ * @param classCode 空间类型编码
+ * @param grouping 是否对象组: 1 单个对象 2 对象组
+ * @param groupCode 集团编码
+ * @param localId 空间坐标id
+ * @param localName 空间名称
+ * @param infos 空间附加信息: Gson解析后对应 SpaceInfos
+ * @param valid 有效标识: 1 有效 2 失效
+ * @param modifier 修改者
+ * @param modifiedTime 修改时间
+ * @param creator 创建者
+ * @param creationTime 创建时间
+ *
+ */
+@Entity(tableName = "space")
+data class SpaceEntity(
+    @PrimaryKey @ColumnInfo(name = "id") val id: String,
+    @ColumnInfo(name = "name") val name: String,
+    @ColumnInfo(name = "project_id") val projectId: String?,
+    @ColumnInfo(name = "building_id") val buildingId: String?,
+    @ColumnInfo(name = "floor_id") val floorId: String?,
+    @ColumnInfo(name = "obj_type") val objType: String,
+    @ColumnInfo(name = "class_code") val classCode: String,
+    @ColumnInfo(name = "grouping") val grouping: Int,
+    @ColumnInfo(name = "group_code") val groupCode: String,
+    @ColumnInfo(name = "local_id") val localId: String,
+    @ColumnInfo(name = "local_name") val localName: String,
+    @ColumnInfo(name = "infos") val infos: JsonElement? = null,
+    @ColumnInfo(name = "valid") var valid: Int = 1,
+    @ColumnInfo(name = "creator") val creator: String,
+    @ColumnInfo(name = "creator_time") val creationTime: Long,
+    @ColumnInfo(name = "modifier") val modifier: String,
+    @ColumnInfo(name = "modifier_time") val modifiedTime: Long
+
+)
+
+/**
+ * 空间信息点
+ */
+data class SpaceInfos(
+    val height: Double,
+    val location: Location,
+    val outline: List<List<List<Outline>>>
+)

+ 2 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/JobSpaceEntity.kt

@@ -9,8 +9,8 @@ import com.google.gson.JsonElement
 /**
  * 工作空间表
  */
-@Entity(tableName = "job_space")
-data class JobSpaceEntity(
+@Entity(tableName = "workspace")
+data class WorkspaceEntity(
     @PrimaryKey @ColumnInfo(name = "id") override val id: String,
     @ColumnInfo(name = "project_id") override val projectId: String?,
     @ColumnInfo(name = "building_id") override val buildingId: String?,

+ 26 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/model/nt/Api.kt

@@ -1,8 +1,7 @@
 package com.ys.bdtp.adm.mvvm.model.nt
 
 import com.ys.bdtp.adm.mvvm.model.Model
-import com.ys.bdtp.adm.mvvm.model.vo.Dict
-import com.ys.bdtp.adm.mvvm.model.vo.Frame
+import com.ys.bdtp.adm.mvvm.model.vo.*
 import com.ys.bdtp.adm.mvvm.model.vo.request.Account
 import com.ys.bdtp.adm.mvvm.model.vo.request.Login
 import retrofit2.http.Body
@@ -36,9 +35,34 @@ interface Api {
     suspend fun getDict(): Model<Dict>
 
     /**
+     * 获取配置信息
+     */
+    @POST("adm-server/adm/config")
+    suspend fun getConfig(): Model<Config>
+
+    /**
      * 获取字典数据
      */
     @POST("adm-server/adm/frame")
     suspend fun getFrame(): Model<Frame>
 
+    /**
+     * 获取建筑数据
+     */
+    @POST("adm-server/adm/download")
+    suspend fun getBuilding(): Model<Building>
+
+    /**
+     * 获取关系数据
+     */
+    @POST("adm-server/adm/downloadObjRel")
+    suspend fun getRelations(): Model<Relation>
+
+    /**
+     * 判断是否有需要更新的数据
+     */
+    @POST("adm-server/adm/hasUpdate")
+    suspend fun hasUpdate(): Model<Boolean>
+
+
 }

+ 19 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/vo/Building.kt

@@ -0,0 +1,19 @@
+package com.ys.bdtp.adm.mvvm.model.vo
+
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.*
+
+/**
+ * 建筑数据
+ */
+data class Building(
+    val bdtpDownloadTs: Long,
+    val buildingId: String,
+    val objects: List<Object>,
+    val pipes: List<PipeEntity>,
+    val jobSpace: List<WorkspaceEntity>,
+    val file: List<FileEntity>,
+    val qrCode: List<QrCodeEntity>,
+    val serveArea: List<ServeAreaEntity>,
+    val problems: List<ProblemEntity>,
+    val admCads: List<CadEntity>,
+)

+ 20 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/vo/Config.kt

@@ -0,0 +1,20 @@
+package com.ys.bdtp.adm.mvvm.model.vo
+
+import com.ys.bdtp.adm.mvvm.model.db.entity.config.*
+import com.ys.bdtp.adm.mvvm.model.db.entity.dict.RelationConfigDictEntity
+
+/**
+ * 配置数据
+ *
+ * @author bai
+ */
+data class Config(
+    val admDefineProblemInfos: List<ProblemInfoEntity>,
+    val admDefineProblemTypes: List<ProblemTypeEntity>,
+    val component: List<ComponentEntity>,
+    val config: List<BasicConfigEntity>,
+    val containerConfig: List<ContainerConfigEntity>,
+    val infosConfig: List<InfosConfigEntity>,
+    val pipeConfig: List<PipeConfigEntity>,
+    val relConfig: List<RelationConfigDictEntity>
+)

+ 4 - 4
app/src/main/java/com/ys/bdtp/adm/mvvm/model/vo/Dict.kt

@@ -9,9 +9,9 @@ import com.ys.bdtp.adm.mvvm.model.db.entity.task.RelationEntity
  * @author bai
  */
 data class Dict(
-    val equipment: List<EquipmentEntity>,
-    val infos: List<InfoEntity>,
-    val major: List<MajorEntity>,
+    val equipment: List<EquipmentDictEntity>,
+    val infos: List<InfoDictEntity>,
+    val major: List<MajorDictEntity>,
     val relation: List<RelationEntity>,
-    val system: List<SystemEntity>
+    val system: List<SystemDictEntity>
 )

+ 10 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/vo/Location.kt

@@ -0,0 +1,10 @@
+package com.ys.bdtp.adm.mvvm.model.vo
+
+/**
+ * Location
+ */
+data class Location(
+    val x: Double,
+    val y: Double,
+    val z: Double
+)

+ 5 - 61
app/src/main/java/com/ys/bdtp/adm/mvvm/model/db/entity/task/ObjectEntity.kt

@@ -1,4 +1,4 @@
-package com.ys.bdtp.adm.mvvm.model.db.entity.task
+package com.ys.bdtp.adm.mvvm.model.vo
 
 import androidx.room.ColumnInfo
 import androidx.room.Entity
@@ -7,12 +7,12 @@ import com.ys.bdtp.adm.mvvm.model.db.entity.BaseEntity
 import com.google.gson.JsonElement
 
 /**
- * 对象表
- * 建筑,楼层,空间,设备
+ * 对象
+ *
+ * 建筑, 楼层, 空间, 设备; 墙 , 门 , 窗, 柱, 停车位
  */
-
 @Entity(tableName = "object")
-data class ObjectEntity(
+data class Object(
     @PrimaryKey @ColumnInfo(name = "id") override val id: String,
     @ColumnInfo(name = "project_id") override val projectId: String?,
     @ColumnInfo(name = "building_id") override val buildingId: String?,
@@ -37,59 +37,3 @@ data class ObjectEntity(
     @ColumnInfo(name = "container_id") var containerId: String? = "",           // 无模型设备的上级设备id
     @ColumnInfo(name = "bim_id") var bimId: String? = ""                        // 无模型设备的上级设备id
 ) : BaseEntity
-
-/*
-
-data class Infos(
-    val bimId: String,
-    val bimLocation: String,
-    val codeType: Int,
-    val height: Int,
-    val modelId: String,
-//    val outline: List<List<List<Outline>>>,
-    val schemeId: String,
-    val state: String,
-    val RoomLocalName: String,
-    var unit: String,
-    val group: String,
-    val label: String,
-    var options: ArrayList<Options>,
-    var dataType: String,
-    var inputType: String,
-    val code: String,
-    val floorMap: String
-)
-
-data class Options(val name: String, val code: String)
-
-data class InfosForObj(
-    val floorMap: String,
-    val state: String,
-    val height: Int,
-    val outline: ArrayList<ArrayList<ArrayList<PointZ>>>
-)
-
-data class InfosforBuild(
-    val floorMap: String,
-    val state: String,
-    val height: Int,
-    val floorSequenceID: Int,
-)
-
-data class InfosforFloor(
-    val digitalDeliveryID: String,
-    val bimIdPre: String,
-    val floorElevation: Double,
-)
-
-data class InfosforSpace(
-    val digitalDeliveryID: String,
-)
-
-data class InfosforEq(
-    val location: Pointz2,
-    var zRegion: String,
-    var equipCheck: Any,
-    var digitalDeliveryID: String,
-)
-*/

+ 10 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/vo/Outline.kt

@@ -0,0 +1,10 @@
+package com.ys.bdtp.adm.mvvm.model.vo
+
+/**
+ * Outline
+ */
+data class Outline(
+    val X: Double,
+    val Y: Double,
+    val Z: Int
+)

+ 11 - 0
app/src/main/java/com/ys/bdtp/adm/mvvm/model/vo/Relation.kt

@@ -0,0 +1,11 @@
+package com.ys.bdtp.adm.mvvm.model.vo
+
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.RelationEntity
+
+/**
+ * 关系数据
+ */
+data class Relation(
+    val bdtpDownloadTs: Long,
+    val relations: List<RelationEntity>
+)

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/model/vo/request/Account.kt

@@ -1,6 +1,6 @@
 package com.ys.bdtp.adm.mvvm.model.vo.request
 
-import com.ys.bdtp.adm.mvvm.model.db.entity.ProjectEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.ProjectEntity
 
 /**
  * 账号信息

+ 2 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/examine/Space3DActivity.kt

@@ -18,7 +18,7 @@ import androidx.cardview.widget.CardView
 import com.google.gson.Gson
 import com.google.gson.reflect.TypeToken
 import com.ys.bdtp.adm.R
-import com.ys.bdtp.adm.mvvm.model.db.entity.task.ObjectEntity
+import com.ys.bdtp.adm.mvvm.model.vo.Object
 import com.ys.bdtp.adm.mvvm.model.vo.*
 import org.kodein.di.DI
 import org.kodein.di.DIAware
@@ -35,7 +35,7 @@ class Space3DActivity : ComponentActivity(), DIAware, View.OnClickListener {
     private lateinit var projectId: String
     private var objTypeCode: String = ""
     private var problemTypeCode: String = ""
-    private lateinit var floorEntity: ObjectEntity
+    private lateinit var floorEntity: Object
     private lateinit var tv2d: TextView
     private lateinit var tv3d: TextView
     private lateinit var compass: TextView

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/project/Project.kt

@@ -12,7 +12,7 @@ import com.ys.bdtp.adm.app.isNet
 import com.ys.bdtp.adm.app.theme.underColor
 import com.ys.bdtp.adm.mvvm.model.FailureResponse
 import com.ys.bdtp.adm.mvvm.model.SuccessResponse
-import com.ys.bdtp.adm.mvvm.model.db.entity.ProjectEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.ProjectEntity
 import com.ys.bdtp.adm.mvvm.model.db.entity.UserEntity
 import com.ys.bdtp.adm.mvvm.ui.compose.*
 import com.ys.bdtp.adm.mvvm.ui.screen.home.LocalNavHostController

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/project/ProjectContent.kt

@@ -14,7 +14,7 @@ import androidx.compose.ui.tooling.preview.Preview
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.sp
 import com.ys.bdtp.adm.app.theme.textBlackColor
-import com.ys.bdtp.adm.mvvm.model.db.entity.ProjectEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.ProjectEntity
 
 @ExperimentalFoundationApi
 @Composable

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/project/ProjectItem.kt

@@ -16,7 +16,7 @@ import androidx.compose.ui.tooling.preview.Preview
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.sp
 import com.ys.bdtp.adm.R
-import com.ys.bdtp.adm.mvvm.model.db.entity.ProjectEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.ProjectEntity
 import com.ys.bdtp.adm.mvvm.ui.screen.home.LocalNavHostController
 import com.ys.bdtp.adm.mvvm.ui.screen.home.Route
 

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/ui/screen/task/Task.kt

@@ -23,7 +23,7 @@ import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.tooling.preview.Preview
 import androidx.compose.ui.unit.dp
 import com.ys.bdtp.adm.app.theme.underColor
-import com.ys.bdtp.adm.mvvm.model.db.entity.ProjectEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.ProjectEntity
 import com.ys.bdtp.adm.mvvm.ui.compose.Head
 import com.ys.bdtp.adm.mvvm.ui.compose.HeadRight
 import com.ys.bdtp.adm.mvvm.ui.screen.home.LocalNavHostController

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/vm/project/ProjectRepository.kt

@@ -2,7 +2,7 @@ package com.ys.bdtp.adm.mvvm.vm.project
 
 import com.ys.bdtp.adm.mvvm.model.Response
 import com.ys.bdtp.adm.mvvm.model.db.AdmDatabase
-import com.ys.bdtp.adm.mvvm.model.db.entity.ProjectEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.ProjectEntity
 import com.ys.bdtp.adm.mvvm.model.db.entity.UserEntity
 import com.ys.bdtp.adm.mvvm.model.db.entity.relation.UserWithProjects
 import com.ys.bdtp.adm.mvvm.model.nt.Api

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/vm/project/ProjectViewModel.kt

@@ -6,7 +6,7 @@ import com.ys.bdtp.adm.mvvm.model.Fail
 import com.ys.bdtp.adm.mvvm.model.FailureResponse
 import com.ys.bdtp.adm.mvvm.model.Response
 import com.ys.bdtp.adm.mvvm.model.SuccessResponse
-import com.ys.bdtp.adm.mvvm.model.db.entity.ProjectEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.ProjectEntity
 import com.ys.bdtp.adm.mvvm.model.db.entity.UserEntity
 import com.ys.bdtp.adm.mvvm.model.db.entity.relation.UserWithProjects
 import com.ys.bdtp.adm.mvvm.model.vo.request.Account

+ 1 - 1
app/src/main/java/com/ys/bdtp/adm/mvvm/vm/task/TaskRepository.kt

@@ -1,7 +1,7 @@
 package com.ys.bdtp.adm.mvvm.vm.task
 
 import com.ys.bdtp.adm.mvvm.model.db.AdmDatabase
-import com.ys.bdtp.adm.mvvm.model.db.entity.ProjectEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.ProjectEntity
 import com.ys.bdtp.adm.mvvm.model.nt.Api
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.withContext

+ 1 - 2
app/src/main/java/com/ys/bdtp/adm/mvvm/vm/task/TaskViewModel.kt

@@ -1,8 +1,7 @@
 package com.ys.bdtp.adm.mvvm.vm.task
 
 import androidx.lifecycle.ViewModel
-import com.ys.bdtp.adm.mvvm.model.db.AdmDatabase
-import com.ys.bdtp.adm.mvvm.model.db.entity.ProjectEntity
+import com.ys.bdtp.adm.mvvm.model.db.entity.task.ProjectEntity
 
 /**
  * TaskViewModel