From 0a9376d398365999a8bc2ed1f4872b03f67209d1 Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Wed, 19 Apr 2023 17:32:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=94=9F=E6=88=90json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/navinfo/omqs/bean/ImportConfig.kt | 9 ++- .../personalcenter/PersonalCenterViewModel.kt | 38 ++++++++++--- .../collect/library/data/entity/OMDBEntity.kt | 57 ++++++++++++++++++- 3 files changed, 94 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/bean/ImportConfig.kt b/app/src/main/java/com/navinfo/omqs/bean/ImportConfig.kt index 4dc8304f..9d26031d 100644 --- a/app/src/main/java/com/navinfo/omqs/bean/ImportConfig.kt +++ b/app/src/main/java/com/navinfo/omqs/bean/ImportConfig.kt @@ -1,5 +1,12 @@ package com.navinfo.omqs.bean + class ImportConfig { - var tables: MutableList = mutableListOf() + var tables: MutableList = mutableListOf() +} + +class TableInfo { + val table: String = "" + val code: Int = 0 + val name: String = "" } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterViewModel.kt index d96f9b67..e8e26f40 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterViewModel.kt @@ -5,7 +5,10 @@ import android.net.Uri import android.util.Log import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import com.blankj.utilcode.util.FileIOUtils import com.blankj.utilcode.util.UriUtils +import com.google.gson.Gson +import com.navinfo.collect.library.data.entity.HAD_LINK import com.navinfo.collect.library.data.entity.OMDBEntity import com.navinfo.omqs.bean.ScProblemTypeBean import com.navinfo.omqs.bean.ScRootCauseAnalysisBean @@ -35,24 +38,43 @@ class PersonalCenterViewModel @Inject constructor( suspend fun importOMDBData(importOMDBHelper: ImportOMDBHelper) { Log.d("OMQSApplication", "开始导入数据") // Realm.getDefaultInstance().beginTransaction() - for (table in importOMDBHelper.openConfigFile().tables/*listOf("HAD_LINK")*/) { - importOMDBHelper.getOMDBTableData(table).collect { + val gson = Gson() + for (tableName in listOf("HAD_LINK", "HAD_LINK_SPEEDLIMIT", "HAD_LINK_SPEEDLIMIT_COND", "HAD_LINK_SPEEDLIMIT_VAR")/*listOf("HAD_LINK")*/) { + importOMDBHelper.getOMDBTableData(tableName).collect { + val hadLinkFile = File(importOMDBHelper.omdbFile, "HAD_LINK.txt") for (map in it) { + if ("HAD_LINK" == tableName) { + // 根据HAD_Link生成json文件 + val hadLink = HAD_LINK() + hadLink.LINK_PID = map["LINK_PID"].toString() + hadLink.MESH = map["MESH"].toString() + hadLink.S_NODE_PID = map["S_NODE_PID"].toString() + hadLink.E_NODE_PID = map["E_NODE_PID"].toString() + hadLink.GEOMETRY = map["GEOMETRY"].toString() + // 将该数据写入到对应的txt文件 + FileIOUtils.writeFileFromString(hadLinkFile, gson.toJson(hadLink)+"\r", true) + } val properties = RealmDictionary() for (entry in map.entries) { properties.putIfAbsent(entry.key, entry.value.toString()) } - // 将读取到的sqlite数据插入到Realm中 - Realm.getDefaultInstance().insert(OMDBEntity(table, properties)) - // 将读取到的数据写入到json中 - +// // 将读取到的sqlite数据插入到Realm中 +// Realm.getDefaultInstance().insert(OMDBEntity(tableName, properties)) } } } // Realm.getDefaultInstance().commitTransaction() - // 数据导入结束后,开始生成渲染表所需的json文件,并生成压缩包 - +// val gson = Gson() +// // 数据导入结束后,开始生成渲染表所需的json文件,并生成压缩包 +// for (table in importOMDBHelper.openConfigFile().tables/*listOf("HAD_LINK")*/) { +// val omdbList = Realm.getDefaultInstance().where(OMDBEntity::class.java).equalTo("table", table.table).findAll() +// val outputFile = File(importOMDBHelper.omdbFile, "${table.table}.txt") +// // 将读取到的数据转换为json数据文件 +// for (omdb in omdbList) { +// FileIOUtils.writeFileFromString(outputFile, gson.toJson(omdb)) +// } +// } Log.d("OMQSApplication", "导入数据完成") } diff --git a/collect-library/src/main/java/com/navinfo/collect/library/data/entity/OMDBEntity.kt b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/OMDBEntity.kt index 8cfadb83..923c7bf7 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/data/entity/OMDBEntity.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/OMDBEntity.kt @@ -14,4 +14,59 @@ open class OMDBEntity(): RealmObject() { this.table = table this.properties = properties } -} \ No newline at end of file +} + +class HAD_LINK() { + var LINK_PID: String = "" + var MESH: String = "" + var S_NODE_PID: String = "" + var E_NODE_PID: String = "" + var GEOMETRY: String = "" +} + +class HAD_LINK_KIND() { + var LINK_PID: String = "" + var MESH: String = "" + var KIND: Int = 0 + var GEOMETRY: String = "" +} + +class HAD_LINK_DIRECT() { + var LINK_PID: String = "" + var MESH: String = "" + var DIRECT: Int = 0 + var GEOMETRY: String = "" +} + +class HAD_SPEEDLIMIT() { + var SPEED_ID: String = "" + var MESH: String = "" + var LINK_PID: String = "" + var GEOMETRY: String = "" + var DIRECT: Int = 0 + var SPEED_FLAG: Int = 0 + var MAX_SPEED: Int = 0 + var MIN_SPEED: Int = 0 +} + +class HAD_SPEEDLIMIT_COND() { + var SPEED_COND_ID: String = "" + var MESH: String = "" + var LINK_PID: String = "" + var GEOMETRY: String = "" + var DIRECT: Int = 0 + var SPEED_FLAG: Int = 0 + var MAX_SPEED: Int = 0 + var SPEED_DEPENDENT: Int = 0 + var VEHICLE_TYPE: Int = 0 + var VALID_PERIOD: String = "" +} + +class HAD_SPEEDLIMIT_VAR() { + var SPEED_VAR_ID: String = "" + var MESH: String = "" + var LINK_PID: String = "" + var GEOMETRY: String = "" + var DIRECT: Int = 0 + var LOCATION: String = "" +}