|
@@ -5,10 +5,7 @@ import android.util.Log
|
|
|
import androidx.lifecycle.LiveData
|
|
|
import com.framework.app.api.Api
|
|
|
import com.framework.app.base.IRepository
|
|
|
-import com.framework.mvvm.model.data.Data
|
|
|
-import com.framework.mvvm.model.data.Response
|
|
|
-import com.framework.mvvm.model.data.dataSource
|
|
|
-import com.framework.mvvm.model.data.request
|
|
|
+import com.framework.mvvm.model.data.*
|
|
|
import com.framework.mvvm.model.db.AdmDatabase
|
|
|
import com.framework.mvvm.model.db.entity.*
|
|
|
import com.framework.mvvm.model.vo.AdmRequest
|
|
@@ -168,7 +165,7 @@ class AdmRepository(
|
|
|
Log.d("requestDict", e.message!!)
|
|
|
}
|
|
|
},
|
|
|
- error = { println("error:$it") }
|
|
|
+ error = { println("requestDict error:$it") }
|
|
|
)
|
|
|
}
|
|
|
|
|
@@ -204,7 +201,7 @@ class AdmRepository(
|
|
|
)
|
|
|
}
|
|
|
},
|
|
|
- error ={ println("error: $it")}
|
|
|
+ error = { println("requestBuilding error: $it") }
|
|
|
)
|
|
|
}
|
|
|
|
|
@@ -233,36 +230,78 @@ class AdmRepository(
|
|
|
/**
|
|
|
* 上传建筑数据
|
|
|
*/
|
|
|
- suspend fun uploadBuilding(buildingId: String): Response<Building> {
|
|
|
- val pipes = db.pipeDao().getPipeByBuildingId(buildingId)
|
|
|
- val files = db.fileDao().getFileByBuildingId(buildingId)
|
|
|
- val spaces = db.spaceDao().getSpaceByBuildingId(buildingId)
|
|
|
- val qrCodes = db.qrCodeDao().getQrCodeByBuildingId(buildingId)
|
|
|
- val objects = db.objectDao().getObjectByBuildingId(buildingId)
|
|
|
- val relations = db.relationDao().getRelationByBuildingId(buildingId)
|
|
|
- val problemArchs = db.problemArchDao().getProblemByBuildingId(buildingId)
|
|
|
- val problemEquips = db.problemEquipDao().getProblemByBuildingId(buildingId)
|
|
|
-
|
|
|
- val deviceId = sp.getString("deviceId", "") ?: ""
|
|
|
- val projectId = objects[0].projectId
|
|
|
- val building = Building(
|
|
|
- buildingId = buildingId,
|
|
|
- file = files,
|
|
|
- qrCode = qrCodes,
|
|
|
- objects = objects,
|
|
|
- jobSpace = spaces,
|
|
|
- relations = relations,
|
|
|
- problemArch = problemArchs,
|
|
|
- problemEquip = problemEquips,
|
|
|
- pipes = pipes,
|
|
|
- )
|
|
|
-
|
|
|
- val uploadBuilding = UploadBuilding(
|
|
|
- projectId = projectId,
|
|
|
- uploadFlag = deviceId,
|
|
|
- uploadData = building
|
|
|
- )
|
|
|
-
|
|
|
- return request { api.uploadBuilding(uploadBuilding) }
|
|
|
+ suspend fun uploadBuilding(projectId: String, buildingId: String) {
|
|
|
+ try {
|
|
|
+ val pipeDao = db.pipeDao()
|
|
|
+ val fileDao = db.fileDao()
|
|
|
+ val spaceDao = db.spaceDao()
|
|
|
+ val qrCodeDao = db.qrCodeDao()
|
|
|
+ val objectDao = db.objectDao()
|
|
|
+ val relationDao = db.relationDao()
|
|
|
+ val problemArchDao = db.problemArchDao()
|
|
|
+ val problemEquipDao = db.problemEquipDao()
|
|
|
+
|
|
|
+ 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 relations =
|
|
|
+ relationDao.getRelationByBuildingId(buildingId).filter { it.state == "1" }
|
|
|
+ val problemArchs =
|
|
|
+ problemArchDao.getProblemByBuildingId(buildingId).filter { it.state == "1" }
|
|
|
+ val problemEquips =
|
|
|
+ problemEquipDao.getProblemByBuildingId(buildingId).filter { it.state == "1" }
|
|
|
+
|
|
|
+ val deviceId = sp.getString("deviceId", "") ?: ""
|
|
|
+
|
|
|
+ val building = Building(
|
|
|
+ buildingId = buildingId,
|
|
|
+ file = files,
|
|
|
+ qrCode = qrCodes,
|
|
|
+ objects = objects,
|
|
|
+ jobSpace = spaces,
|
|
|
+ relations = relations,
|
|
|
+ problemArch = problemArchs,
|
|
|
+ problemEquip = problemEquips,
|
|
|
+ pipes = pipes,
|
|
|
+ )
|
|
|
+
|
|
|
+ val uploadBuilding = UploadBuilding(
|
|
|
+ projectId = projectId,
|
|
|
+ uploadFlag = deviceId,
|
|
|
+ uploadData = building
|
|
|
+ )
|
|
|
+
|
|
|
+ when (val response = request { api.uploadBuilding(uploadBuilding) }) {
|
|
|
+ is EmptyResponse -> {
|
|
|
+ }
|
|
|
+ is FailureResponse -> {
|
|
|
+ Log.e("AdmViewModel", "uploadBuilding fail:${response.msg}")
|
|
|
+ }
|
|
|
+ is SuccessResponse -> {
|
|
|
+ Log.e("AdmViewModel", "uploadBuilding success")
|
|
|
+ files.forEach { it.state = "2" }
|
|
|
+ pipes.forEach { it.state = "2" }
|
|
|
+ spaces.forEach { it.state = "2" }
|
|
|
+ objects.forEach { it.state = "2" }
|
|
|
+ qrCodes.forEach { it.state = "2" }
|
|
|
+ relations.forEach { it.state = "2" }
|
|
|
+ problemArchs.forEach { it.state = "2" }
|
|
|
+ problemEquips.forEach { it.state = "2" }
|
|
|
+
|
|
|
+ fileDao.updateFiles(files)
|
|
|
+ pipeDao.updatePipes(pipes)
|
|
|
+ spaceDao.updateSpaces(spaces)
|
|
|
+ objectDao.updateObjects(objects)
|
|
|
+ qrCodeDao.updateQrCodes(qrCodes)
|
|
|
+ relationDao.updateRelations(relations)
|
|
|
+ problemArchDao.updateProblems(problemArchs)
|
|
|
+ problemEquipDao.updateProblems(problemEquips)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (e: Exception) {
|
|
|
+ println("uploadBuilding Exception: $e")
|
|
|
+ }
|
|
|
}
|
|
|
}
|