修改离线地图下载,数据下载安装
This commit is contained in:
parent
94ce90b680
commit
840bd24b7c
@ -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
|
||||||
|
|
||||||
|
@ -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}")
|
||||||
|
@ -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) {
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ open class QsRecordBean @JvmOverloads constructor(
|
|||||||
/**
|
/**
|
||||||
* 质检员ID
|
* 质检员ID
|
||||||
*/
|
*/
|
||||||
var checkUserId: String = "",
|
var checkUserId: String = "张海球",
|
||||||
/**
|
/**
|
||||||
* 质检日期
|
* 质检日期
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user