fix: 生成json
This commit is contained in:
parent
7ea778780c
commit
0a9376d398
@ -1,5 +1,12 @@
|
||||
package com.navinfo.omqs.bean
|
||||
|
||||
|
||||
class ImportConfig {
|
||||
var tables: MutableList<String> = mutableListOf()
|
||||
var tables: MutableList<TableInfo> = mutableListOf()
|
||||
}
|
||||
|
||||
class TableInfo {
|
||||
val table: String = ""
|
||||
val code: Int = 0
|
||||
val name: String = ""
|
||||
}
|
@ -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<String>("HAD_LINK")*/) {
|
||||
importOMDBHelper.getOMDBTableData(table).collect {
|
||||
val gson = Gson()
|
||||
for (tableName in listOf<String>("HAD_LINK", "HAD_LINK_SPEEDLIMIT", "HAD_LINK_SPEEDLIMIT_COND", "HAD_LINK_SPEEDLIMIT_VAR")/*listOf<String>("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<String?>()
|
||||
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<String>("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", "导入数据完成")
|
||||
}
|
||||
|
@ -14,4 +14,59 @@ open class OMDBEntity(): RealmObject() {
|
||||
this.table = table
|
||||
this.properties = properties
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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 = ""
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user