From 077d5bb32faf0d7d406af453b867ae9d1f691100 Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Mon, 8 May 2023 10:59:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=8C=E6=AD=A5=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../omqs/http/taskupload/TaskUploadScope.kt | 56 +++++++++---------- .../com/navinfo/omqs/tools/FileManager.kt | 1 + 2 files changed, 29 insertions(+), 28 deletions(-) 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 2708b356..32449353 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 @@ -61,7 +61,6 @@ class TaskUploadScope( } } - /** * 更新状态 * @param status [OfflineMapCityBean.Status] @@ -70,10 +69,13 @@ class TaskUploadScope( if (taskBean.syncStatus != status) { taskBean.syncStatus = status uploadData.postValue(taskBean) - launch { - val realm = Realm.getDefaultInstance() - realm.executeTransaction { - it.copyToRealmOrUpdate(taskBean) + //同步中不进行状态记录,只做界面变更显示 + if(status!=FileUploadStatus.UPLOADING){ + launch { + val realm = Realm.getDefaultInstance() + realm.executeTransaction { + it.copyToRealmOrUpdate(taskBean) + } } } } @@ -106,18 +108,16 @@ class TaskUploadScope( } val realm = Realm.getDefaultInstance() + + val bodyList: MutableList = ArrayList() + taskBean.hadLinkDvoList.forEach { hadLinkDvoBean -> val objects = realm.where(QsRecordBean::class.java) .equalTo("linkId", /*"84207223282277331"*/hadLinkDvoBean.linkPid).findAll() - if (objects.size == 0) { - if (taskBean.syncStatus == FileUploadStatus.WAITING) - change(FileUploadStatus.NONE) - return + if (taskBean.syncStatus == FileUploadStatus.WAITING){ + change(FileUploadStatus.UPLOADING) } - - val bodyList: MutableList = ArrayList() - - if (objects != null) { + if (objects != null&&objects.size>0) { val copyList = realm.copyFromRealm(objects) copyList.forEach { val evaluationInfo = EvaluationInfo( @@ -139,24 +139,24 @@ class TaskUploadScope( bodyList.add(evaluationInfo) } - - val result = uploadManager.netApi.postRequest(bodyList)// .enqueue(object : -// Callback { - if (result.isSuccessful) { - if (result.code() == 200) { - taskBean.syncStatus = FileUploadStatus.DONE - // handle the response - change(FileUploadStatus.DONE) - } else { - // handle the failure - change(FileUploadStatus.ERROR) - } - } else { - change(FileUploadStatus.ERROR) - } } } + val result = uploadManager.netApi.postRequest(bodyList)// .enqueue(object : +// Callback { + if (result.isSuccessful) { + if (result.code() == 200) { + taskBean.syncStatus = FileUploadStatus.DONE + // handle the response + change(FileUploadStatus.DONE) + } else { + // handle the failure + change(FileUploadStatus.ERROR) + } + } else { + change(FileUploadStatus.ERROR) + } + } catch (e: Throwable) { change(FileUploadStatus.ERROR) Log.e("jingo", "数据上传出错 ${e.message}") diff --git a/app/src/main/java/com/navinfo/omqs/tools/FileManager.kt b/app/src/main/java/com/navinfo/omqs/tools/FileManager.kt index 0d75a73c..50fc5f82 100644 --- a/app/src/main/java/com/navinfo/omqs/tools/FileManager.kt +++ b/app/src/main/java/com/navinfo/omqs/tools/FileManager.kt @@ -27,6 +27,7 @@ class FileManager { const val DONE = 1 //完成 const val ERROR = 2 //错误 const val WAITING = 3 //等待中 + const val UPLOADING = 4 //同步中 } //初始化数据文件夹