From e6c2c3f76d8c0c07974eb910bb36bb7a9e55675d Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Thu, 11 May 2023 16:36:35 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E7=AA=97=E4=BD=932=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E7=AE=AD=E5=A4=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EvaluationResultFragment.kt | 2 +- .../EvaluationResultViewModel.kt | 40 ++++++++++++------- .../res/layout/fragment_evaluation_result.xml | 3 +- .../main/res/layout/fragment_offline_map.xml | 20 +++++++--- app/src/main/res/layout/text_item_select.xml | 2 +- 5 files changed, 43 insertions(+), 24 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt index f01bcb63..8e140472 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt @@ -72,7 +72,7 @@ class EvaluationResultFragment : BaseFragment(), View.OnClickListener { //删除事件 binding.evaluationBarDelete.setOnClickListener() { - viewModel.deleteData() + viewModel.deleteData(requireContext()) } 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 29fd71db..c258da7b 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 @@ -1,6 +1,7 @@ package com.navinfo.omqs.ui.fragment.evaluationresult import android.app.Activity +import android.app.Dialog import android.content.Context import android.graphics.drawable.AnimationDrawable import android.graphics.drawable.BitmapDrawable @@ -22,12 +23,13 @@ import com.navinfo.collect.library.data.entity.QsRecordBean import com.navinfo.collect.library.data.entity.RenderEntity.Companion.LinkTable import com.navinfo.collect.library.map.NIMapController import com.navinfo.collect.library.utils.GeometryTools -import com.navinfo.omqs.bean.SignBean import com.navinfo.omqs.Constant import com.navinfo.omqs.R import com.navinfo.omqs.bean.ChatMsgEntity +import com.navinfo.omqs.bean.SignBean import com.navinfo.omqs.db.RealmOperateHelper import com.navinfo.omqs.db.RoomAppDatabase +import com.navinfo.omqs.ui.dialog.FirstDialog import com.navinfo.omqs.util.DateTimeUtil import com.navinfo.omqs.util.SoundMeter import com.navinfo.omqs.util.SpeakMode @@ -323,22 +325,30 @@ class EvaluationResultViewModel @Inject constructor( } } - fun deleteData() { - viewModelScope.launch(Dispatchers.IO) { + fun deleteData(context: Context) { + val mDialog = FirstDialog(context) + mDialog.setTitle("提示?") + mDialog.setMessage("是否删除") + mDialog.setPositiveButton("确定", object : FirstDialog.OnClickListener { + override fun onClick(dialog: Dialog?, which: Int) { + mDialog.dismiss() + viewModelScope.launch(Dispatchers.IO) { - val realm = Realm.getDefaultInstance() - Log.e("jingo", "realm hashCOde ${realm.hashCode()}") - realm.executeTransaction { - val objects = - it.where(QsRecordBean::class.java).equalTo("id", liveDataQsRecordBean.value?.id) - .findFirst() - objects?.deleteFromRealm() + val realm = Realm.getDefaultInstance() + Log.e("jingo", "realm hashCOde ${realm.hashCode()}") + realm.executeTransaction { + val objects = it.where(QsRecordBean::class.java) + .equalTo("id", liveDataQsRecordBean.value?.id).findFirst() + objects?.deleteFromRealm() + } + mapController.markerHandle.removeQsRecordMark(liveDataQsRecordBean.value!!) + mapController.mMapView.vtmMap.updateMap(true) + liveDataFinish.postValue(true) + } } -// realm.close() - mapController.markerHandle.removeQsRecordMark(liveDataQsRecordBean.value!!) - mapController.mMapView.vtmMap.updateMap(true) - liveDataFinish.postValue(true) - } + }) + mDialog.setNegativeButton("取消", null) + mDialog.show() } /** diff --git a/app/src/main/res/layout/fragment_evaluation_result.xml b/app/src/main/res/layout/fragment_evaluation_result.xml index e9274368..710d6523 100644 --- a/app/src/main/res/layout/fragment_evaluation_result.xml +++ b/app/src/main/res/layout/fragment_evaluation_result.xml @@ -36,6 +36,7 @@ style="@style/card_title_font_default" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:drawableLeft="@drawable/btn_back_xml" android:layout_alignParentLeft="true" android:text="Mark" /> @@ -51,7 +52,7 @@ android:id="@+id/evaluation_bar_delete" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:paddingRight="5dp" + android:padding="10dp" android:layout_centerInParent="true" android:layout_toLeftOf="@+id/evaluation_bar_save" android:background="@drawable/btn_delete_xml" /> diff --git a/app/src/main/res/layout/fragment_offline_map.xml b/app/src/main/res/layout/fragment_offline_map.xml index 62c43931..740710dd 100644 --- a/app/src/main/res/layout/fragment_offline_map.xml +++ b/app/src/main/res/layout/fragment_offline_map.xml @@ -13,6 +13,7 @@ android:layout_height="wrap_content" app:layout_constraintTop_toTopOf="parent" style="@style/left_pannel_title_layout"> + + android:src="@drawable/ic_baseline_keyboard_arrow_left_24"> + + + app:layout_constraintBottom_toBottomOf="parent"> + + + + + + diff --git a/app/src/main/res/layout/text_item_select.xml b/app/src/main/res/layout/text_item_select.xml index 7b161041..7408cfc9 100644 --- a/app/src/main/res/layout/text_item_select.xml +++ b/app/src/main/res/layout/text_item_select.xml @@ -13,7 +13,7 @@ android:padding = "3dp" android:gravity="center" android:textColor="@color/black" - android:textSize="18sp"> + android:textSize="@dimen/default_font_size"> From 4ec107b359d83b61cdb93433b86a8448a46e3f12 Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Fri, 19 May 2023 09:27:11 +0800 Subject: [PATCH 2/8] merge code --- .../ui/fragment/evaluationresult/EvaluationResultViewModel.kt | 3 +-- app/src/main/res/layout/adapter_offline_map_city.xml | 2 +- app/src/main/res/layout/fragment_evaluation_result.xml | 3 +++ 3 files changed, 5 insertions(+), 3 deletions(-) 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 c258da7b..ccc9acdc 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 @@ -328,12 +328,11 @@ class EvaluationResultViewModel @Inject constructor( fun deleteData(context: Context) { val mDialog = FirstDialog(context) mDialog.setTitle("提示?") - mDialog.setMessage("是否删除") + mDialog.setMessage("是否删除Mark,请确认!") mDialog.setPositiveButton("确定", object : FirstDialog.OnClickListener { override fun onClick(dialog: Dialog?, which: Int) { mDialog.dismiss() viewModelScope.launch(Dispatchers.IO) { - val realm = Realm.getDefaultInstance() Log.e("jingo", "realm hashCOde ${realm.hashCode()}") realm.executeTransaction { 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 68d56864..3ac1686e 100644 --- a/app/src/main/res/layout/adapter_offline_map_city.xml +++ b/app/src/main/res/layout/adapter_offline_map_city.xml @@ -58,7 +58,7 @@ style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="16dp" - android:layout_below="@id/offline_map_download_btn" + android:layout_below="@id/offline_map_city_size" android:paddingTop="10dp" android:progressDrawable="@drawable/progress_bg" android:visibility="invisible" /> diff --git a/app/src/main/res/layout/fragment_evaluation_result.xml b/app/src/main/res/layout/fragment_evaluation_result.xml index 710d6523..b199898b 100644 --- a/app/src/main/res/layout/fragment_evaluation_result.xml +++ b/app/src/main/res/layout/fragment_evaluation_result.xml @@ -27,6 +27,9 @@ app:layout_constraintTop_toTopOf="parent"> From 2807b2f6894ce413dea6f2b882f3923a7906d0e4 Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Fri, 19 May 2023 17:12:19 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=92=8C=E9=97=AE=E9=A2=98=E5=9B=9E=E4=BC=A0?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/navinfo/omqs/bean/EvaluationInfo.kt | 24 +++++++-- .../com/navinfo/omqs/bean/LoginUserBean.kt | 4 +- .../java/com/navinfo/omqs/bean/SysUserBean.kt | 8 +++ .../navinfo/omqs/http/DefaultUserResponse.kt | 7 +++ .../java/com/navinfo/omqs/http/NetResult.kt | 8 +-- .../com/navinfo/omqs/http/NetworkService.kt | 9 ++++ .../navinfo/omqs/http/NetworkServiceImpl.kt | 35 ++++++++++--- .../omqs/http/RetrofitNetworkServiceAPI.kt | 9 ++++ .../omqs/http/taskupload/TaskUploadScope.kt | 51 +++++++++++++++++-- .../omqs/ui/activity/login/LoginViewModel.kt | 40 ++++++++++++--- .../ui/fragment/tasklist/TaskViewModel.kt | 4 +- app/src/main/res/layout/activity_login.xml | 4 +- app/src/main/res/layout/adapter_task_list.xml | 5 +- 13 files changed, 176 insertions(+), 32 deletions(-) create mode 100644 app/src/main/java/com/navinfo/omqs/bean/SysUserBean.kt create mode 100644 app/src/main/java/com/navinfo/omqs/http/DefaultUserResponse.kt diff --git a/app/src/main/java/com/navinfo/omqs/bean/EvaluationInfo.kt b/app/src/main/java/com/navinfo/omqs/bean/EvaluationInfo.kt index 8515940f..f93034a8 100644 --- a/app/src/main/java/com/navinfo/omqs/bean/EvaluationInfo.kt +++ b/app/src/main/java/com/navinfo/omqs/bean/EvaluationInfo.kt @@ -12,7 +12,7 @@ data class EvaluationInfo( val linkPid: String = "",//Link号 @SerializedName("linkStatus") - val linkStatus: String = "",//Link状态 + val linkStatus: Int = 0,//Link状态 @SerializedName("markId") val markId: String = "",//Link状态 @@ -27,7 +27,7 @@ data class EvaluationInfo( val featureName: String = "",//问题类型 @SerializedName("problemType") - val problemType: String = "",//问题现象 + val problemType: String = "",//问题现象 0错误 1多余 2遗漏 服务字段定义为Integer,使用包装类,对应无值情况为空 @SerializedName("problemPhenomenon") val problemPhenomenon: String = "",//问题现象 @@ -48,6 +48,24 @@ data class EvaluationInfo( val evaluationDate: String = "",//测评日期(yyyy-mm-dd) @SerializedName("evaluationWay") - val evaluationWay: String = "现场测评"//测评方式 + val evaluationWay: String = "2",//测评方式 1生产测评 2现场测评 服务字段定义为Integer,使用包装类,对应无值情况为空 + + @SerializedName("roadClassfcation") + val roadClassfcation: String = "",//道路种别 + + @SerializedName("roadFunctionGrade") + val roadFunctionGrade: String = "",//道路功能等级 + + @SerializedName("noEvaluationreason") + val noEvaluationreason: String = "",//未测评原因 + + @SerializedName("linkLength") + val linkLength: Double = 0.0,//link长度(m 保留3位小数) + + @SerializedName("dataLevel") + val dataLevel: String = "",//数据级别 + + @SerializedName("linstringLength") + val linstringLength: Double = 0.0,//错误要素长度(m) ) : Parcelable diff --git a/app/src/main/java/com/navinfo/omqs/bean/LoginUserBean.kt b/app/src/main/java/com/navinfo/omqs/bean/LoginUserBean.kt index bfd9bcbd..27cc9587 100644 --- a/app/src/main/java/com/navinfo/omqs/bean/LoginUserBean.kt +++ b/app/src/main/java/com/navinfo/omqs/bean/LoginUserBean.kt @@ -1,6 +1,6 @@ package com.navinfo.omqs.bean data class LoginUserBean( - var username: String = "", - var password: String = "" + var userCode: String = "", + var passWord: String = "" ) \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/omqs/bean/SysUserBean.kt b/app/src/main/java/com/navinfo/omqs/bean/SysUserBean.kt new file mode 100644 index 00000000..d9ce0e6c --- /dev/null +++ b/app/src/main/java/com/navinfo/omqs/bean/SysUserBean.kt @@ -0,0 +1,8 @@ +package com.navinfo.omqs.bean + +data class SysUserBean( + var userName: String = "", + var passWord: String = "", + var userCode: String = "", + var roleId: Int = 0, +) \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/omqs/http/DefaultUserResponse.kt b/app/src/main/java/com/navinfo/omqs/http/DefaultUserResponse.kt new file mode 100644 index 00000000..cea3dcc6 --- /dev/null +++ b/app/src/main/java/com/navinfo/omqs/http/DefaultUserResponse.kt @@ -0,0 +1,7 @@ +package com.navinfo.omqs.http + +class DefaultUserResponse { + var success: Boolean = false + var msg: String = "" + var obj: T? = null +} \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/omqs/http/NetResult.kt b/app/src/main/java/com/navinfo/omqs/http/NetResult.kt index 4222a09f..5c0f96ce 100644 --- a/app/src/main/java/com/navinfo/omqs/http/NetResult.kt +++ b/app/src/main/java/com/navinfo/omqs/http/NetResult.kt @@ -31,8 +31,8 @@ package com.navinfo.omqs.http sealed class NetResult { data class Success(val data: T?) : NetResult() - data class Failure(val code: Int, val msg: String) : NetResult() - data class Error(val exception: Exception) : NetResult() + data class Failure(val code: Int, val msg: String) : NetResult() + data class Error(val exception: Exception) : NetResult() object Loading : NetResult() /** @@ -42,8 +42,8 @@ sealed class NetResult { override fun toString(): String { return when (this) { is Success<*> -> "网络访问成功,返回正确结果Success[data=$data]" - is Failure -> "网络访问成功,返回错误结果Failure[$msg]" - is Error -> "网络访问出错 Error[exception=$exception]" + is Failure<*> -> "网络访问成功,返回错误结果Failure[$msg]" + is Error<*> -> "网络访问出错 Error[exception=$exception]" is Loading -> "网络访问中 Loading" } } diff --git a/app/src/main/java/com/navinfo/omqs/http/NetworkService.kt b/app/src/main/java/com/navinfo/omqs/http/NetworkService.kt index fbeb5ff9..2698d9b6 100644 --- a/app/src/main/java/com/navinfo/omqs/http/NetworkService.kt +++ b/app/src/main/java/com/navinfo/omqs/http/NetworkService.kt @@ -2,6 +2,10 @@ package com.navinfo.omqs.http import com.navinfo.omqs.bean.OfflineMapCityBean import com.navinfo.collect.library.data.entity.TaskBean +import com.navinfo.omqs.bean.LoginUserBean +import com.navinfo.omqs.bean.SysUserBean +import okhttp3.ResponseBody +import retrofit2.Response /** @@ -16,4 +20,9 @@ interface NetworkService { * 获取任务列表 */ suspend fun getTaskList(evaluatorNo:String): NetResult>> + + /** + * 登录接口 + */ + suspend fun loginUser(loginUserBean: LoginUserBean): NetResult> } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/omqs/http/NetworkServiceImpl.kt b/app/src/main/java/com/navinfo/omqs/http/NetworkServiceImpl.kt index a7dc4eed..ffa4f2f1 100644 --- a/app/src/main/java/com/navinfo/omqs/http/NetworkServiceImpl.kt +++ b/app/src/main/java/com/navinfo/omqs/http/NetworkServiceImpl.kt @@ -2,8 +2,12 @@ package com.navinfo.omqs.http import com.navinfo.omqs.bean.OfflineMapCityBean import com.navinfo.collect.library.data.entity.TaskBean +import com.navinfo.omqs.bean.LoginUserBean +import com.navinfo.omqs.bean.SysUserBean import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext +import okhttp3.ResponseBody +import retrofit2.Response import javax.inject.Inject /** @@ -24,13 +28,13 @@ class NetworkServiceImpl @Inject constructor( if (result.code() == 200) { NetResult.Success(result.body()) } else { - NetResult.Failure(result.code(), result.message()) + NetResult.Failure(result.code(), result.message()) } } else { - NetResult.Failure(result.code(), result.message()) + NetResult.Failure(result.code(), result.message()) } } catch (e: Exception) { - NetResult.Error(e) + NetResult.Error(e) } } @@ -43,13 +47,32 @@ class NetworkServiceImpl @Inject constructor( if (result.code() == 200) { NetResult.Success(result.body()) } else { - NetResult.Failure(result.code(), result.message()) + NetResult.Failure(result.code(), result.message()) } } else { - NetResult.Failure(result.code(), result.message()) + NetResult.Failure(result.code(), result.message()) } } catch (e: Exception) { - NetResult.Error(e) + NetResult.Error(e) + } + } + + override suspend fun loginUser(loginUserBean: LoginUserBean): NetResult> = + //在IO线程中运行 + withContext(Dispatchers.IO) { + return@withContext try { + val result = netApi.retrofitLoginUser(loginUserBean) + if (result.isSuccessful) { + if (result.code() == 200) { + NetResult.Success(result.body()) + } else { + NetResult.Failure(result.code(), result.message()) + } + } else { + NetResult.Failure(result.code(), result.message()) + } + } catch (e: Exception) { + NetResult.Error(e) } } } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/omqs/http/RetrofitNetworkServiceAPI.kt b/app/src/main/java/com/navinfo/omqs/http/RetrofitNetworkServiceAPI.kt index b8f3919f..cee824a5 100644 --- a/app/src/main/java/com/navinfo/omqs/http/RetrofitNetworkServiceAPI.kt +++ b/app/src/main/java/com/navinfo/omqs/http/RetrofitNetworkServiceAPI.kt @@ -3,6 +3,8 @@ package com.navinfo.omqs.http import com.navinfo.omqs.bean.EvaluationInfo import com.navinfo.omqs.bean.OfflineMapCityBean import com.navinfo.collect.library.data.entity.TaskBean +import com.navinfo.omqs.bean.LoginUserBean +import com.navinfo.omqs.bean.SysUserBean import okhttp3.ResponseBody import retrofit2.Response import retrofit2.http.* @@ -40,6 +42,13 @@ interface RetrofitNetworkServiceAPI { @GET("/drdc/MapDownload/maplist") suspend fun retrofitGetOfflineMapCityList(): Response> + /** + * 登录接口 + */ + @Headers("Content-Type: application/json") + @POST("/devcp/loginUser") + suspend fun retrofitLoginUser(@Body loginUserBean: LoginUserBean): Response> + /** * 下载文件 */ 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 10fb6570..f2976f61 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 @@ -121,26 +121,71 @@ class TaskUploadScope( if (objects != null&&objects.size>0) { val copyList = realm.copyFromRealm(objects) copyList.forEach { + var problemType = "0" + if(it.problemType=="错误"){ + problemType = "0" + }else if(it.problemType=="多余"){ + problemType = "1" + }else if(it.problemType=="遗漏"){ + problemType = "2" + } + var evaluationWay = "2"; +/* if(it.evaluationWay=="生产测评"){ + evaluationWay = "1" + }else if(it.evaluationWay=="现场测评"){ + evaluationWay = "2" + }*/ val evaluationInfo = EvaluationInfo( evaluationTaskId = taskBean.id.toString(), linkPid = hadLinkDvoBean.linkPid,//"84207223282277331" - linkStatus = "已测评", + linkStatus = 1, markId = hadLinkDvoBean.mesh,//"20065597" trackPhotoNumber = "", markGeometry = it.geometry, featureName = it.classType, - problemType = it.problemType, + problemType = problemType, problemPhenomenon = it.phenomenon, problemDesc = it.description, problemLink = it.problemLink, problemReason = it.cause, evaluatorName = it.checkUserId, evaluationDate = it.checkTime, - evaluationWay = "现场测评" + evaluationWay = evaluationWay, + roadClassfcation = "", + roadFunctionGrade = "", + noEvaluationreason = "", + linkLength = 0.0, + dataLevel = "", + linstringLength = 0.0, ) bodyList.add(evaluationInfo) } + }else{ + val evaluationInfo = EvaluationInfo( + evaluationTaskId = taskBean.id.toString(), + linkPid = hadLinkDvoBean.linkPid,//"84207223282277331" + linkStatus = 0, + markId = hadLinkDvoBean.mesh,//"20065597" + trackPhotoNumber = "", + markGeometry = "", + featureName = "", + problemType = "", + problemPhenomenon = "", + problemDesc = "", + problemLink = "", + problemReason = "", + evaluatorName = "", + evaluationDate = "", + evaluationWay = "", + roadClassfcation = "", + roadFunctionGrade = "", + noEvaluationreason = "", + linkLength = 0.0, + dataLevel = "", + linstringLength = 0.0, + ) + bodyList.add(evaluationInfo) } } diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt index bfbd5c4e..949dfa60 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt @@ -10,7 +10,6 @@ import androidx.lifecycle.viewModelScope import com.blankj.utilcode.util.ResourceUtils import com.navinfo.omqs.Constant import com.navinfo.omqs.bean.LoginUserBean -import com.navinfo.omqs.db.MyRealmModule import com.navinfo.omqs.db.RoomAppDatabase import com.navinfo.omqs.http.NetResult import com.navinfo.omqs.http.NetworkService @@ -19,6 +18,7 @@ import dagger.hilt.android.lifecycle.HiltViewModel import io.realm.Realm import io.realm.RealmConfiguration import kotlinx.coroutines.* +import retrofit2.Response import java.io.File import java.io.IOException import javax.inject.Inject @@ -74,7 +74,7 @@ class LoginViewModel @Inject constructor( var jobLogin: Job? = null; init { - loginUser.value = LoginUserBean(username = "admin", password = "123456") + loginUser.value = LoginUserBean(userCode = "02911", passWord = "123456") } @@ -82,7 +82,7 @@ class LoginViewModel @Inject constructor( * 处理注册按钮 */ fun onClick(view: View) { - loginUser.value!!.username = "admin2" + loginUser.value!!.userCode = "admin2" loginUser.value = loginUser.value } @@ -111,12 +111,36 @@ class LoginViewModel @Inject constructor( // withContext(Dispatchers.IO) { //网络访问 loginStatus.postValue(LoginStatus.LOGIN_STATUS_NET_LOADING) - //假装网络访问,等待2秒 - delay(1000) + //登录访问 + when (val result = networkService.loginUser(LoginUserBean(userName,password))) { + is NetResult.Success<*> ->{ + if (result.data!=null) { + try { + + } catch (e: IOException) { + loginStatus.postValue(LoginStatus.LOGIN_STATUS_FOLDER_FAILURE) + } + } + } + is NetResult.Error<*> ->{ + withContext(Dispatchers.Main) { + Toast.makeText(context, "${result.exception.message}", Toast.LENGTH_SHORT) + .show() + } + } + is NetResult.Failure<*> ->{ + withContext(Dispatchers.Main) { + Toast.makeText(context, "${result.code}:${result.msg}", Toast.LENGTH_SHORT) + .show() + } + } + else -> {} + } + //文件夹初始化 try { loginStatus.postValue(LoginStatus.LOGIN_STATUS_FOLDER_INIT) - createUserFolder(context, "02911") + createUserFolder(context, userName) } catch (e: IOException) { loginStatus.postValue(LoginStatus.LOGIN_STATUS_FOLDER_FAILURE) } @@ -134,13 +158,13 @@ class LoginViewModel @Inject constructor( roomAppDatabase.getOfflineMapDao().insertOrUpdate(result.data) } } - is NetResult.Error -> { + is NetResult.Error<*> -> { withContext(Dispatchers.Main) { Toast.makeText(context, "${result.exception.message}", Toast.LENGTH_SHORT) .show() } } - is NetResult.Failure -> { + is NetResult.Failure<*> -> { withContext(Dispatchers.Main) { Toast.makeText(context, "${result.code}:${result.msg}", Toast.LENGTH_SHORT) .show() diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskViewModel.kt index 6ea1334c..382ed521 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskViewModel.kt @@ -91,13 +91,13 @@ class TaskViewModel @Inject constructor( } } } - is NetResult.Error -> { + is NetResult.Error<*> -> { withContext(Dispatchers.Main) { Toast.makeText(context, "${result.exception.message}", Toast.LENGTH_SHORT) .show() } } - is NetResult.Failure -> { + is NetResult.Failure<*> -> { withContext(Dispatchers.Main) { Toast.makeText(context, "${result.code}:${result.msg}", Toast.LENGTH_SHORT) .show() diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 415ee1e6..a756f978 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -92,7 +92,7 @@ android:hint="@string/input_user_name" android:lines="1" android:background="@drawable/shape_login_inputlayout_bg" - android:text="@{loginUserModel.loginUser.username}" + android:text="@{loginUserModel.loginUser.userCode}" tools:ignore="TouchTargetSizeCheck" /> @@ -113,7 +113,7 @@ android:lines="1" android:inputType="textPassword" android:background="@drawable/shape_login_inputlayout_bg" - android:text="@{loginUserModel.loginUser.password}" + android:text="@{loginUserModel.loginUser.passWord}" tools:ignore="TouchTargetSizeCheck" /> diff --git a/app/src/main/res/layout/adapter_task_list.xml b/app/src/main/res/layout/adapter_task_list.xml index 50771d23..a8de167f 100644 --- a/app/src/main/res/layout/adapter_task_list.xml +++ b/app/src/main/res/layout/adapter_task_list.xml @@ -72,7 +72,8 @@ style="@style/btn_default_stroke_horizontal_round" android:layout_width="72dp" android:layout_alignParentRight="true" - android:layout_alignParentBottom="true" + android:layout_below="@id/task_data_version" + android:layout_marginTop="5dp" android:gravity="center" android:text="下载" android:textSize="@dimen/card_title_font_2size" /> @@ -108,7 +109,7 @@ style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="16dp" - android:layout_below="@id/task_color" + android:layout_below="@id/task_download_btn" android:paddingTop="10dp" android:progressDrawable="@drawable/progress_bg" android:visibility="invisible" /> From 3c0fe6b1b16a225a7e6b96a0c6248fa0360d3344 Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Fri, 26 May 2023 10:24:00 +0800 Subject: [PATCH 4/8] merge code --- .../omqs/ui/activity/login/LoginViewModel.kt | 29 ++++++++++++++++++- app/src/main/res/layout/text_item_select.xml | 10 +++---- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt index 949dfa60..570c6255 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt @@ -10,7 +10,9 @@ import androidx.lifecycle.viewModelScope import com.blankj.utilcode.util.ResourceUtils import com.navinfo.omqs.Constant import com.navinfo.omqs.bean.LoginUserBean +import com.navinfo.omqs.bean.SysUserBean import com.navinfo.omqs.db.RoomAppDatabase +import com.navinfo.omqs.http.DefaultUserResponse import com.navinfo.omqs.http.NetResult import com.navinfo.omqs.http.NetworkService import com.navinfo.omqs.tools.FileManager @@ -111,11 +113,32 @@ class LoginViewModel @Inject constructor( // withContext(Dispatchers.IO) { //网络访问 loginStatus.postValue(LoginStatus.LOGIN_STATUS_NET_LOADING) + var userCode = "99999"; //登录访问 when (val result = networkService.loginUser(LoginUserBean(userName,password))) { is NetResult.Success<*> ->{ if (result.data!=null) { try { + val defaultUserResponse = result.data as DefaultUserResponse + if(defaultUserResponse.success){ + if(defaultUserResponse.obj==null|| defaultUserResponse.obj!!.userCode==null){ + withContext(Dispatchers.Main) { + Toast.makeText(context, "服务返回用户Code信息错误", Toast.LENGTH_SHORT) + .show() + } + loginStatus.postValue(LoginStatus.LOGIN_STATUS_CANCEL) + return + }else{ + userCode = defaultUserResponse.obj?.userCode.toString() + } + }else{ + withContext(Dispatchers.Main) { + Toast.makeText(context, "${defaultUserResponse.msg}", Toast.LENGTH_SHORT) + .show() + } + loginStatus.postValue(LoginStatus.LOGIN_STATUS_CANCEL) + return + } } catch (e: IOException) { loginStatus.postValue(LoginStatus.LOGIN_STATUS_FOLDER_FAILURE) @@ -127,12 +150,16 @@ class LoginViewModel @Inject constructor( Toast.makeText(context, "${result.exception.message}", Toast.LENGTH_SHORT) .show() } + loginStatus.postValue(LoginStatus.LOGIN_STATUS_CANCEL) + return } is NetResult.Failure<*> ->{ withContext(Dispatchers.Main) { Toast.makeText(context, "${result.code}:${result.msg}", Toast.LENGTH_SHORT) .show() } + loginStatus.postValue(LoginStatus.LOGIN_STATUS_CANCEL) + return } else -> {} } @@ -140,7 +167,7 @@ class LoginViewModel @Inject constructor( //文件夹初始化 try { loginStatus.postValue(LoginStatus.LOGIN_STATUS_FOLDER_INIT) - createUserFolder(context, userName) + createUserFolder(context, userCode) } catch (e: IOException) { loginStatus.postValue(LoginStatus.LOGIN_STATUS_FOLDER_FAILURE) } diff --git a/app/src/main/res/layout/text_item_select.xml b/app/src/main/res/layout/text_item_select.xml index 887abc7b..ff443387 100644 --- a/app/src/main/res/layout/text_item_select.xml +++ b/app/src/main/res/layout/text_item_select.xml @@ -10,13 +10,11 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="4dp" + android:drawableLeft="@drawable/selector_text_drawable_left_white_blue" + android:drawablePadding="10dp" android:gravity="center" android:padding="4dp" - android:drawablePadding="10dp" - android:drawableLeft="@drawable/selector_text_drawable_left_white_blue" android:textColor="@color/selector_black_blue_color" - android:textSize="14sp"/> + android:textSize="14sp" /> - - - \ No newline at end of file + From 46268b35490938df2149f313d9de3b6a1764e87c Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Fri, 26 May 2023 10:51:24 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E8=BF=94=E5=9B=9E=E8=81=94=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../evaluationresult/EvaluationResultFragment.kt | 14 +++++++++++++- .../main/res/layout/fragment_evaluation_result.xml | 2 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt index 4517947a..210893fa 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt @@ -1,5 +1,6 @@ package com.navinfo.omqs.ui.fragment.evaluationresult +import android.app.Dialog import android.os.Build import android.os.Bundle import android.util.Log @@ -19,6 +20,7 @@ import com.navinfo.omqs.ui.fragment.BaseFragment import com.navinfo.omqs.ui.other.shareViewModels import dagger.hilt.android.AndroidEntryPoint import androidx.navigation.findNavController +import com.navinfo.omqs.ui.dialog.FirstDialog @AndroidEntryPoint class EvaluationResultFragment : BaseFragment(), View.OnClickListener { @@ -65,7 +67,17 @@ class EvaluationResultFragment : BaseFragment(), View.OnClickListener { } //返回按钮点击 binding.evaluationBar.setOnClickListener() { - onBackPressed() + val mDialog = FirstDialog(context) + mDialog.setTitle("提示?") + mDialog.setMessage("是否退出,请确认!") + mDialog.setPositiveButton("确定", object : FirstDialog.OnClickListener { + override fun onClick(dialog: Dialog?, which: Int) { + mDialog.dismiss() + onBackPressed() + } + }) + mDialog.setNegativeButton("取消", null) + mDialog.show() } //保存事件 diff --git a/app/src/main/res/layout/fragment_evaluation_result.xml b/app/src/main/res/layout/fragment_evaluation_result.xml index 77e477e5..5fc689b2 100644 --- a/app/src/main/res/layout/fragment_evaluation_result.xml +++ b/app/src/main/res/layout/fragment_evaluation_result.xml @@ -24,6 +24,7 @@ android:id="@+id/evaluation_bar" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:drawableLeft="@drawable/selector_btn_back_xml" android:layout_marginLeft="12dp" android:layout_marginTop="14dp" android:text="Mark" @@ -48,6 +49,7 @@ android:id="@+id/evaluation_bar_cancel" android:layout_width="40dp" android:layout_height="40dp" + android:visibility="gone" android:layout_marginRight="10dp" android:background="@color/transparent" android:src="@drawable/icon_fragment_close" From 64eb25d5d4534c0bbebef81c5e463f9d8f0a1f7b Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Fri, 26 May 2023 15:08:09 +0800 Subject: [PATCH 6/8] mergecode --- .gitmodules | 1 + vtm | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 160000 vtm diff --git a/.gitmodules b/.gitmodules index 406c9695..307a0843 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,4 @@ [submodule "vtm"] path = vtm url = git@github.com:xiaoyan159/vtm.git + branch = master diff --git a/vtm b/vtm deleted file mode 160000 index dd13e533..00000000 --- a/vtm +++ /dev/null @@ -1 +0,0 @@ -Subproject commit dd13e533c38b5738ab404c2737d7ccadeff01323 From 90897174ac4a9d77de766ef1e083100ccd6a7a2c Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Fri, 26 May 2023 15:18:23 +0800 Subject: [PATCH 7/8] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E6=B8=B2=E6=9F=93?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- collect-library/src/main/assets/editormarker.xml | 1 + vtm | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index d8d52cf1..7815f74b 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1878,6 +1878,7 @@ + \ No newline at end of file diff --git a/vtm b/vtm index dd13e533..fb0b88e9 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit dd13e533c38b5738ab404c2737d7ccadeff01323 +Subproject commit fb0b88e916c51754baedfb7c5b42aa86b9dc337d From c2416ab7096bebd9e2c43c05b7a66af0e9f266b9 Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Fri, 26 May 2023 15:24:03 +0800 Subject: [PATCH 8/8] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9submodule=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitmodules | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitmodules b/.gitmodules index 406c9695..f38363c8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,4 @@ [submodule "vtm"] path = vtm url = git@github.com:xiaoyan159/vtm.git + branch = navinfo