|
@@ -2,6 +2,7 @@ package com.framework.mvvm.model.repository
|
|
|
|
|
|
import android.content.SharedPreferences
|
|
|
import android.util.Log
|
|
|
+import cn.hutool.core.util.IdUtil
|
|
|
import com.framework.app.DEVICE_ID
|
|
|
import com.framework.app.api.Api
|
|
|
import com.framework.app.base.IRepository
|
|
@@ -70,12 +71,12 @@ class AdmRepository(
|
|
|
return db.objectDao().getObjectById(objId)
|
|
|
}
|
|
|
|
|
|
- suspend fun getSpaceByArchStateFloorId(id: String, archState: String): List<SpaceEntity> {
|
|
|
- return db.spaceDao().getSpaceByArchStateFloorId(id, archState)
|
|
|
+ suspend fun getSpaceByArchStateFloorId(id: String, archState: String): List<JobSpaceEntity> {
|
|
|
+ return db.jobSpaceDao().getSpaceByArchStateFloorId(id, archState)
|
|
|
}
|
|
|
|
|
|
- suspend fun getSpaceByEquipStateFloorId(id: String, equipState: String): List<SpaceEntity> {
|
|
|
- return db.spaceDao().getSpaceByEquipStateFloorId(id, equipState)
|
|
|
+ suspend fun getSpaceByEquipStateFloorId(id: String, equipState: String): List<JobSpaceEntity> {
|
|
|
+ return db.jobSpaceDao().getSpaceByEquipStateFloorId(id, equipState)
|
|
|
}
|
|
|
|
|
|
suspend fun getBuildByObjType(objType: String): List<ObjectEntity> {
|
|
@@ -90,12 +91,12 @@ class AdmRepository(
|
|
|
return db.objectDao().getObjectByBuildingId(buildingId, type)
|
|
|
}
|
|
|
|
|
|
- suspend fun getSpaceBySpaceId(id: String): SpaceEntity {
|
|
|
- return db.spaceDao().getSpaceBySpaceId(id)
|
|
|
+ suspend fun getSpaceBySpaceId(id: String): JobSpaceEntity {
|
|
|
+ return db.jobSpaceDao().getSpaceBySpaceId(id)
|
|
|
}
|
|
|
|
|
|
- suspend fun insSpace(space: SpaceEntity) {
|
|
|
- return db.spaceDao().insSpace(space)
|
|
|
+ suspend fun insSpace(space: JobSpaceEntity) {
|
|
|
+ return db.jobSpaceDao().insSpace(space)
|
|
|
}
|
|
|
|
|
|
suspend fun getEquipByFloorId(id: String): List<ObjectEntity> {
|
|
@@ -333,15 +334,33 @@ class AdmRepository(
|
|
|
to = { building ->
|
|
|
block?.invoke(building)
|
|
|
try {
|
|
|
- building.file?.let { db.fileDao().insFiles(it) }
|
|
|
- building.jobSpace?.let { db.spaceDao().insSpaces(it) }
|
|
|
- building.objects?.let { db.objectDao().insObjects(it) }
|
|
|
- building.problemArch?.let { db.problemArchDao().insProblems(it) }
|
|
|
- building.problemEquip?.let { db.problemEquipDao().insProblems(it) }
|
|
|
- building.qrCode?.let { db.qrCodeDao().insQrCodes(it) }
|
|
|
- building.relations?.let { db.relationDao().insRelations(it) }
|
|
|
- building.pipes?.let { db.pipeDao().insPipes(it) }
|
|
|
- building.areas?.let { db.serveAreaDao().insertAreas(it) }
|
|
|
+ building.file
|
|
|
+ ?.onEach { it.state = 2 }
|
|
|
+ ?.let { db.fileDao().insFiles(it) }
|
|
|
+ building.jobSpace
|
|
|
+ ?.onEach { it.state = 2 }
|
|
|
+ ?.let { db.jobSpaceDao().insSpaces(it) }
|
|
|
+ building.objects
|
|
|
+ ?.onEach { it.state = 2 }
|
|
|
+ ?.let { db.objectDao().insObjects(it) }
|
|
|
+ building.problemArch
|
|
|
+ ?.onEach { it.state = 2 }
|
|
|
+ ?.let { db.problemArchDao().insProblems(it) }
|
|
|
+ building.problemEquip
|
|
|
+ ?.onEach { it.state = 2 }
|
|
|
+ ?.let { db.problemEquipDao().insProblems(it) }
|
|
|
+ building.qrCode
|
|
|
+ ?.onEach { it.state = 2 }
|
|
|
+ ?.let { db.qrCodeDao().insQrCodes(it) }
|
|
|
+ building.relations
|
|
|
+ ?.onEach { it.state = 2 }
|
|
|
+ ?.let { db.relationDao().insRelations(it) }
|
|
|
+ building.pipes
|
|
|
+ ?.onEach { it.state = 2 }
|
|
|
+ ?.let { db.pipeDao().insPipes(it) }
|
|
|
+ building.areas
|
|
|
+ ?.onEach { it.state = 2 }
|
|
|
+ ?.let { db.serveAreaDao().insertAreas(it) }
|
|
|
|
|
|
} catch (e: Exception) {
|
|
|
Log.d(
|
|
@@ -383,7 +402,7 @@ class AdmRepository(
|
|
|
try {
|
|
|
val pipeDao = db.pipeDao()
|
|
|
val fileDao = db.fileDao()
|
|
|
- val spaceDao = db.spaceDao()
|
|
|
+ val spaceDao = db.jobSpaceDao()
|
|
|
val qrCodeDao = db.qrCodeDao()
|
|
|
val objectDao = db.objectDao()
|
|
|
val relationDao = db.relationDao()
|
|
@@ -391,22 +410,37 @@ class AdmRepository(
|
|
|
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" }
|
|
|
- val spaces = spaceDao.getSpaceByBuildingId(buildingId).filter { it.state == "1" }
|
|
|
- val qrCodes = qrCodeDao.getQrCodeByBuildingId(buildingId).filter { it.state == "1" }
|
|
|
- val objects = objectDao.getObjectByBuildingId(buildingId).filter { it.state == "1" }
|
|
|
+ val pipes =
|
|
|
+ pipeDao.getPipeByBuildingId(buildingId).filter { it.state == 0 || it.state == 1 }
|
|
|
+ val files =
|
|
|
+ fileDao.getFileByBuildingId(buildingId).filter { it.state == 0 || it.state == 1 }
|
|
|
+ val spaces =
|
|
|
+ spaceDao.getSpaceByBuildingId(buildingId).filter { it.state == 0 || it.state == 1 }
|
|
|
+ val qrCodes = qrCodeDao.getQrCodeByBuildingId(buildingId)
|
|
|
+ .filter { it.state == 0 || it.state == 1 }
|
|
|
+
|
|
|
+ val objects = objectDao.getObjectByBuildingId(buildingId)
|
|
|
+ .filter { it.state == 0 || it.state == 1 }
|
|
|
+
|
|
|
val relations =
|
|
|
- relationDao.getRelationByBuildingId(buildingId).filter { it.state == "1" }
|
|
|
+ relationDao.getRelationByBuildingId(buildingId)
|
|
|
+ .filter { it.state == 0 || it.state == 1 }
|
|
|
+
|
|
|
val problemArchs =
|
|
|
- problemArchDao.getProblemByBuildingId(buildingId).filter { it.state == "1" }
|
|
|
+ problemArchDao.getProblemByBuildingId(buildingId)
|
|
|
+ .filter { it.state == 0 || it.state == 1 }
|
|
|
+
|
|
|
val problemEquips =
|
|
|
- problemEquipDao.getProblemByBuildingId(buildingId).filter { it.state == "1" }
|
|
|
+ problemEquipDao.getProblemByBuildingId(buildingId)
|
|
|
+ .filter { it.state == 0 || it.state == 1 }
|
|
|
|
|
|
- val areas = serveAreaDao.getAreasByBuildingId(buildingId).filter { it.state == "1" }
|
|
|
+ val areas = serveAreaDao.getAreasByBuildingId(buildingId)
|
|
|
+ .filter { it.state == 0 || it.state == 1 }
|
|
|
|
|
|
val deviceId = sp.getString(DEVICE_ID, "") ?: ""
|
|
|
|
|
|
+ val jobId = IdUtil.simpleUUID()
|
|
|
+
|
|
|
val building = Building(
|
|
|
buildingId = buildingId,
|
|
|
file = files,
|
|
@@ -418,6 +452,7 @@ class AdmRepository(
|
|
|
problemEquip = problemEquips,
|
|
|
areas = areas,
|
|
|
pipes = pipes,
|
|
|
+ uploadJobId = jobId
|
|
|
)
|
|
|
|
|
|
val uploadBuilding = UploadBuilding(
|
|
@@ -436,69 +471,36 @@ class AdmRepository(
|
|
|
val result = response.data
|
|
|
Log.e("AdmViewModel", """uploadBuilding success: $result""")
|
|
|
files.forEach {
|
|
|
- it.state = "2"
|
|
|
- if (it.creationTime.isNullOrEmpty())
|
|
|
- it.creationTime = result.timestamp
|
|
|
- else
|
|
|
- it.modifiedTime = result.timestamp
|
|
|
+ it.state = 2
|
|
|
fileDao.insFile(it)
|
|
|
}
|
|
|
pipes.forEach {
|
|
|
- it.state = "2"
|
|
|
- if (it.creationTime.isNullOrEmpty())
|
|
|
- it.creationTime = result.timestamp
|
|
|
- else
|
|
|
- it.modifiedTime = result.timestamp
|
|
|
+ it.state = 2
|
|
|
pipeDao.insPipe(it)
|
|
|
}
|
|
|
spaces.forEach {
|
|
|
- it.state = "2"
|
|
|
- if (it.creationTime.isNullOrEmpty())
|
|
|
- it.creationTime = result.timestamp
|
|
|
- else
|
|
|
- it.modifiedTime = result.timestamp
|
|
|
+ it.state = 2
|
|
|
spaceDao.insSpace(it)
|
|
|
}
|
|
|
objects.forEach {
|
|
|
- it.state = "2"
|
|
|
- if (it.creationTime.isNullOrEmpty())
|
|
|
- it.creationTime = result.timestamp
|
|
|
- else
|
|
|
- it.modifiedTime = result.timestamp
|
|
|
+ it.state = 2
|
|
|
objectDao.insObject(it)
|
|
|
}
|
|
|
qrCodes.forEach {
|
|
|
- it.state = "2"
|
|
|
- if (it.creationTime.isNullOrEmpty())
|
|
|
- it.creationTime = result.timestamp
|
|
|
- else
|
|
|
- it.modifiedTime = result.timestamp
|
|
|
+ it.state = 2
|
|
|
qrCodeDao.insQrCode(it)
|
|
|
}
|
|
|
relations.forEach {
|
|
|
- it.state = "2"
|
|
|
- if (it.creationTime.isNullOrEmpty())
|
|
|
- it.creationTime = result.timestamp
|
|
|
- else
|
|
|
- it.modifiedTime = result.timestamp
|
|
|
+ it.state = 2
|
|
|
relationDao.insRelation(it)
|
|
|
}
|
|
|
problemArchs.forEach {
|
|
|
- it.state = "2"
|
|
|
- if (it.creationTime.isNullOrEmpty())
|
|
|
- it.creationTime = result.timestamp
|
|
|
- else
|
|
|
- it.modifiedTime = result.timestamp
|
|
|
+ it.state = 2
|
|
|
problemArchDao.insProblem(it)
|
|
|
}
|
|
|
problemEquips.forEach {
|
|
|
- it.state = "2"
|
|
|
- if (it.creationTime.isNullOrEmpty())
|
|
|
- it.creationTime = result.timestamp
|
|
|
- else
|
|
|
- it.modifiedTime = result.timestamp
|
|
|
+ it.state = 2
|
|
|
problemEquipDao.insProblem(it)
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
}
|