From 827e6b31b86d092f8078081f614ba6ce85c69ea3 Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Thu, 29 Jun 2023 17:16:36 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E9=97=AE=E9=A2=98=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=A6=81=E7=B4=A0=E7=BC=96=E7=A0=81=E5=AD=98?= =?UTF-8?q?=E5=82=A82.=E5=9B=9E=E4=BC=A0=E9=97=AE=E9=A2=98=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=9C=AA=E6=B5=8B=E8=AF=84=E5=88=A4=E6=96=AD=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/navinfo/omqs/db/dao/ScProblemTypeDao.kt | 4 ++-- .../omqs/http/taskupload/TaskUploadScope.kt | 13 ++++++++++--- .../EvaluationResultViewModel.kt | 16 +++++++++++----- .../ui/fragment/evaluationresult/LeftAdapter.kt | 15 ++++++++------- .../collect/library/data/entity/QsRecordBean.kt | 5 +++++ 5 files changed, 36 insertions(+), 17 deletions(-) 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 b1e163d2..3940ed99 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 @@ -30,8 +30,8 @@ interface ScProblemTypeDao { /** * 获取问题分类,并去重 */ - @Query("select DISTINCT CLASS_TYPE from ScProblemType order by CLASS_TYPE") - suspend fun findClassTypeList(): List? + @Query("select * from ScProblemType group 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/http/taskupload/TaskUploadScope.kt b/app/src/main/java/com/navinfo/omqs/http/taskupload/TaskUploadScope.kt index 33686595..78101d7a 100644 --- a/app/src/main/java/com/navinfo/omqs/http/taskupload/TaskUploadScope.kt +++ b/app/src/main/java/com/navinfo/omqs/http/taskupload/TaskUploadScope.kt @@ -146,7 +146,7 @@ class TaskUploadScope( markId = hadLinkDvoBean.mesh,//"20065597" trackPhotoNumber = "", markGeometry = it.geometry, - featureName = it.classType, + featureName = it.classCode, problemType = problemType, problemPhenomenon = it.phenomenon, problemDesc = it.description, @@ -166,10 +166,17 @@ class TaskUploadScope( bodyList.add(evaluationInfo) } }else{ + val linkStatus = 1 + //存在原因标记未测评 + if(hadLinkDvoBean.reason.isNotEmpty()){ + val linkStatus = 0 + }else{ + val linkStatus = 1 + } val evaluationInfo = EvaluationInfo( evaluationTaskId = taskBean.id.toString(), linkPid = hadLinkDvoBean.linkPid,//"84207223282277331" - linkStatus = 0, + linkStatus = linkStatus, markId = hadLinkDvoBean.mesh,//"20065597" trackPhotoNumber = "", markGeometry = "", @@ -184,7 +191,7 @@ class TaskUploadScope( evaluationWay = 2, roadClassfcation = "", roadFunctionGrade = "", - noEvaluationreason = "", + noEvaluationreason = hadLinkDvoBean.reason, linkLength = 0.0, dataLevel = "", linstringLength = 0.0, 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 a415a767..e5f47088 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 @@ -26,6 +26,7 @@ import com.navinfo.collect.library.utils.GeometryTools import com.navinfo.omqs.Constant import com.navinfo.omqs.R import com.navinfo.omqs.bean.ChatMsgEntity +import com.navinfo.omqs.bean.ScProblemTypeBean import com.navinfo.omqs.bean.SignBean import com.navinfo.omqs.db.RealmOperateHelper import com.navinfo.omqs.db.RoomAppDatabase @@ -65,7 +66,7 @@ class EvaluationResultViewModel @Inject constructor( /** * 问题分类 liveData,给[LeftAdapter]展示的数据 */ - val liveDataLeftTypeList = MutableLiveData>() + val liveDataLeftTypeList = MutableLiveData>() /** * 问题类型 liveData 给[MiddleAdapter]展示的数据 @@ -95,6 +96,8 @@ class EvaluationResultViewModel @Inject constructor( var classTypeTemp: String = "" + var classCodeTemp: String = "" + init { liveDataQsRecordBean.value = QsRecordBean(id = UUID.randomUUID().toString()) viewModelScope.launch { @@ -194,22 +197,24 @@ class EvaluationResultViewModel @Inject constructor( list?.let { if (list.isNotEmpty()) { //通知页面更新 - var classType = list[0] + var classType = list[0].classType + var classCode = list[0].elementCode liveDataLeftTypeList.postValue(it) if (bean != null) { - val classType2 = roomAppDatabase.getScProblemTypeDao() - .findClassTypeByCode(bean.renderEntity.code) + val classType2 = roomAppDatabase.getScProblemTypeDao().findClassTypeByCode(bean.renderEntity.code) if (classType2 != null) { classType = classType2 } } //如果右侧栏没数据,给个默认值 if (liveDataQsRecordBean.value!!.classType.isEmpty()) { - liveDataQsRecordBean.value!!.classType = classType + liveDataQsRecordBean.value!!.classCode = classCode classTypeTemp = classType + classCodeTemp = classCode } else { classType = liveDataQsRecordBean.value!!.classType + classCode = liveDataQsRecordBean.value!!.classCode } getProblemList(classType) } @@ -298,6 +303,7 @@ class EvaluationResultViewModel @Inject constructor( */ fun setPhenomenonMiddleBean(adapterBean: RightBean) { liveDataQsRecordBean.value!!.classType = classTypeTemp + liveDataQsRecordBean.value!!.classCode = classCodeTemp liveDataQsRecordBean.value!!.phenomenon = adapterBean.text liveDataQsRecordBean.value!!.problemType = adapterBean.title liveDataQsRecordBean.postValue(liveDataQsRecordBean.value) diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/LeftAdapter.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/LeftAdapter.kt index 383a515c..9668f889 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/LeftAdapter.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/LeftAdapter.kt @@ -5,12 +5,13 @@ import android.view.LayoutInflater import android.view.ViewGroup import androidx.annotation.RequiresApi import com.navinfo.omqs.R +import com.navinfo.omqs.bean.ScProblemTypeBean import com.navinfo.omqs.databinding.TextItemSelectBinding import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter import com.navinfo.omqs.ui.other.BaseViewHolder class LeftAdapter(private var itemListener: ((Int, String) -> Unit?)? = null) : - BaseRecyclerViewAdapter() { + BaseRecyclerViewAdapter() { private var selectTitle = "" @@ -24,18 +25,18 @@ class LeftAdapter(private var itemListener: ((Int, String) -> Unit?)? = null) : override fun onBindViewHolder(holder: BaseViewHolder, position: Int) { val bd = holder.viewBinding as TextItemSelectBinding val title = data[position] - bd.itemId.text = title - holder.viewBinding.root.isSelected = selectTitle == title + bd.itemId.text = title.classType + holder.viewBinding.root.isSelected = selectTitle == title.classType bd.root.setOnClickListener { - if (selectTitle != title) { - selectTitle = title + if (selectTitle != title.classType) { + selectTitle = title.classType notifyDataSetChanged() } - itemListener?.invoke(position, title) + itemListener?.invoke(position, title.classType) } } - override fun refreshData(newData: List) { + override fun refreshData(newData: List) { data = newData notifyDataSetChanged() } diff --git a/collect-library/src/main/java/com/navinfo/collect/library/data/entity/QsRecordBean.kt b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/QsRecordBean.kt index a3f5210a..96bf6b3a 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/data/entity/QsRecordBean.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/QsRecordBean.kt @@ -33,6 +33,10 @@ open class QsRecordBean @JvmOverloads constructor( *问题分类 */ var classType: String = "", + /** + *要素代码 + */ + var classCode: String = "", /** * 问题类型 */ @@ -97,6 +101,7 @@ open class QsRecordBean @JvmOverloads constructor( elementId = elementId, linkId = linkId, classType = classType, + classCode = classCode, problemType = problemType, phenomenon = phenomenon, description = description,