From 3733634eb524151ca9f44be4530f912b7e90685d Mon Sep 17 00:00:00 2001 From: squallzhjch Date: Sat, 6 May 2023 15:38:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9D=A2=E6=9D=BF=E5=BF=AB?= =?UTF-8?q?=E6=8D=B7=E6=96=B0=E5=A2=9E=E6=97=B6=E7=9A=84=E7=A7=8D=E7=B1=BB?= =?UTF-8?q?=E8=81=94=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/navinfo/omqs/bean/SignBean.kt | 2 ++ .../com/navinfo/omqs/db/RealmOperateHelper.kt | 2 +- .../navinfo/omqs/db/dao/ScProblemTypeDao.kt | 3 ++ .../omqs/ui/activity/map/MainViewModel.kt | 3 +- .../EvaluationResultViewModel.kt | 34 +++++++++++-------- .../evaluationresult/PhenomenonFragment.kt | 11 +++--- .../res/layout/adapter_offline_map_city.xml | 20 +++++------ app/src/main/res/layout/adapter_task_list.xml | 15 ++++---- 8 files changed, 52 insertions(+), 38 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/bean/SignBean.kt b/app/src/main/java/com/navinfo/omqs/bean/SignBean.kt index 52b32c77..6cfe78cd 100644 --- a/app/src/main/java/com/navinfo/omqs/bean/SignBean.kt +++ b/app/src/main/java/com/navinfo/omqs/bean/SignBean.kt @@ -19,4 +19,6 @@ data class SignBean( val geometry: String, //底部文字 val bottomText: String, + //要素code类型 + val elementCode: Int ) : Parcelable \ No newline at end of file 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 73057c4c..93cb795b 100644 --- a/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt @@ -75,7 +75,7 @@ class RealmOperateHelper() { GeometryTools.createPoint( point.longitude, point.latitude - ), it + ) , it ) ) } else { diff --git a/app/src/main/java/com/navinfo/omqs/db/dao/ScProblemTypeDao.kt b/app/src/main/java/com/navinfo/omqs/db/dao/ScProblemTypeDao.kt index 72c049ba..b1e163d2 100644 --- a/app/src/main/java/com/navinfo/omqs/db/dao/ScProblemTypeDao.kt +++ b/app/src/main/java/com/navinfo/omqs/db/dao/ScProblemTypeDao.kt @@ -33,6 +33,9 @@ interface ScProblemTypeDao { @Query("select DISTINCT CLASS_TYPE from ScProblemType order by CLASS_TYPE") suspend fun findClassTypeList(): List? + @Query("select DISTINCT CLASS_TYPE from ScProblemType where ELEMENT_CODE=:code") + suspend fun findClassTypeByCode(code: Int): String? + /** * 获取问题类型,并去重 */ diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt index 06620940..5ff5f359 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt @@ -215,7 +215,8 @@ class MainViewModel @Inject constructor( elementId = element.id, linkId = linkId, geometry = element.geometry, - bottomText = SignUtil.getSignBottomText(element) + bottomText = SignUtil.getSignBottomText(element), + elementCode = element.code ) ) } diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultViewModel.kt index a00237f8..0730975f 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultViewModel.kt @@ -117,11 +117,9 @@ class EvaluationResultViewModel @Inject constructor( * 查询数据库,获取问题分类 */ fun initNewData(bean: SignBean?, filePath: String) { - viewModelScope.launch(Dispatchers.IO) { - getClassTypeList() - getProblemLinkList() - } + //获取当前定位点 val geoPoint = mapController.locationLayerHandler.getCurrentGeoPoint() + //如果不是从面板进来的 if (bean == null) { geoPoint?.let { liveDataQsRecordBean.value!!.geometry = GeometryTools.createGeometry(it).toText() @@ -147,13 +145,17 @@ class EvaluationResultViewModel @Inject constructor( } } } + val point = GeometryTools.createGeoPoint(bean.geometry) + this.geometry = GeometryTools.createGeometry(point).toText() + mapController.animationHandler.animationByLonLat(point.latitude, point.longitude) + mapController.markerHandle.addMarker(point, markerTitle) } - val point = GeometryTools.createGeoPoint(bean.geometry) - liveDataQsRecordBean.value!!.geometry = GeometryTools.createGeometry(point).toText() - mapController.animationHandler.animationByLonLat(point.latitude, point.longitude) - mapController.markerHandle.addMarker(point, markerTitle) } - + //查询元数据 + viewModelScope.launch(Dispatchers.IO) { + getClassTypeList(bean) + getProblemLinkList() + } addChatMsgEntity(filePath) } @@ -182,18 +184,23 @@ class EvaluationResultViewModel @Inject constructor( /** * //获取问题分类列表 */ - fun getClassTypeList() { - Log.e("jingo", "getClassTypeList S") + fun getClassTypeList(bean: SignBean? = null) { viewModelScope.launch(Dispatchers.IO) { val list = roomAppDatabase.getScProblemTypeDao().findClassTypeList() list?.let { if (list.isNotEmpty()) { //通知页面更新 liveDataLeftTypeList.postValue(it) - val classType = it[0] + var classType = it[0] + if (bean != null) { + val classType2 = roomAppDatabase.getScProblemTypeDao() + .findClassTypeByCode(bean.elementCode) + if (classType2 != null) + classType = classType2 + } //如果右侧栏没数据,给个默认值 if (liveDataQsRecordBean.value!!.classType.isEmpty()) { - Log.e("jingo", "getClassTypeList $classType") + liveDataQsRecordBean.value!!.classType = classType classTypeTemp = classType } @@ -201,7 +208,6 @@ class EvaluationResultViewModel @Inject constructor( } } } - Log.e("jingo", "getClassTypeList E") } /** diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/PhenomenonFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/PhenomenonFragment.kt index 5b803b08..c755ed89 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/PhenomenonFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/PhenomenonFragment.kt @@ -1,5 +1,6 @@ package com.navinfo.omqs.ui.fragment.evaluationresult +import android.os.Build import android.os.Bundle import android.util.Log import android.view.LayoutInflater @@ -62,11 +63,13 @@ class PhenomenonFragment : } binding.phenomenonRightRecyclerview.adapter = rightAdapter //右侧菜单增加组标题 - binding.phenomenonRightRecyclerview.addItemDecoration( - RightGroupHeaderDecoration( - requireContext() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + binding.phenomenonRightRecyclerview.addItemDecoration( + RightGroupHeaderDecoration( + requireContext() + ) ) - ) + } //右侧菜单查询数据监听 viewModel.liveDataRightTypeList.observe(viewLifecycleOwner) { rightAdapter.refreshData(it) diff --git a/app/src/main/res/layout/adapter_offline_map_city.xml b/app/src/main/res/layout/adapter_offline_map_city.xml index 21e0e6f9..8f50ca44 100644 --- a/app/src/main/res/layout/adapter_offline_map_city.xml +++ b/app/src/main/res/layout/adapter_offline_map_city.xml @@ -6,16 +6,16 @@ android:layout_height="wrap_content" android:background="@color/ivory" android:paddingLeft="10dp" - android:paddingRight="10dp" android:paddingTop="5dp" + android:paddingRight="10dp" tools:context="com.navinfo.omqs.ui.fragment.offlinemap.OfflineMapCityListAdapter"> + android:drawableLeft="@mipmap/point_blue" + android:text="文件大小" + android:textColor="@color/gray_121" /> + android:shadowColor="@android:color/transparent" /> \ No newline at end of file diff --git a/app/src/main/res/layout/adapter_task_list.xml b/app/src/main/res/layout/adapter_task_list.xml index fcd684a7..ad5aa24a 100644 --- a/app/src/main/res/layout/adapter_task_list.xml +++ b/app/src/main/res/layout/adapter_task_list.xml @@ -15,10 +15,9 @@ android:id="@+id/task_name" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_toLeftOf="@id/task_download_btn" + android:layout_marginRight="5dp" android:text="任务名称" - android:textColor="@color/white" - android:textSize="@dimen/default_font_size" /> + android:textSize="12sp" /> @@ -46,9 +46,8 @@ style="@style/map_size_font_style" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_below="@id/task_city_name" + android:layout_below="@id/task_data_version" android:layout_marginTop="5dp" - android:drawableLeft="@mipmap/point_blue" android:text="路线颜色" android:textSize="@dimen/card_title_font_3size" />