fix: 生成json
This commit is contained in:
parent
7ea778780c
commit
0a9376d398
@ -1,5 +1,12 @@
|
|||||||
package com.navinfo.omqs.bean
|
package com.navinfo.omqs.bean
|
||||||
|
|
||||||
|
|
||||||
class ImportConfig {
|
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 android.util.Log
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
|
import com.blankj.utilcode.util.FileIOUtils
|
||||||
import com.blankj.utilcode.util.UriUtils
|
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.collect.library.data.entity.OMDBEntity
|
||||||
import com.navinfo.omqs.bean.ScProblemTypeBean
|
import com.navinfo.omqs.bean.ScProblemTypeBean
|
||||||
import com.navinfo.omqs.bean.ScRootCauseAnalysisBean
|
import com.navinfo.omqs.bean.ScRootCauseAnalysisBean
|
||||||
@ -35,24 +38,43 @@ class PersonalCenterViewModel @Inject constructor(
|
|||||||
suspend fun importOMDBData(importOMDBHelper: ImportOMDBHelper) {
|
suspend fun importOMDBData(importOMDBHelper: ImportOMDBHelper) {
|
||||||
Log.d("OMQSApplication", "开始导入数据")
|
Log.d("OMQSApplication", "开始导入数据")
|
||||||
// Realm.getDefaultInstance().beginTransaction()
|
// Realm.getDefaultInstance().beginTransaction()
|
||||||
for (table in importOMDBHelper.openConfigFile().tables/*listOf<String>("HAD_LINK")*/) {
|
val gson = Gson()
|
||||||
importOMDBHelper.getOMDBTableData(table).collect {
|
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) {
|
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?>()
|
val properties = RealmDictionary<String?>()
|
||||||
for (entry in map.entries) {
|
for (entry in map.entries) {
|
||||||
properties.putIfAbsent(entry.key, entry.value.toString())
|
properties.putIfAbsent(entry.key, entry.value.toString())
|
||||||
}
|
}
|
||||||
// 将读取到的sqlite数据插入到Realm中
|
// // 将读取到的sqlite数据插入到Realm中
|
||||||
Realm.getDefaultInstance().insert(OMDBEntity(table, properties))
|
// Realm.getDefaultInstance().insert(OMDBEntity(tableName, properties))
|
||||||
// 将读取到的数据写入到json中
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Realm.getDefaultInstance().commitTransaction()
|
// 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", "导入数据完成")
|
Log.d("OMQSApplication", "导入数据完成")
|
||||||
}
|
}
|
||||||
|
@ -14,4 +14,59 @@ open class OMDBEntity(): RealmObject() {
|
|||||||
this.table = table
|
this.table = table
|
||||||
this.properties = properties
|
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