diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index bebb0c0e..dea29992 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -22,6 +22,7 @@ "table": "OMDB_CHECKPOINT", "code": 1012, "name": "检查点", + "catch":true, "zoomMin": 15, "zoomMax": 20 }, @@ -31,7 +32,7 @@ "name": "道路线", "zoomMin": 15, "zoomMax": 17, - "catch":false, + "catch":true, "checkLinkId": false }, "2002": { @@ -80,6 +81,7 @@ "name": "车道边界类型", "zoomMin": 18, "zoomMax": 20, + "catch":true, "checkLinkId": false, "transformer": [ { @@ -94,6 +96,7 @@ "table": "OMDB_LINK_CONSTRUCTION", "code": 2017, "name": "道路施工", + "catch":true, "zoomMin": 15, "zoomMax": 17 }, @@ -129,12 +132,14 @@ "name": "道路边界类型", "zoomMin": 18, "zoomMax": 20, + "catch":true, "checkLinkId": false }, "2090":{ "table": "OMDB_LANE_CONSTRUCTION", "code": 2090, "name": "车道施工", + "catch":true, "zoomMin": 18, "zoomMax": 20, "checkLinkId": false @@ -175,6 +180,7 @@ "name": "文字", "zoomMin": 15, "zoomMax": 20, + "catch":true, "transformer": [] }, "3003":{ @@ -183,6 +189,7 @@ "name": "符号", "zoomMin": 15, "zoomMax": 20, + "catch":true, "transformer": [] }, "3004":{ @@ -224,6 +231,7 @@ "code": 3006, "name": "杆状物", "is3D": true, + "catch":true, "transformer": [ { "k": "geometry", @@ -237,6 +245,7 @@ "table": "OMDB_FILL_AREA", "code": 3012, "name": "导流区", + "catch":true, "zoomMin": 18, "zoomMax": 20 }, @@ -244,6 +253,7 @@ "table": "OMDB_CROSS_WALK", "code": 3014, "name": "人行横道", + "catch":true, "zoomMin": 15, "zoomMax": 20 }, @@ -252,6 +262,7 @@ "code": 3016, "name": "停止位置", "zoomMin": 18, + "catch":true, "zoomMax": 20, "checkLinkId": false }, @@ -261,6 +272,7 @@ "name": "路口", "zoomMin": 15, "zoomMax": 17, + "catch":true, "transformer": [ { "k": "geometry", @@ -338,7 +350,8 @@ "code": 4006, "name": "普通交限", "zoomMin": 15, - "zoomMax": 20, + "zoomMax": 17, + "catch":true, "transformer": [ { "k": "geometry", @@ -489,7 +502,6 @@ "name": "车道中心线", "zoomMin": 18, "zoomMax": 20, - "catch":false, "checkLinkId": false, "transformer": [ { 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 5ba472a5..44745805 100644 --- a/app/src/main/java/com/navinfo/omqs/bean/ImportConfig.kt +++ b/app/src/main/java/com/navinfo/omqs/bean/ImportConfig.kt @@ -125,7 +125,7 @@ class TableInfo { val zoomMin: Int = 16 val zoomMax: Int = 21 val checkLinkId: Boolean = true//是否需要校验linkid - val catch: Boolean = true//是否需要捕捉 + val catch: Boolean = false//是否需要捕捉 // 需要根据丹丹提供的捕捉原则进行设置,参考文档W行设置条件,https://navinfo.feishu.cn/sheets/shtcnfsxKZhekU26ezBcHgl7aWh?sheet=BZd6yM val name: String = "" var checked : Boolean = true var transformer: MutableList = mutableListOf() diff --git a/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt b/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt index 69045a4f..92595939 100644 --- a/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt @@ -172,7 +172,7 @@ class RealmOperateHelper() { bufferType ) val realm = getRealmDefaultInstance() - try{ + try { val realmList = getRealmTools(HadLinkDvoBean::class.java).findAll() var linkBean: HadLinkDvoBean? = null var nearLast: Double = 99999.99 @@ -187,9 +187,9 @@ class RealmOperateHelper() { } if (linkBean != null) return realm.copyFromRealm(linkBean) - }catch (e:Exception){ + } catch (e: Exception) { - }finally { + } finally { realm.close() } @@ -274,18 +274,20 @@ class RealmOperateHelper() { val yEnd = tileYSet.stream().max(Comparator.naturalOrder()).orElse(null) val realm = getSelectTaskRealmInstance() var realmList = mutableListOf() - if(catchAll){ + if (catchAll) { // 查询realm中对应tile号的数据 - realmList = getSelectTaskRealmTools(RenderEntity::class.java,false) + realmList = getSelectTaskRealmTools(RenderEntity::class.java, false) .greaterThanOrEqualTo("tileX", xStart) .lessThanOrEqualTo("tileX", xEnd) .greaterThanOrEqualTo("tileY", yStart) .lessThanOrEqualTo("tileY", yEnd) .findAll() - }else{ + } else { // 查询realm中对应tile号的数据 realmList = getSelectTaskRealmTools(RenderEntity::class.java, false) .lessThan("catchEnable", 1) + .greaterThanOrEqualTo("zoomMin", niMapController.mMapView.mapLevel). + lessThanOrEqualTo("zoomMax", niMapController.mMapView.mapLevel) .greaterThanOrEqualTo("tileX", xStart) .lessThanOrEqualTo("tileX", xEnd) .greaterThanOrEqualTo("tileY", yStart) @@ -405,7 +407,7 @@ class RealmOperateHelper() { fun getRealmDefaultInstance(): Realm { if (isUpdate) { Log.e("jingo", "数据库更新") - if(Realm.getDefaultInstance().isInTransaction){ + if (Realm.getDefaultInstance().isInTransaction) { Realm.getDefaultInstance().cancelTransaction() Log.e("jingo", "数据库正在事物,需要退出当前事物") } @@ -416,14 +418,17 @@ class RealmOperateHelper() { } - fun getSelectTaskRealmTools(clazz: Class, enableSql: Boolean): RealmQuery { + fun getSelectTaskRealmTools( + clazz: Class, + enableSql: Boolean + ): RealmQuery { return if (MapParamUtils.getDataLayerEnum() != null) { if (enableSql) { var sql = " enable${MapParamUtils.getDataLayerEnum().sql} }" getSelectTaskRealmInstance().where(clazz).rawPredicate(sql) - }else{ + } else { getSelectTaskRealmInstance().where(clazz) } @@ -435,7 +440,7 @@ class RealmOperateHelper() { fun getSelectTaskRealmInstance(): Realm { if (isUpdate) { Log.e("jingo", "数据库更新") - if(Realm.getInstance(Constant.currentSelectTaskConfig).isInTransaction){ + if (Realm.getInstance(Constant.currentSelectTaskConfig).isInTransaction) { Realm.getInstance(Constant.currentSelectTaskConfig).cancelTransaction() Log.e("jingo", "数据库正在事物,需要退出当前事物") }