merge code
This commit is contained in:
@@ -112,10 +112,13 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
FIELD_TYPE_NULL -> rowMap[columnName] = ""
|
FIELD_TYPE_NULL -> rowMap[columnName] = ""
|
||||||
FIELD_TYPE_INTEGER -> rowMap[columnName] =
|
FIELD_TYPE_INTEGER -> rowMap[columnName] =
|
||||||
getInt(columnIndex)
|
getInt(columnIndex)
|
||||||
|
|
||||||
FIELD_TYPE_FLOAT -> rowMap[columnName] =
|
FIELD_TYPE_FLOAT -> rowMap[columnName] =
|
||||||
getFloat(columnIndex)
|
getFloat(columnIndex)
|
||||||
|
|
||||||
FIELD_TYPE_BLOB -> rowMap[columnName] =
|
FIELD_TYPE_BLOB -> rowMap[columnName] =
|
||||||
String(getBlob(columnIndex), Charsets.UTF_8)
|
String(getBlob(columnIndex), Charsets.UTF_8)
|
||||||
|
|
||||||
else -> rowMap[columnName] = getString(columnIndex)
|
else -> rowMap[columnName] = getString(columnIndex)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -134,7 +137,8 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
* @param omdbZipFile omdb数据抽取生成的Zip文件
|
* @param omdbZipFile omdb数据抽取生成的Zip文件
|
||||||
* @param configFile 对应的配置文件
|
* @param configFile 对应的配置文件
|
||||||
* */
|
* */
|
||||||
suspend fun importOmdbZipFile(omdbZipFile: File, task: TaskBean): Flow<String> = withContext(Dispatchers.IO) {
|
suspend fun importOmdbZipFile(omdbZipFile: File, task: TaskBean): Flow<String> =
|
||||||
|
withContext(Dispatchers.IO) {
|
||||||
val unZipFolder = File(omdbZipFile.parentFile, "result")
|
val unZipFolder = File(omdbZipFile.parentFile, "result")
|
||||||
flow {
|
flow {
|
||||||
if (unZipFolder.exists()) {
|
if (unZipFolder.exists()) {
|
||||||
@@ -143,8 +147,7 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
unZipFolder.mkdirs()
|
unZipFolder.mkdirs()
|
||||||
// 开始解压zip文件
|
// 开始解压zip文件
|
||||||
val unZipFiles = ZipUtils.unzipFile(omdbZipFile, unZipFolder)
|
val unZipFiles = ZipUtils.unzipFile(omdbZipFile, unZipFolder)
|
||||||
// 将listResult数据插入到Realm数据库中
|
|
||||||
val realm = Realm.getDefaultInstance()
|
|
||||||
// 先获取当前配置的所有图层的个数,方便后续计算数据解析进度
|
// 先获取当前配置的所有图层的个数,方便后续计算数据解析进度
|
||||||
var tableNum = 0
|
var tableNum = 0
|
||||||
var processIndex = 0
|
var processIndex = 0
|
||||||
@@ -152,23 +155,27 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
tableNum += importConfig.tableMap.size
|
tableNum += importConfig.tableMap.size
|
||||||
}
|
}
|
||||||
|
|
||||||
realm.beginTransaction()
|
|
||||||
try {
|
|
||||||
//缓存任务link信息,便于下面与数据进行任务link匹配
|
//缓存任务link信息,便于下面与数据进行任务link匹配
|
||||||
val hashMap:HashMap<String,HadLinkDvoBean> = HashMap<String,HadLinkDvoBean>() //define empty hashmap
|
val hashMap: HashMap<String, HadLinkDvoBean> =
|
||||||
|
HashMap<String, HadLinkDvoBean>() //define empty hashmap
|
||||||
task.hadLinkDvoList.forEach {
|
task.hadLinkDvoList.forEach {
|
||||||
hashMap.put(it.linkPid, it);
|
hashMap.put(it.linkPid, it);
|
||||||
}
|
}
|
||||||
|
|
||||||
val resHashMap:HashMap<String,RenderEntity> = HashMap<String,RenderEntity>() //define empty hashmap
|
val resHashMap: HashMap<String, RenderEntity> =
|
||||||
|
HashMap<String, RenderEntity>() //define empty hashmap
|
||||||
|
|
||||||
// 遍历解压后的文件,读取该数据返回
|
// 遍历解压后的文件,读取该数据返回
|
||||||
for (importConfig in importConfigList) {
|
for (importConfig in importConfigList) {
|
||||||
|
try {
|
||||||
for ((index, currentEntry) in importConfig.tableMap.entries.withIndex()) {
|
for ((index, currentEntry) in importConfig.tableMap.entries.withIndex()) {
|
||||||
val currentConfig = currentEntry.value
|
val currentConfig = currentEntry.value
|
||||||
val txtFile = unZipFiles.find {
|
val txtFile = unZipFiles.find {
|
||||||
it.name == currentConfig.table
|
it.name == currentConfig.table
|
||||||
}
|
}
|
||||||
|
// 将listResult数据插入到Realm数据库中
|
||||||
|
val realm = Realm.getDefaultInstance()
|
||||||
val listResult = mutableListOf<RenderEntity>()
|
val listResult = mutableListOf<RenderEntity>()
|
||||||
currentConfig?.let {
|
currentConfig?.let {
|
||||||
val list = FileIOUtils.readFile2List(txtFile, "UTF-8")
|
val list = FileIOUtils.readFile2List(txtFile, "UTF-8")
|
||||||
@@ -180,11 +187,15 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
Log.d("ImportOMDBHelper", "解析第:${index + 1}行")
|
Log.d("ImportOMDBHelper", "解析第:${index + 1}行")
|
||||||
val map = gson.fromJson<Map<String, Any>>(line, object:TypeToken<Map<String, Any>>(){}.getType())
|
val map = gson.fromJson<Map<String, Any>>(
|
||||||
|
line,
|
||||||
|
object : TypeToken<Map<String, Any>>() {}.getType()
|
||||||
|
)
|
||||||
.toMutableMap()
|
.toMutableMap()
|
||||||
map["qi_table"] = currentConfig.table
|
map["qi_table"] = currentConfig.table
|
||||||
map["qi_name"] = currentConfig.name
|
map["qi_name"] = currentConfig.name
|
||||||
map["qi_code"] = if (currentConfig.code == 0) currentConfig.code else currentEntry.key
|
map["qi_code"] =
|
||||||
|
if (currentConfig.code == 0) currentConfig.code else currentEntry.key
|
||||||
map["qi_zoomMin"] = currentConfig.zoomMin
|
map["qi_zoomMin"] = currentConfig.zoomMin
|
||||||
map["qi_zoomMax"] = currentConfig.zoomMax
|
map["qi_zoomMax"] = currentConfig.zoomMax
|
||||||
|
|
||||||
@@ -201,17 +212,23 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
renderEntity.geometry = map["geometry"].toString()
|
renderEntity.geometry = map["geometry"].toString()
|
||||||
// 其他数据插入到Properties中
|
// 其他数据插入到Properties中
|
||||||
if (!currentConfig.is3D) { // 如果是非3d要素,则自动将Z轴坐标全部置为0
|
if (!currentConfig.is3D) { // 如果是非3d要素,则自动将Z轴坐标全部置为0
|
||||||
val coordinates = renderEntity.wkt?.coordinates?.map {
|
val coordinates =
|
||||||
coordinate -> coordinate.z = 0.0
|
renderEntity.wkt?.coordinates?.map { coordinate ->
|
||||||
|
coordinate.z = 0.0
|
||||||
coordinate
|
coordinate
|
||||||
}?.toTypedArray()
|
}?.toTypedArray()
|
||||||
var newGeometry: Geometry? = null
|
var newGeometry: Geometry? = null
|
||||||
if (renderEntity.wkt?.geometryType == Geometry.TYPENAME_POINT) {
|
if (renderEntity.wkt?.geometryType == Geometry.TYPENAME_POINT) {
|
||||||
newGeometry = GeometryTools.createPoint(coordinates!![0].x, coordinates!![0].y)
|
newGeometry = GeometryTools.createPoint(
|
||||||
|
coordinates!![0].x,
|
||||||
|
coordinates!![0].y
|
||||||
|
)
|
||||||
} else if (renderEntity.wkt?.geometryType == Geometry.TYPENAME_LINESTRING) {
|
} else if (renderEntity.wkt?.geometryType == Geometry.TYPENAME_LINESTRING) {
|
||||||
newGeometry = GeometryTools.createLineString(coordinates)
|
newGeometry =
|
||||||
|
GeometryTools.createLineString(coordinates)
|
||||||
} else if (renderEntity.wkt?.geometryType == Geometry.TYPENAME_POLYGON) {
|
} else if (renderEntity.wkt?.geometryType == Geometry.TYPENAME_POLYGON) {
|
||||||
newGeometry = GeometryTools.createLineString(coordinates)
|
newGeometry =
|
||||||
|
GeometryTools.createLineString(coordinates)
|
||||||
}
|
}
|
||||||
if (newGeometry != null) {
|
if (newGeometry != null) {
|
||||||
renderEntity.geometry = newGeometry.toString()
|
renderEntity.geometry = newGeometry.toString()
|
||||||
@@ -225,11 +242,16 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
key,
|
key,
|
||||||
value.toInt().toString()
|
value.toInt().toString()
|
||||||
)
|
)
|
||||||
|
|
||||||
is Double -> renderEntity.properties.put(
|
is Double -> renderEntity.properties.put(
|
||||||
key,
|
key,
|
||||||
value.toDouble().toString()
|
value.toDouble().toString()
|
||||||
)
|
)
|
||||||
else -> renderEntity.properties.put(key, value.toString())
|
|
||||||
|
else -> renderEntity.properties.put(
|
||||||
|
key,
|
||||||
|
value.toString()
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -260,12 +282,16 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
} else if (renderEntity.code == DataCodeEnum.OMDB_LANE_MARK_BOUNDARYTYPE.code) {
|
} else if (renderEntity.code == DataCodeEnum.OMDB_LANE_MARK_BOUNDARYTYPE.code) {
|
||||||
var boundaryType = renderEntity.properties["boundaryType"]
|
var boundaryType =
|
||||||
|
renderEntity.properties["boundaryType"]
|
||||||
if (boundaryType != null) {
|
if (boundaryType != null) {
|
||||||
when (boundaryType) {
|
when (boundaryType) {
|
||||||
"0", "1", "6", "8", "9" -> {
|
"0", "1", "6", "8", "9" -> {
|
||||||
renderEntity.enable = 0
|
renderEntity.enable = 0
|
||||||
Log.e("qj","过滤不显示数据${renderEntity.table}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"过滤不显示数据${renderEntity.table}"
|
||||||
|
)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -273,24 +299,32 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
} else if (renderEntity.code == DataCodeEnum.OMDB_RDBOUND_BOUNDARYTYPE.code) {
|
} else if (renderEntity.code == DataCodeEnum.OMDB_RDBOUND_BOUNDARYTYPE.code) {
|
||||||
|
|
||||||
//过滤不需要渲染的要素
|
//过滤不需要渲染的要素
|
||||||
var boundaryType = renderEntity.properties["boundaryType"]
|
var boundaryType =
|
||||||
|
renderEntity.properties["boundaryType"]
|
||||||
if (boundaryType != null) {
|
if (boundaryType != null) {
|
||||||
when (boundaryType) {
|
when (boundaryType) {
|
||||||
"0", "3", "4", "5", "7", "9" -> {
|
"0", "3", "4", "5", "7", "9" -> {
|
||||||
renderEntity.enable = 0
|
renderEntity.enable = 0
|
||||||
Log.e("qj","过滤不显示数据${renderEntity.table}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"过滤不显示数据${renderEntity.table}"
|
||||||
|
)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (renderEntity.code == DataCodeEnum.OMDB_OBJECT_STOPLOCATION.code) {
|
} else if (renderEntity.code == DataCodeEnum.OMDB_OBJECT_STOPLOCATION.code) {
|
||||||
//过滤不需要渲染的要素
|
//过滤不需要渲染的要素
|
||||||
var locationType = renderEntity.properties["locationType"]
|
var locationType =
|
||||||
|
renderEntity.properties["locationType"]
|
||||||
if (locationType != null) {
|
if (locationType != null) {
|
||||||
when (locationType) {
|
when (locationType) {
|
||||||
"3", "4" -> {
|
"3", "4" -> {
|
||||||
renderEntity.enable = 0
|
renderEntity.enable = 0
|
||||||
Log.e("qj","过滤不显示数据${renderEntity.table}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"过滤不显示数据${renderEntity.table}"
|
||||||
|
)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -299,13 +333,19 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
|
|
||||||
//交限增加相同LinkIn与LinkOut过滤原则
|
//交限增加相同LinkIn与LinkOut过滤原则
|
||||||
if (renderEntity.code == DataCodeEnum.OMDB_RESTRICTION.code) {
|
if (renderEntity.code == DataCodeEnum.OMDB_RESTRICTION.code) {
|
||||||
if(renderEntity.properties.containsKey("linkIn")&&renderEntity.properties.containsKey("linkOut")){
|
if (renderEntity.properties.containsKey("linkIn") && renderEntity.properties.containsKey(
|
||||||
|
"linkOut"
|
||||||
|
)
|
||||||
|
) {
|
||||||
var linkIn = renderEntity.properties["linkIn"]
|
var linkIn = renderEntity.properties["linkIn"]
|
||||||
var linkOut = renderEntity.properties["linkOut"]
|
var linkOut = renderEntity.properties["linkOut"]
|
||||||
if (linkIn != null && linkOut != null) {
|
if (linkIn != null && linkOut != null) {
|
||||||
var checkMsg = "$linkIn$linkOut"
|
var checkMsg = "$linkIn$linkOut"
|
||||||
if (resHashMap.containsKey(checkMsg)) {
|
if (resHashMap.containsKey(checkMsg)) {
|
||||||
Log.e("qj","${renderEntity.name}==过滤交限linkin与linkout相同且存在多条数据")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"${renderEntity.name}==过滤交限linkin与linkout相同且存在多条数据"
|
||||||
|
)
|
||||||
continue
|
continue
|
||||||
} else {
|
} else {
|
||||||
resHashMap.put(checkMsg, renderEntity)
|
resHashMap.put(checkMsg, renderEntity)
|
||||||
@@ -319,7 +359,8 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
|
|
||||||
if (renderEntity.properties.containsKey("linkPid")) {
|
if (renderEntity.properties.containsKey("linkPid")) {
|
||||||
|
|
||||||
var currentLinkPid = renderEntity.properties["linkPid"]
|
var currentLinkPid =
|
||||||
|
renderEntity.properties["linkPid"]
|
||||||
|
|
||||||
if (!currentLinkPid.isNullOrEmpty() && currentLinkPid != "null") {
|
if (!currentLinkPid.isNullOrEmpty() && currentLinkPid != "null") {
|
||||||
|
|
||||||
@@ -329,33 +370,53 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
m@ for (linkPid in list) {
|
m@ for (linkPid in list) {
|
||||||
if (hashMap.containsKey(linkPid)) {
|
if (hashMap.containsKey(linkPid)) {
|
||||||
renderEntity.enable = 1
|
renderEntity.enable = 1
|
||||||
Log.e("qj","${renderEntity.name}==包括任务link")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"${renderEntity.name}==包括任务link"
|
||||||
|
)
|
||||||
break@m
|
break@m
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}else if(renderEntity.code == DataCodeEnum.OMDB_INTERSECTION.code && renderEntity.properties.containsKey("linkList")){
|
} else if (renderEntity.code == DataCodeEnum.OMDB_INTERSECTION.code && renderEntity.properties.containsKey(
|
||||||
|
"linkList"
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
|
||||||
if (renderEntity.properties["linkList"] != null) {
|
if (renderEntity.properties["linkList"] != null) {
|
||||||
|
|
||||||
Log.e("qj", "linkList==开始${renderEntity.name}==${renderEntity.properties["linkList"]}}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"linkList==开始${renderEntity.name}==${renderEntity.properties["linkList"]}}"
|
||||||
|
)
|
||||||
|
|
||||||
val linkList = renderEntity.properties["linkList"]
|
val linkList =
|
||||||
|
renderEntity.properties["linkList"]
|
||||||
|
|
||||||
if (!linkList.isNullOrEmpty() && linkList != "null") {
|
if (!linkList.isNullOrEmpty() && linkList != "null") {
|
||||||
|
|
||||||
Log.e("qj", "linkList==${renderEntity.name}==${renderEntity.properties["linkList"]}}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"linkList==${renderEntity.name}==${renderEntity.properties["linkList"]}}"
|
||||||
|
)
|
||||||
|
|
||||||
val list: List<LinkList> = gson.fromJson(linkList, object : TypeToken<List<LinkList>>() {}.type)
|
val list: List<LinkList> = gson.fromJson(
|
||||||
|
linkList,
|
||||||
|
object :
|
||||||
|
TypeToken<List<LinkList>>() {}.type
|
||||||
|
)
|
||||||
|
|
||||||
if (list != null) {
|
if (list != null) {
|
||||||
m@ for (link in list) {
|
m@ for (link in list) {
|
||||||
if (hashMap.containsKey(link.linkPid)) {
|
if (hashMap.containsKey(link.linkPid)) {
|
||||||
renderEntity.enable = 1
|
renderEntity.enable = 1
|
||||||
break@m
|
break@m
|
||||||
Log.e("qj","${renderEntity.name}==包括任务link")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"${renderEntity.name}==包括任务link"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -366,7 +427,10 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
renderEntity.enable = 2
|
renderEntity.enable = 2
|
||||||
Log.e("qj","${renderEntity.name}==不包括任务linkPid")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"${renderEntity.name}==不包括任务linkPid"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
renderEntity.enable = 2
|
renderEntity.enable = 2
|
||||||
@@ -375,9 +439,10 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
|
|
||||||
|
|
||||||
// 对renderEntity做预处理后再保存
|
// 对renderEntity做预处理后再保存
|
||||||
val resultEntity = importConfig.transformProperties(renderEntity)
|
val resultEntity =
|
||||||
|
importConfig.transformProperties(renderEntity)
|
||||||
|
|
||||||
if(renderEntity!=null){
|
if (resultEntity != null) {
|
||||||
if (currentConfig.catch) {
|
if (currentConfig.catch) {
|
||||||
renderEntity.catchEnable = 0
|
renderEntity.catchEnable = 0
|
||||||
} else {
|
} else {
|
||||||
@@ -392,26 +457,34 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
var type = renderEntity.properties["sa"]
|
var type = renderEntity.properties["sa"]
|
||||||
|
|
||||||
if (type != null && type == "1") {
|
if (type != null && type == "1") {
|
||||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code
|
renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code
|
||||||
Log.e("qj", "道路属性===1")
|
Log.e("qj", "道路属性===1")
|
||||||
} else {
|
} else {
|
||||||
type = renderEntity.properties["pa"]
|
type = renderEntity.properties["pa"]
|
||||||
if (type != null && type == "1") {
|
if (type != null && type == "1") {
|
||||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code
|
renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code
|
||||||
Log.e("qj", "道路属性===2")
|
Log.e("qj", "道路属性===2")
|
||||||
} else {
|
} else {
|
||||||
type = renderEntity.properties["frontage"]
|
type = renderEntity.properties["frontage"]
|
||||||
if (type != null && type == "1") {
|
if (type != null && type == "1") {
|
||||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code
|
renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code
|
||||||
Log.e("qj", "道路属性===3")
|
Log.e("qj", "道路属性===3")
|
||||||
} else {
|
} else {
|
||||||
type = renderEntity.properties["mainSideAccess"]
|
type =
|
||||||
|
renderEntity.properties["mainSideAccess"]
|
||||||
if (type != null && type == "1") {
|
if (type != null && type == "1") {
|
||||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code
|
renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code
|
||||||
Log.e("qj", "道路属性===4")
|
Log.e("qj", "道路属性===4")
|
||||||
} else {
|
} else {
|
||||||
renderEntity.enable = 0
|
renderEntity.enable = 0
|
||||||
Log.e("qj","过滤不显示数据${renderEntity.table}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"过滤不显示数据${renderEntity.table}"
|
||||||
|
)
|
||||||
Log.e("qj", "道路属性===5")
|
Log.e("qj", "道路属性===5")
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@@ -423,13 +496,26 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
var formWay = renderEntity.properties["formOfWay"]
|
var formWay = renderEntity.properties["formOfWay"]
|
||||||
if (formWay != null) {
|
if (formWay != null) {
|
||||||
when (formWay) {
|
when (formWay) {
|
||||||
"93"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_1.code
|
"93" -> renderEntity.code =
|
||||||
"98"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_2.code
|
DataCodeEnum.OMDB_RAMP_1.code
|
||||||
"99"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_3.code
|
|
||||||
"100"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_4.code
|
"98" -> renderEntity.code =
|
||||||
"102"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_5.code
|
DataCodeEnum.OMDB_RAMP_2.code
|
||||||
"103"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_6.code
|
|
||||||
"104"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_7.code
|
"99" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_RAMP_3.code
|
||||||
|
|
||||||
|
"100" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_RAMP_4.code
|
||||||
|
|
||||||
|
"102" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_RAMP_5.code
|
||||||
|
|
||||||
|
"103" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_RAMP_6.code
|
||||||
|
|
||||||
|
"104" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_RAMP_7.code
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (renderEntity.code == DataCodeEnum.OMDB_LINK_FORM1.code) {
|
} else if (renderEntity.code == DataCodeEnum.OMDB_LINK_FORM1.code) {
|
||||||
@@ -437,30 +523,63 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
var formWay = renderEntity.properties["formOfWay"]
|
var formWay = renderEntity.properties["formOfWay"]
|
||||||
if (formWay != null) {
|
if (formWay != null) {
|
||||||
when (formWay) {
|
when (formWay) {
|
||||||
"35"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM1_1.code
|
"35" -> renderEntity.code =
|
||||||
"37"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM1_2.code
|
DataCodeEnum.OMDB_LINK_FORM1_1.code
|
||||||
"38"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM1_3.code
|
|
||||||
|
"37" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_FORM1_2.code
|
||||||
|
|
||||||
|
"38" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_FORM1_3.code
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (renderEntity.code == DataCodeEnum.OMDB_LINK_FORM2.code) {
|
} else if (renderEntity.code == DataCodeEnum.OMDB_LINK_FORM2.code) {
|
||||||
Log.e("qj","道路形态2${renderEntity.properties["formOfWay"]}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"道路形态2${renderEntity.properties["formOfWay"]}"
|
||||||
|
)
|
||||||
/*道路形态2*/
|
/*道路形态2*/
|
||||||
var formWay = renderEntity.properties["formOfWay"]
|
var formWay = renderEntity.properties["formOfWay"]
|
||||||
if (formWay != null) {
|
if (formWay != null) {
|
||||||
when (formWay) {
|
when (formWay) {
|
||||||
"10"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_1.code
|
"10" -> renderEntity.code =
|
||||||
"11"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_2.code
|
DataCodeEnum.OMDB_LINK_FORM2_1.code
|
||||||
"17"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_3.code
|
|
||||||
"18"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_4.code
|
"11" -> renderEntity.code =
|
||||||
"20"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_5.code
|
DataCodeEnum.OMDB_LINK_FORM2_2.code
|
||||||
"22"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_6.code
|
|
||||||
"36"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_7.code
|
"17" -> renderEntity.code =
|
||||||
"52"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_8.code
|
DataCodeEnum.OMDB_LINK_FORM2_3.code
|
||||||
"53"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_9.code
|
|
||||||
"54"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_10.code
|
"18" -> renderEntity.code =
|
||||||
"60"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_11.code
|
DataCodeEnum.OMDB_LINK_FORM2_4.code
|
||||||
"84"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_12.code
|
|
||||||
"85"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_13.code
|
"20" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_FORM2_5.code
|
||||||
|
|
||||||
|
"22" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_FORM2_6.code
|
||||||
|
|
||||||
|
"36" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_FORM2_7.code
|
||||||
|
|
||||||
|
"52" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_FORM2_8.code
|
||||||
|
|
||||||
|
"53" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_FORM2_9.code
|
||||||
|
|
||||||
|
"54" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_FORM2_10.code
|
||||||
|
|
||||||
|
"60" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_FORM2_11.code
|
||||||
|
|
||||||
|
"84" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_FORM2_12.code
|
||||||
|
|
||||||
|
"85" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_FORM2_13.code
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (renderEntity.table == DataCodeEnum.OMDB_NODE_FORM.name) {//特殊处理,因为code相同,使用表名判断
|
} else if (renderEntity.table == DataCodeEnum.OMDB_NODE_FORM.name) {//特殊处理,因为code相同,使用表名判断
|
||||||
@@ -468,19 +587,28 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
var formOfWay = renderEntity.properties["formOfWay"]
|
var formOfWay = renderEntity.properties["formOfWay"]
|
||||||
if (formOfWay != null && formOfWay == "30") {
|
if (formOfWay != null && formOfWay == "30") {
|
||||||
renderEntity.enable = 2
|
renderEntity.enable = 2
|
||||||
renderEntity.code = DataCodeEnum.OMDB_NODE_FORM.code
|
renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_NODE_FORM.code
|
||||||
} else {
|
} else {
|
||||||
Log.e("qj","过滤不显示数据${renderEntity.table}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"过滤不显示数据${renderEntity.table}"
|
||||||
|
)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
} else if (renderEntity.table == DataCodeEnum.OMDB_NODE_PA.name) {//特殊处理,因为code相同,使用表名判断
|
} else if (renderEntity.table == DataCodeEnum.OMDB_NODE_PA.name) {//特殊处理,因为code相同,使用表名判断
|
||||||
//过滤不需要渲染的要素
|
//过滤不需要渲染的要素
|
||||||
var attributeType = renderEntity.properties["attributeType"]
|
var attributeType =
|
||||||
|
renderEntity.properties["attributeType"]
|
||||||
if (attributeType != null && attributeType == "30") {
|
if (attributeType != null && attributeType == "30") {
|
||||||
renderEntity.enable = 2
|
renderEntity.enable = 2
|
||||||
renderEntity.code = DataCodeEnum.OMDB_NODE_PA.code
|
renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_NODE_PA.code
|
||||||
} else {
|
} else {
|
||||||
Log.e("qj","过滤不显示数据${renderEntity.table}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"过滤不显示数据${renderEntity.table}"
|
||||||
|
)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
} else if (renderEntity.code == DataCodeEnum.OMDB_LANE_CONSTRUCTION.code) {
|
} else if (renderEntity.code == DataCodeEnum.OMDB_LANE_CONSTRUCTION.code) {
|
||||||
@@ -490,32 +618,27 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
renderEntity.properties["startTime"] = "null"
|
renderEntity.properties["startTime"] = "null"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
realm.insert(renderEntity)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
listResult.add(renderEntity)
|
listResult.add(renderEntity)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 1个文件发送一次flow流
|
// 1个文件发送一次flow流
|
||||||
emit("${++processIndex}/${tableNum}")
|
emit("${++processIndex}/${tableNum}")
|
||||||
|
realm.beginTransaction()
|
||||||
|
realm.insert(listResult)
|
||||||
|
realm.commitTransaction()
|
||||||
|
realm.close()
|
||||||
// 如果当前解析的是OMDB_RD_LINK数据,将其缓存在预处理类中,以便后续处理其他要素时使用
|
// 如果当前解析的是OMDB_RD_LINK数据,将其缓存在预处理类中,以便后续处理其他要素时使用
|
||||||
if (currentConfig.table == "OMDB_RD_LINK") {
|
if (currentConfig.table == "OMDB_RD_LINK") {
|
||||||
importConfig.preProcess.cacheRdLink =
|
importConfig.preProcess.cacheRdLink =
|
||||||
listResult.associateBy { it.properties["linkPid"] }
|
listResult.associateBy { it.properties["linkPid"] }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
realm.commitTransaction()
|
|
||||||
realm.close()
|
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
realm.cancelTransaction()
|
|
||||||
throw e
|
throw e
|
||||||
}
|
}
|
||||||
|
}
|
||||||
emit("finish")
|
emit("finish")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user