修改离线地图下载,数据下载安装

This commit is contained in:
squallzhjch 2023-05-08 14:26:12 +08:00
parent 94ce90b680
commit 840bd24b7c
6 changed files with 54 additions and 48 deletions

View File

@ -48,6 +48,6 @@ data class EvaluationInfo(
val evaluationDate: String = "",//测评日期(yyyy-mm-dd) val evaluationDate: String = "",//测评日期(yyyy-mm-dd)
@SerializedName("evaluationWay") @SerializedName("evaluationWay")
val evaluationWay: String = ""//测评方式 val evaluationWay: String = "现场测评"//测评方式
) : Parcelable ) : Parcelable

View File

@ -112,57 +112,54 @@ class TaskUploadScope(
} }
val realm = Realm.getDefaultInstance() val realm = Realm.getDefaultInstance()
val bodyList: MutableList<EvaluationInfo> = ArrayList()
taskBean.hadLinkDvoList.forEach { hadLinkDvoBean -> taskBean.hadLinkDvoList.forEach { hadLinkDvoBean ->
val objects = realm.where(QsRecordBean::class.java) val objects = realm.where(QsRecordBean::class.java)
.equalTo("linkId", /*"84207223282277331"*/hadLinkDvoBean.linkPid).findAll() .equalTo("linkId", /*"84207223282277331"*/hadLinkDvoBean.linkPid).findAll()
if (objects.size == 0) {
if (taskBean.syncStatus == FileUploadStatus.WAITING)
change(FileUploadStatus.NONE)
return
}
val bodyList: MutableList<EvaluationInfo> = ArrayList()
if (objects != null) { if (objects != null) {
val copyList = realm.copyFromRealm(objects) val copyList = realm.copyFromRealm(objects)
copyList.forEach { copyList.forEach {
val evaluationInfo = EvaluationInfo( val evaluationInfo = EvaluationInfo(
taskBean.id.toString(), evaluationTaskId = taskBean.id.toString(),
hadLinkDvoBean.linkPid,//"84207223282277331" linkPid = hadLinkDvoBean.linkPid,//"84207223282277331"
"已测评", linkStatus = "已测评",
hadLinkDvoBean.mesh,//"20065597" markId = hadLinkDvoBean.mesh,//"20065597"
"", trackPhotoNumber = "",
it.geometry, markGeometry = it.geometry,
it.classType, featureName = it.classType,
it.problemType, problemType = it.problemType,
it.phenomenon, problemPhenomenon = it.phenomenon,
it.description, problemDesc = it.description,
it.problemLink, problemLink = it.problemLink,
it.cause, problemReason = it.cause,
it.checkUserId, evaluatorName = it.checkUserId,
it.checkTime evaluationDate = it.checkTime,
evaluationWay = "现场测评"
) )
bodyList.add(evaluationInfo) bodyList.add(evaluationInfo)
} }
val result = uploadManager.netApi.postRequest(bodyList)// .enqueue(object :
// Callback<ResponseBody> {
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)
}
} }
} }
if (bodyList.size == 0) {
if (taskBean.syncStatus == FileUploadStatus.WAITING)
change(FileUploadStatus.NONE)
return
}
val result = uploadManager.netApi.postRequest(bodyList)// .enqueue(object :
// Callback<ResponseBody> {
if (result.isSuccessful) {
if (result.code() == 200) {
// handle the response
change(FileUploadStatus.DONE)
} else {
// handle the failure
change(FileUploadStatus.ERROR)
}
} else {
change(FileUploadStatus.ERROR)
}
} catch (e: Throwable) { } catch (e: Throwable) {
change(FileUploadStatus.ERROR) change(FileUploadStatus.ERROR)
Log.e("jingo", "数据上传出错 ${e.message}") Log.e("jingo", "数据上传出错 ${e.message}")

View File

@ -68,25 +68,34 @@ class OfflineMapCityListAdapter(
val cityBean = data[position] val cityBean = data[position]
//tag 方便onclick里拿到数据 //tag 方便onclick里拿到数据
holder.tag = cityBean.id holder.tag = cityBean.id
changeViews(binding, cityBean) changeViews(binding, cityBean)
downloadManager.addTask(cityBean) downloadManager.addTask(cityBean)
downloadManager.observer(cityBean.id, holder, DownloadObserver(cityBean.id, binding)) downloadManager.observer(cityBean.id, holder, DownloadObserver(cityBean.id, holder))
binding.offlineMapDownloadBtn.tag = position binding.offlineMapDownloadBtn.tag = position
binding.offlineMapDownloadBtn.setOnClickListener(downloadBtnClick) binding.offlineMapDownloadBtn.setOnClickListener(downloadBtnClick)
binding.offlineMapCityName.text = cityBean.name binding.offlineMapCityName.text = cityBean.name
binding.offlineMapCitySize.text = cityBean.getFileSizeText() binding.offlineMapCitySize.text = cityBean.getFileSizeText()
} }
inner class DownloadObserver(val id: String, val binding: AdapterOfflineMapCityBinding) : inner class DownloadObserver(val id: String, val holder: BaseViewHolder) :
Observer<OfflineMapCityBean> { Observer<OfflineMapCityBean> {
override fun onChanged(t: OfflineMapCityBean?) { override fun onChanged(offlineMapCityBean: OfflineMapCityBean?) {
if (id == t?.id) offlineMapCityBean?.let { bean ->
changeViews(binding, t) if (id == holder.tag) {
val binding: AdapterOfflineMapCityBinding =
holder.viewBinding as AdapterOfflineMapCityBinding
Log.e("jingo", "进度条更新 $id ${bean.id} ${holder.tag} ")
changeViews(binding, bean)
}
}
} }
} }
private fun changeViews(binding: AdapterOfflineMapCityBinding, cityBean: OfflineMapCityBean) { private fun changeViews(binding: AdapterOfflineMapCityBinding, cityBean: OfflineMapCityBean) {
Log.e("jingo", "changeViews ${cityBean.status}")
binding.offlineMapProgress.progress = binding.offlineMapProgress.progress =
(cityBean.currentSize * 100 / cityBean.fileSize).toInt() (cityBean.currentSize * 100 / cityBean.fileSize).toInt()
when (cityBean.status) { when (cityBean.status) {

View File

@ -59,7 +59,7 @@ class TaskListAdapter(
val taskBean = data[it.tag as Int] val taskBean = data[it.tag as Int]
Log.e("jingo", "开始上传 ${taskBean.syncStatus}") Log.e("jingo", "开始上传 ${taskBean.syncStatus}")
when (taskBean.syncStatus) { when (taskBean.syncStatus) {
FileUploadStatus.NONE, FileUploadStatus.ERROR -> { FileUploadStatus.NONE, FileUploadStatus.ERROR,FileUploadStatus.WAITING -> {
uploadManager.start(taskBean.id) uploadManager.start(taskBean.id)
} }
} }

View File

@ -74,8 +74,6 @@ class TaskListViewModel @Inject constructor(
realm.copyToRealmOrUpdate(task) realm.copyToRealmOrUpdate(task)
} }
} }
val objects = realm.where(TaskBean::class.java).findAll()
taskList = realm.copyFromRealm(objects)
} }
} }
@ -94,7 +92,9 @@ class TaskListViewModel @Inject constructor(
} }
is NetResult.Loading -> {} is NetResult.Loading -> {}
} }
val realm = Realm.getDefaultInstance()
val objects = realm.where(TaskBean::class.java).findAll()
taskList = realm.copyFromRealm(objects)
for (item in taskList) { for (item in taskList) {
FileManager.checkOMDBFileInfo(item) FileManager.checkOMDBFileInfo(item)
} }

View File

@ -59,7 +59,7 @@ open class QsRecordBean @JvmOverloads constructor(
/** /**
* 质检员ID * 质检员ID
*/ */
var checkUserId: String = "", var checkUserId: String = "张海球",
/** /**
* 质检日期 * 质检日期
*/ */