From 517d5a884c3d4cba4275c1364f2fe7403cf2ed8a Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Wed, 6 Dec 2023 17:21:46 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E7=89=A9=E7=90=86?= =?UTF-8?q?=E8=BD=A6=E9=81=93=E6=95=B0=E7=BC=96=E7=A0=812=E3=80=81?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=BD=A6=E9=81=93=E4=B8=AD=E5=BF=83=E9=9D=A2?= =?UTF-8?q?=E6=96=AD=E9=9D=A2=E9=97=AE=E9=A2=983=E3=80=81=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E4=B8=AD=E5=A4=AE=E9=9A=94=E7=A6=BB=E5=B8=A6=E6=8C=89?= =?UTF-8?q?=E9=80=9A=E8=A1=8C=E6=96=B9=E5=90=91=E5=B7=A6=E5=8F=B3=E6=98=BE?= =?UTF-8?q?=E7=A4=BA4=E3=80=81=E4=BF=AE=E5=A4=8D=E8=AE=BE=E6=96=BD?= =?UTF-8?q?=E5=88=86=E7=A6=BB=E6=8C=89=E9=80=9A=E8=A1=8C=E6=96=B9=E5=90=91?= =?UTF-8?q?=E5=B7=A6=E5=8F=B3=E6=98=BE=E7=A4=BA5=E3=80=81=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=8F=AF=E5=8F=98=E7=BA=BF=E9=99=90=E9=80=9F=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/omdb_config.json | 32 ++++----- .../com/navinfo/omqs/db/ImportOMDBHelper.kt | 62 ++++++++---------- .../com/navinfo/omqs/db/ImportPreProcess.kt | 23 ++++--- .../signMoreInfo/SignMoreInfoFragment.kt | 7 ++ .../com/navinfo/omqs/util/ImageTools.java | 2 + .../java/com/navinfo/omqs/util/SignUtil.kt | 10 +-- .../main/res/menu/personal_center_menu.xml | 2 +- .../src/main/assets/editormarker.xml | 50 ++++++++------ .../src/main/assets/omdb/icon_4004_0.png | Bin 0 -> 3925 bytes .../src/main/assets/omdb/icon_4004_0.svg | 37 ++++++++++- .../collect/library/enums/DataCodeEnum.kt | 2 +- 11 files changed, 138 insertions(+), 89 deletions(-) create mode 100644 collect-library/src/main/assets/omdb/icon_4004_0.png diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index 7855648a..e7d55baa 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -243,22 +243,6 @@ } ] }, - "2097": { - "table": "OMDB_PHY_LANENUM", - "code": 2097, - "name": "物理车道数", - "zoomMin": 15, - "zoomMax": 18, - "catch": true, - "transformer": [ - { - "k": "geometry", - "v": "~", - "klib": "geometry", - "vlib": "generatePhyName()" - } - ] - }, "2201": { "table": "OMDB_BRIDGE", "code": 2201, @@ -293,6 +277,22 @@ } ] }, + "2617": { + "table": "OMDB_PHY_LANENUM", + "code": 2617, + "name": "物理车道数", + "zoomMin": 15, + "zoomMax": 18, + "catch": true, + "transformer": [ + { + "k": "geometry", + "v": "~", + "klib": "geometry", + "vlib": "generatePhyName()" + } + ] + }, "2638": { "table": "OMDB_LANE_ACCESS", "code": 2638, diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt b/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt index cc425dc8..716095c0 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt @@ -194,12 +194,12 @@ class ImportOMDBHelper @AssistedInject constructor( tableNum += importConfig.tableMap.size } //缓存任务link信息,便于下面与数据进行任务link匹配 - val hashMap: HashMap = HashMap() + val hashMap: HashMap = HashMap() // val lineList = arrayOfNulls(task.hadLinkDvoList.size) // var index = 0 task.hadLinkDvoList.forEach { - hashMap[it.linkPid.toLong()] = it + hashMap[it.linkPid] = it // lineList[index] = GeometryTools.createGeometry(it.geometry) as LineString // index++ } @@ -310,7 +310,7 @@ class ImportOMDBHelper @AssistedInject constructor( currentEntry: MutableMap.MutableEntry, task: TaskBean, importConfig: ImportConfig, - hashMap: HashMap, + hashMap: HashMap, isEmit: Boolean = true) = callbackFlow { val cancellable= importData(f,unZipFiles,currentEntry,task,importConfig,hashMap,isEmit,object :MultiPathsCallback{ override fun onProgress(value: Int) { @@ -342,7 +342,7 @@ class ImportOMDBHelper @AssistedInject constructor( currentEntry: MutableMap.MutableEntry, task: TaskBean, importConfig: ImportConfig, - hashMap: HashMap, + hashMap: HashMap, isEmit: Boolean = true, callback: MultiPathsCallback? ):NonCancellable { val resHashMap: HashMap = HashMap() //define empty hashmap @@ -379,13 +379,6 @@ class ImportOMDBHelper @AssistedInject constructor( } newTime = System.currentTimeMillis() -// if (elementIndex % 50 == 0) { -// Log.e( -// "jingo", -// "安装数据 ${currentConfig.table} $elementIndex ${listRenderEntity.size} ${newTime - time}" -// ) -// } - time = newTime elementIndex += 1 @@ -409,16 +402,25 @@ class ImportOMDBHelper @AssistedInject constructor( renderEntity.zoomMin = map["qi_zoomMin"].toString().toInt() renderEntity.zoomMax = map["qi_zoomMax"].toString().toInt() + //缓存当前数据对应的导航linkpid信息,根据与任务对应关系保留任务唯一linkpid + var linkPidList = mutableListOf() + // 在外层记录当前数据的linkPid - if (map.containsKey("linkPid")) { - renderEntity.linkPid = map["linkPid"].toString().split(",")[0] + if (map.containsKey("linkPid")&& map["linkPid"].toString().split(",").isNotEmpty()) { + + linkPidList.addAll(map["linkPid"].toString().split(",")) + } else if (map.containsKey("linkList")) { + val linkList = map["linkList"].toString() + if (!linkList.isNullOrEmpty() && linkList != "null") { - val list: List = gson.fromJson( - linkList, object : TypeToken>() {}.type - ) - renderEntity.linkPid = list[0].linkPid + + val list: List = gson.fromJson(linkList, object : TypeToken>() {}.type) + + list.forEach { + linkPidList.add(it.linkPid) + } } } @@ -514,25 +516,16 @@ class ImportOMDBHelper @AssistedInject constructor( //遍历判断只显示与任务Link相关的任务数据 if (currentConfig.checkLinkId) { - if (renderEntity.linkPid.isNotEmpty()) { + if (linkPidList.isNotEmpty()) { - val currentLinkPid = renderEntity.linkPid - - if (!currentLinkPid.isNullOrEmpty() && currentLinkPid != "null") { - - val list = currentLinkPid.split(",") - - if (list.isNotEmpty()) { - - m@ for (linkPid in list) { - if (hashMap.containsKey(linkPid.toLong())) { - renderEntity.enable = 1 - break@m - } - } + m@ for (linkPid in linkPidList) { + Log.e("jingo", "$linkPid=======linkPid") + if (linkPid!=null&&hashMap.containsKey(linkPid)) { + renderEntity.enable = 1 + renderEntity.linkPid = linkPid + break@m } } - } else if (renderEntity.code.toInt() == DataCodeEnum.OMDB_INTERSECTION.code.toInt() || renderEntity.code.toInt() == DataCodeEnum.OMDB_LANE_CONSTRUCTION.code.toInt() && renderEntity.properties.containsKey( "linkList" ) @@ -548,8 +541,9 @@ class ImportOMDBHelper @AssistedInject constructor( ) m@ for (link in list) { - if (hashMap.containsKey(link.linkPid.toLong())) { + if (hashMap.containsKey(link.linkPid)) { renderEntity.enable = 1 + renderEntity.linkPid = link.linkPid break@m } } diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt index 6a998a56..cfadd0b4 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -271,7 +271,6 @@ class ImportPreProcess { // 将这个起终点的线记录在数据中 val startReference = ReferenceEntity() -// startReference.renderEntityId = renderEntity.id startReference.name = "${renderEntity.name}参考点" startReference.code = renderEntity.code startReference.table = renderEntity.table @@ -285,7 +284,6 @@ class ImportPreProcess { startReference.properties["qi_table"] = renderEntity.table startReference.properties["type"] = "s${if (renderEntity.properties["laneType"]!!.toInt() and (0b1000) > 0) "_dec" else "_acc"}" - startReference.properties["geometry"] = startReference.geometry startReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(startReference.properties)) renderEntity.referenceEntitys.add(startReference) @@ -304,7 +302,6 @@ class ImportPreProcess { endReference.properties["qi_table"] = renderEntity.table endReference.properties["type"] = "e${if (renderEntity.properties["laneType"]!!.toInt() and (0b1000) > 0) "_dec" else "_acc"}" - endReference.properties["geometry"] = endReference.geometry endReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(endReference.properties)) renderEntity.referenceEntitys.add(endReference) } @@ -353,7 +350,6 @@ class ImportPreProcess { Log.e("qj", "generateS2EReferencePoint===${startReference.geometry}") - startReference.properties["geometry"] = startReference.geometry startReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(startReference.properties)) listResult.add(startReference) @@ -388,7 +384,6 @@ class ImportPreProcess { endReference.properties["type"] = "e_2_p" Log.e("qj", "generateS2EReferencePoint===e_2_p${renderEntity.name}") } - endReference.properties["geometry"] = endReference.geometry endReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(endReference.properties)) renderEntity.referenceEntitys.add(endReference) @@ -844,14 +839,24 @@ class ImportPreProcess { when(renderEntity.properties["direct"]?.toInt()){ 0,1,2->{ if (medianWidth != null) { - angleReference.geometry = - GeometryTools.computeLine(0.000015, 0.0, renderEntity.geometry) + if(side=="0"){ + angleReference.geometry = + GeometryTools.computeLine(0.000015, 0.0, renderEntity.geometry) + }else{ + angleReference.geometry = + GeometryTools.computeLine( 0.0, 0.000015,renderEntity.geometry) + } } } 3->{ if (medianWidth != null) { - angleReference.geometry = - GeometryTools.computeLine(0.0, 0.000015, renderEntity.geometry) + if(side=="0"){ + angleReference.geometry = + GeometryTools.computeLine(0.0, 0.000015, renderEntity.geometry) + }else{ + angleReference.geometry = + GeometryTools.computeLine(0.000015, 0.0, renderEntity.geometry) + } } } } diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/signMoreInfo/SignMoreInfoFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/signMoreInfo/SignMoreInfoFragment.kt index 37023521..7eecbd69 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/signMoreInfo/SignMoreInfoFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/signMoreInfo/SignMoreInfoFragment.kt @@ -105,6 +105,13 @@ class SignMoreInfoFragment : BaseFragment() { } else -> { val adapter = SignUtil.getMoreInfoAdapter(it.renderEntity) + //增加详情为空不显示业务 + if(adapter==null || adapter.data.isEmpty()){ + activity?.run { + supportFragmentManager.beginTransaction().remove(this@SignMoreInfoFragment) + .commit() + } + } binding.signInfoRecyclerview.adapter = adapter } } diff --git a/app/src/main/java/com/navinfo/omqs/util/ImageTools.java b/app/src/main/java/com/navinfo/omqs/util/ImageTools.java index 54d868c6..1c0c3189 100644 --- a/app/src/main/java/com/navinfo/omqs/util/ImageTools.java +++ b/app/src/main/java/com/navinfo/omqs/util/ImageTools.java @@ -52,6 +52,8 @@ import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; +import java.util.ArrayList; +import java.util.List; /** * Tools for handler picture diff --git a/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt b/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt index 47b8733f..423177fa 100644 --- a/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt +++ b/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt @@ -833,16 +833,9 @@ class SignUtil { else -> "" })) } - //路牙 - DataCodeEnum.OMDB_OBJECT_CURB.code -> { - list.add(TwoItemAdapterItem(title = "是否符合高精地图", text = when (data.properties["compliant"]) { - "0" -> "否" - "1" -> "是" - else -> "" - })) - } //平行墙 DataCodeEnum.OMDB_OBJECT_WALL.code -> { + list.add(TwoItemAdapterItem(title = "对象号码", text = "${data.properties["objectPid"]}")) list.add(TwoItemAdapterItem(title = "类型", text = when (data.properties["type"]) { "1" -> "隧道墙" "3" -> "其他墙" @@ -851,6 +844,7 @@ class SignUtil { } //警示区 DataCodeEnum.OMDB_OBJECT_WARNING_AREA.code -> { + list.add(TwoItemAdapterItem(title = "对象号码", text = "${data.properties["objectPid"]}")) list.add(TwoItemAdapterItem(title = "颜色", text = when (data.properties["color"]) { "0" -> "未验证" "1" -> "白色" diff --git a/app/src/main/res/menu/personal_center_menu.xml b/app/src/main/res/menu/personal_center_menu.xml index f98ddb5f..4eba2d28 100644 --- a/app/src/main/res/menu/personal_center_menu.xml +++ b/app/src/main/res/menu/personal_center_menu.xml @@ -64,7 +64,7 @@ + android:title="版本:24QE1_V1.2.4_20231206_A" /> diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 526e9b8f..1c86698f 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -184,7 +184,7 @@ - + @@ -1978,7 +1978,22 @@ - + + + + + + + + + + + + + + + + @@ -2050,13 +2065,10 @@ - - - - - - - - - - - - - - - - @@ -2230,5 +2229,18 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4004_0.png b/collect-library/src/main/assets/omdb/icon_4004_0.png new file mode 100644 index 0000000000000000000000000000000000000000..9bfebc0f5e65d90c055cae37987e357f7dbe2438 GIT binary patch literal 3925 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 \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt b/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt index 6f94fe5b..907fa70c 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt @@ -33,7 +33,7 @@ public enum class DataCodeEnum(var tableName: String,var tableSubName: String, v OMDB_RAMP_7("高速直连出口匝道高速出入口匝道", "匝道","2037-7"), OMDB_MULTI_DIGITIZED("上下线分离", "上下线分离","2040"), OMDB_LANE_NUM("车道数", "车道数","2041"), - OMDB_PHY_LANENUM("物理车道数", "物理车道数","2097"), + OMDB_PHY_LANENUM("物理车道数", "物理车道数","2617"), OMDB_VIADUCT("高架", "高架","2043"), OMDB_LINK_SEPARATION("设施分离","设施分离", "2070"), OMDB_LINK_MEDIAN("中央隔离带", "中央隔离带","2071"),