修改数据上传
This commit is contained in:
parent
887ee7f2e4
commit
f3ed4f3f72
@ -23,6 +23,9 @@ data class EvaluationInfo(
|
||||
@SerializedName("markGeometry")
|
||||
val markGeometry: String = "",//MARK_几何坐标
|
||||
|
||||
@SerializedName("linkGeometry")
|
||||
val linkGeometry: String = "",//link_几何坐标
|
||||
|
||||
@SerializedName("featureName")
|
||||
val featureName: String = "",//问题类型
|
||||
|
||||
|
@ -166,6 +166,7 @@ class RealmOperateHelper() {
|
||||
|
||||
suspend fun captureTaskLink(
|
||||
point: GeoPoint,
|
||||
taskId: Int,
|
||||
buffer: Double = DEFAULT_BUFFER,
|
||||
bufferType: BUFFER_TYPE = DEFAULT_BUFFER_TYPE,
|
||||
): HadLinkDvoBean? {
|
||||
@ -177,7 +178,7 @@ class RealmOperateHelper() {
|
||||
)
|
||||
val realm = getRealmDefaultInstance()
|
||||
try {
|
||||
val realmList = getRealmTools(HadLinkDvoBean::class.java).findAll()
|
||||
val realmList = realm.where(HadLinkDvoBean::class.java).equalTo("taskId", taskId).findAll()
|
||||
var linkBean: HadLinkDvoBean? = null
|
||||
var nearLast: Double = 99999.99
|
||||
for (link in realmList) {
|
||||
@ -328,7 +329,7 @@ class RealmOperateHelper() {
|
||||
* @param bufferType 点位外扩距离的单位: 米-Meter,像素-PIXEL
|
||||
* @param sort 是否需要排序
|
||||
* */
|
||||
suspend fun queryLinkByLinkPid(realm: Realm,linkPid: String): MutableList<RenderEntity> {
|
||||
suspend fun queryLinkByLinkPid(realm: Realm, linkPid: String): MutableList<RenderEntity> {
|
||||
val result = mutableListOf<RenderEntity>()
|
||||
val realmList = getSelectTaskRealmTools(realm, RenderEntity::class.java, false)
|
||||
.notEqualTo("table", DataCodeEnum.OMDB_RD_LINK.name)
|
||||
@ -415,16 +416,17 @@ class RealmOperateHelper() {
|
||||
}
|
||||
|
||||
fun getRealmDefaultInstance(): Realm {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
if (isUpdate) {
|
||||
Log.e("jingo", "数据库更新")
|
||||
if (Realm.getDefaultInstance().isInTransaction) {
|
||||
Realm.getDefaultInstance().cancelTransaction()
|
||||
if (realm.isInTransaction) {
|
||||
realm.cancelTransaction()
|
||||
Log.e("jingo", "数据库正在事物,需要退出当前事物")
|
||||
}
|
||||
Realm.getDefaultInstance().refresh()
|
||||
realm.refresh()
|
||||
isUpdate = false;
|
||||
}
|
||||
return Realm.getDefaultInstance()
|
||||
return realm
|
||||
}
|
||||
|
||||
|
||||
@ -456,16 +458,17 @@ class RealmOperateHelper() {
|
||||
}
|
||||
|
||||
fun getSelectTaskRealmInstance(): Realm {
|
||||
val realm = Realm.getInstance(Constant.currentSelectTaskConfig)
|
||||
if (isUpdate) {
|
||||
Log.e("jingo", "数据库更新")
|
||||
if (Realm.getInstance(Constant.currentSelectTaskConfig).isInTransaction) {
|
||||
Realm.getInstance(Constant.currentSelectTaskConfig).cancelTransaction()
|
||||
if (realm.isInTransaction) {
|
||||
realm.cancelTransaction()
|
||||
Log.e("jingo", "数据库正在事物,需要退出当前事物")
|
||||
}
|
||||
Realm.getInstance(Constant.currentSelectTaskConfig).refresh()
|
||||
realm.refresh()
|
||||
isUpdate = false;
|
||||
}
|
||||
return Realm.getInstance(Constant.currentSelectTaskConfig)
|
||||
return realm
|
||||
}
|
||||
|
||||
fun updateRealmDefaultInstance() {
|
||||
|
@ -44,9 +44,10 @@ class ActivityModule {
|
||||
fun providesTaskListDownloadManager(
|
||||
networkServiceAPI: RetrofitNetworkServiceAPI,
|
||||
importFactory: ImportOMDBHiltFactory,
|
||||
mapController: NIMapController
|
||||
mapController: NIMapController,
|
||||
realmOperateHelper: RealmOperateHelper,
|
||||
): TaskDownloadManager =
|
||||
TaskDownloadManager(importFactory, networkServiceAPI, mapController)
|
||||
TaskDownloadManager(importFactory, networkServiceAPI, mapController, realmOperateHelper)
|
||||
|
||||
/**
|
||||
* 注入任务下载
|
||||
@ -55,8 +56,9 @@ class ActivityModule {
|
||||
@Provides
|
||||
fun providesTaskListUploadManager(
|
||||
networkServiceAPI: RetrofitNetworkServiceAPI,
|
||||
realmOperateHelper: RealmOperateHelper,
|
||||
): TaskUploadManager =
|
||||
TaskUploadManager(networkServiceAPI)
|
||||
TaskUploadManager(networkServiceAPI, realmOperateHelper)
|
||||
|
||||
/**
|
||||
* 实验失败,这样创建,viewmodel不会在activity销毁的时候同时销毁
|
||||
|
@ -163,11 +163,11 @@ class GlobalModule {
|
||||
// return RealmCoroutineScope(context)
|
||||
// }
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
fun provideRealmDefaultInstance(): Realm {
|
||||
return Realm.getDefaultInstance()
|
||||
}
|
||||
// @Singleton
|
||||
// @Provides
|
||||
// fun provideRealmDefaultInstance(): Realm {
|
||||
// return Realm.getDefaultInstance()
|
||||
// }
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
|
@ -6,6 +6,7 @@ import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.Observer
|
||||
import com.navinfo.collect.library.map.NIMapController
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import com.navinfo.omqs.db.RealmOperateHelper
|
||||
import com.navinfo.omqs.hilt.ImportOMDBHiltFactory
|
||||
import com.navinfo.omqs.http.RetrofitNetworkServiceAPI
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
@ -18,7 +19,8 @@ import java.util.concurrent.ConcurrentHashMap
|
||||
class TaskDownloadManager constructor(
|
||||
val importFactory: ImportOMDBHiltFactory,
|
||||
val netApi: RetrofitNetworkServiceAPI,
|
||||
val mapController: NIMapController
|
||||
val mapController: NIMapController,
|
||||
val realmOperateHelper: RealmOperateHelper,
|
||||
) {
|
||||
|
||||
lateinit var context: Context
|
||||
@ -111,7 +113,7 @@ class TaskDownloadManager constructor(
|
||||
|
||||
fun addTask(taskBean: TaskBean) {
|
||||
if (!scopeMap.containsKey(taskBean.id)) {
|
||||
scopeMap[taskBean.id] = TaskDownloadScope(this, taskBean)
|
||||
scopeMap[taskBean.id] = TaskDownloadScope(this, realmOperateHelper, taskBean)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -9,6 +9,7 @@ import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import com.navinfo.collect.library.utils.MapParamUtils
|
||||
import com.navinfo.omqs.Constant
|
||||
import com.navinfo.omqs.db.ImportOMDBHelper
|
||||
import com.navinfo.omqs.db.RealmOperateHelper
|
||||
import com.navinfo.omqs.tools.FileManager
|
||||
import com.navinfo.omqs.tools.FileManager.Companion.FileDownloadStatus
|
||||
import com.navinfo.omqs.util.DateTimeUtil
|
||||
@ -22,7 +23,8 @@ import java.io.RandomAccessFile
|
||||
|
||||
class TaskDownloadScope(
|
||||
private val downloadManager: TaskDownloadManager,
|
||||
val taskBean: TaskBean,
|
||||
private val realmOperateHelper: RealmOperateHelper,
|
||||
var taskBean: TaskBean,
|
||||
) :
|
||||
CoroutineScope by CoroutineScope(Dispatchers.IO + CoroutineName("TaskMapDownLoad")) {
|
||||
|
||||
@ -107,10 +109,21 @@ class TaskDownloadScope(
|
||||
taskBean.operationTime = DateTimeUtil.getNowDate().time
|
||||
downloadData.postValue(taskBean)
|
||||
if (status != FileDownloadStatus.LOADING && status != FileDownloadStatus.IMPORTING) {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
realm.beginTransaction()
|
||||
realm.insertOrUpdate(taskBean)
|
||||
realm.commitTransaction()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
Log.e("jingo", "数据下载更新状态 任务link数量:${taskBean.hadLinkDvoList.size}")
|
||||
realm.executeTransaction { r ->
|
||||
// realm.insertOrUpdate(taskBean)
|
||||
val newTask =
|
||||
realm.where(TaskBean::class.java).equalTo("id", taskBean.id).findFirst()
|
||||
newTask?.let {
|
||||
it.syncStatus = taskBean.syncStatus
|
||||
it.errMsg = taskBean.errMsg
|
||||
//赋值时间,用于查询过滤
|
||||
it.operationTime = taskBean.operationTime
|
||||
r.copyToRealmOrUpdate(it)
|
||||
taskBean = realm.copyFromRealm(it)
|
||||
}
|
||||
}
|
||||
realm.close()
|
||||
}
|
||||
}
|
||||
@ -148,7 +161,7 @@ class TaskDownloadScope(
|
||||
Log.e("jingo", "数据安装结束")
|
||||
withContext(Dispatchers.Main) {
|
||||
//任务与当前一致,需要更新渲染图层
|
||||
if(MapParamUtils.getTaskId()==taskBean.id){
|
||||
if (MapParamUtils.getTaskId() == taskBean.id) {
|
||||
downloadManager.mapController.layerManagerHandler.updateOMDBVectorTileLayer()
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import android.content.Context
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.Observer
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import com.navinfo.omqs.db.RealmOperateHelper
|
||||
import com.navinfo.omqs.http.RetrofitNetworkServiceAPI
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
@ -13,6 +14,7 @@ import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
class TaskUploadManager constructor(
|
||||
val netApi: RetrofitNetworkServiceAPI,
|
||||
val realmOperateHelper: RealmOperateHelper,
|
||||
) {
|
||||
|
||||
lateinit var context: Context
|
||||
@ -84,7 +86,7 @@ class TaskUploadManager constructor(
|
||||
|
||||
fun addTask(taskBean: TaskBean) {
|
||||
if (!scopeMap.containsKey(taskBean.id)) {
|
||||
scopeMap[taskBean.id] = TaskUploadScope( this, taskBean)
|
||||
scopeMap[taskBean.id] = TaskUploadScope(this, realmOperateHelper, taskBean)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,9 @@ import androidx.lifecycle.Observer
|
||||
import com.navinfo.collect.library.data.entity.QsRecordBean
|
||||
import com.navinfo.omqs.bean.EvaluationInfo
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import com.navinfo.collect.library.utils.GeometryTools
|
||||
import com.navinfo.omqs.bean.SysUserBean
|
||||
import com.navinfo.omqs.db.RealmOperateHelper
|
||||
import com.navinfo.omqs.http.DefaultResponse
|
||||
import com.navinfo.omqs.tools.FileManager.Companion.FileUploadStatus
|
||||
import com.navinfo.omqs.util.DateTimeUtil
|
||||
@ -21,7 +23,8 @@ import java.util.*
|
||||
|
||||
class TaskUploadScope(
|
||||
private val uploadManager: TaskUploadManager,
|
||||
val taskBean: TaskBean,
|
||||
private val realmOperateHelper: RealmOperateHelper,
|
||||
var taskBean: TaskBean,
|
||||
) :
|
||||
CoroutineScope by CoroutineScope(Dispatchers.IO + CoroutineName("OfflineMapUpLoad")) {
|
||||
|
||||
@ -71,22 +74,35 @@ class TaskUploadScope(
|
||||
* @param status [OfflineMapCityBean.Status]
|
||||
*/
|
||||
private fun change(status: Int, message: String = "") {
|
||||
if (taskBean.syncStatus != status) {
|
||||
taskBean.syncStatus = status
|
||||
taskBean.errMsg = message
|
||||
//赋值时间,用于查询过滤
|
||||
taskBean.operationTime = DateTimeUtil.getNowDate().time
|
||||
uploadData.postValue(taskBean)
|
||||
//同步中不进行状态记录,只做界面变更显示
|
||||
if (status != FileUploadStatus.UPLOADING) {
|
||||
launch {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
realm.executeTransaction {
|
||||
it.copyToRealmOrUpdate(taskBean)
|
||||
launch {
|
||||
if (taskBean.syncStatus != status) {
|
||||
taskBean.syncStatus = status
|
||||
taskBean.errMsg = message
|
||||
//赋值时间,用于查询过滤
|
||||
taskBean.operationTime = DateTimeUtil.getNowDate().time
|
||||
//同步中不进行状态记录,只做界面变更显示
|
||||
if (status != FileUploadStatus.UPLOADING) {
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
Log.e(
|
||||
"jingo",
|
||||
"数据上传更新状态change status:${status} 任务link数量:${taskBean.hadLinkDvoList.size}"
|
||||
)
|
||||
realm.executeTransaction { r ->
|
||||
val newTask =
|
||||
realm.where(TaskBean::class.java).equalTo("id", taskBean.id).findFirst()
|
||||
newTask?.let {
|
||||
it.syncStatus = taskBean.syncStatus
|
||||
it.errMsg = taskBean.errMsg
|
||||
//赋值时间,用于查询过滤
|
||||
it.operationTime = taskBean.operationTime
|
||||
r.copyToRealmOrUpdate(it)
|
||||
taskBean = realm.copyFromRealm(it)
|
||||
}
|
||||
}
|
||||
realm.close()
|
||||
}
|
||||
}
|
||||
uploadData.postValue(taskBean)
|
||||
}
|
||||
}
|
||||
|
||||
@ -116,21 +132,26 @@ class TaskUploadScope(
|
||||
return
|
||||
}
|
||||
|
||||
val realm = Realm.getDefaultInstance()
|
||||
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
realm.refresh()
|
||||
val bodyList: MutableList<EvaluationInfo> = ArrayList()
|
||||
|
||||
if (taskBean.syncStatus == FileUploadStatus.WAITING) {
|
||||
change(FileUploadStatus.UPLOADING)
|
||||
}
|
||||
Log.e("jingo", "上传link数量1 :${taskBean.hadLinkDvoList.size}")
|
||||
val newTaskBean =
|
||||
realm.where(TaskBean::class.java).equalTo("id", taskBean.id).findFirst()
|
||||
if (newTaskBean != null) {
|
||||
Log.e("jingo", "上传link数量2 :${newTaskBean.hadLinkDvoList.size}")
|
||||
taskBean = realm.copyFromRealm(newTaskBean)
|
||||
}
|
||||
|
||||
taskBean.hadLinkDvoList.forEach { hadLinkDvoBean ->
|
||||
Log.e("jingo", "数据上传遍历开始")
|
||||
|
||||
for (hadLinkDvoBean in taskBean.hadLinkDvoList) {
|
||||
Log.e("jingo", "数据上传遍历开始0${hadLinkDvoBean.linkPid}")
|
||||
val linkStatus = 1
|
||||
//存在原因标记未测评
|
||||
if (hadLinkDvoBean.reason.isNotEmpty()) {
|
||||
Log.e("jingo", "数据上传遍历开始0${hadLinkDvoBean.linkPid}")
|
||||
|
||||
//未测评
|
||||
val linkStatus = 0
|
||||
@ -142,6 +163,7 @@ class TaskUploadScope(
|
||||
markId = UUID.randomUUID().toString(),//"20065597"
|
||||
trackPhotoNumber = "",
|
||||
markGeometry = "",
|
||||
linkGeometry = "",
|
||||
featureName = "",
|
||||
problemType = 0,
|
||||
problemPhenomenon = "",
|
||||
@ -163,8 +185,6 @@ class TaskUploadScope(
|
||||
|
||||
} else {
|
||||
|
||||
Log.e("jingo", "数据上传遍历开始1${hadLinkDvoBean.linkPid}")
|
||||
|
||||
val linkStatus = hadLinkDvoBean.linkStatus
|
||||
|
||||
var s: String = "%.3f".format(hadLinkDvoBean.length)//保留一位小数(且支持四舍五入)
|
||||
@ -175,14 +195,20 @@ 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
|
||||
for (it in copyList) {
|
||||
val problemType = when (it.problemType) {
|
||||
// "错误" -> {
|
||||
// 0
|
||||
// }
|
||||
"多余" -> {
|
||||
1
|
||||
}
|
||||
"遗漏" -> {
|
||||
2
|
||||
}
|
||||
else -> {
|
||||
0
|
||||
}
|
||||
}
|
||||
|
||||
var roadClassfcation = 0
|
||||
@ -196,8 +222,10 @@ class TaskUploadScope(
|
||||
roadFunctionGrade = hadLinkDvoBean.linkInfo!!.functionLevel
|
||||
dataLevel = hadLinkDvoBean.linkInfo!!.dataLevel
|
||||
}
|
||||
|
||||
var evaluationWay = 2
|
||||
var linkGeometry = ""
|
||||
if(linkStatus == 3)
|
||||
linkGeometry = hadLinkDvoBean.geometry
|
||||
val evaluationWay = 2
|
||||
val evaluationInfo = EvaluationInfo(
|
||||
evaluationTaskId = taskBean.id.toString(),
|
||||
linkPid = hadLinkDvoBean.linkPid,//"84207223282277331"
|
||||
@ -205,6 +233,7 @@ class TaskUploadScope(
|
||||
markId = it.id,
|
||||
trackPhotoNumber = "",
|
||||
markGeometry = it.geometry,
|
||||
linkGeometry = linkGeometry,
|
||||
featureName = it.classCode,
|
||||
problemType = problemType,
|
||||
problemPhenomenon = it.phenomenon,
|
||||
@ -226,11 +255,11 @@ class TaskUploadScope(
|
||||
}
|
||||
}
|
||||
}
|
||||
Log.e("jingo", "数据上传遍历结束")
|
||||
}
|
||||
realm.close()
|
||||
|
||||
Log.e("jingo", "数据上传条数 ${bodyList.size}")
|
||||
if (bodyList.size > 0) {
|
||||
|
||||
val result = uploadManager.netApi.postRequest(bodyList)// .enqueue(object :
|
||||
// Callback<ResponseBody> {
|
||||
if (result.isSuccessful) {
|
||||
@ -240,6 +269,7 @@ class TaskUploadScope(
|
||||
change(FileUploadStatus.DONE, "上传成功")
|
||||
} else {
|
||||
change(FileUploadStatus.ERROR, "${defaultUserResponse.msg}")
|
||||
Log.e("jingo", "数据上传出错 ${defaultUserResponse.msg}")
|
||||
}
|
||||
} else {
|
||||
// handle the failure
|
||||
@ -249,13 +279,12 @@ class TaskUploadScope(
|
||||
change(FileUploadStatus.ERROR)
|
||||
}
|
||||
} else {
|
||||
change(FileUploadStatus.NONE,"无可上传数据")
|
||||
change(FileUploadStatus.NONE, "无可上传数据")
|
||||
}
|
||||
} catch (e: Throwable) {
|
||||
change(FileUploadStatus.ERROR)
|
||||
Log.e("jingo", "数据上传出错 ${e.message}")
|
||||
} finally {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -366,7 +366,7 @@ class MainViewModel @Inject constructor(
|
||||
*/
|
||||
private suspend fun getTaskBean() {
|
||||
val id = sharedPreferences.getInt(Constant.SELECT_TASK_ID, -1)
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
val res = realm.where(TaskBean::class.java).equalTo("id", id).findFirst()
|
||||
if (res != null) {
|
||||
currentTaskBean = realm.copyFromRealm(res)
|
||||
|
42
app/src/main/java/com/navinfo/omqs/ui/dialog/TimeDialog.kt
Normal file
42
app/src/main/java/com/navinfo/omqs/ui/dialog/TimeDialog.kt
Normal file
@ -0,0 +1,42 @@
|
||||
package com.navinfo.omqs.ui.dialog
|
||||
|
||||
import android.app.Dialog
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import android.widget.DatePicker
|
||||
import android.widget.TextView
|
||||
import android.widget.TimePicker
|
||||
import com.navinfo.omqs.R
|
||||
|
||||
interface OnTimeDialogListener {
|
||||
}
|
||||
|
||||
class TimeDialog(context: Context) : Dialog(context), View.OnClickListener {
|
||||
|
||||
private lateinit var dataPicker: DatePicker
|
||||
private lateinit var timePicker: TimePicker
|
||||
private var timeText = ""
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
val customFrame = View.inflate(context, R.layout.dialog_time_layout, null)
|
||||
dataPicker = customFrame.findViewById(R.id.time_dialog_data_picker)
|
||||
timePicker = customFrame.findViewById(R.id.time_dialog_time_picker)
|
||||
customFrame.findViewById<TextView>(R.id.time_dialog_ok).setOnClickListener(this)
|
||||
customFrame.findViewById<TextView>(R.id.time_dialog_cancel).setOnClickListener(this)
|
||||
setContentView(customFrame)
|
||||
}
|
||||
|
||||
override fun onClick(v: View) {
|
||||
when (v.id) {
|
||||
R.id.time_dialog_ok -> {
|
||||
// dataPicker.
|
||||
dismiss()
|
||||
}
|
||||
R.id.time_dialog_cancel -> {
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -5,6 +5,7 @@ import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.navinfo.collect.library.data.entity.QsRecordBean
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import com.navinfo.omqs.db.RealmOperateHelper
|
||||
import com.navinfo.omqs.tools.FileManager
|
||||
import com.navinfo.omqs.util.DateTimeUtil
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
@ -13,7 +14,9 @@ import kotlinx.coroutines.launch
|
||||
import javax.inject.Inject
|
||||
|
||||
@HiltViewModel
|
||||
class ConsoleViewModel @Inject constructor() : ViewModel() {
|
||||
class ConsoleViewModel @Inject constructor(
|
||||
private val realmOperateHelper: RealmOperateHelper
|
||||
) : ViewModel() {
|
||||
/**
|
||||
* 当前任务量统计
|
||||
*/
|
||||
@ -26,7 +29,7 @@ class ConsoleViewModel @Inject constructor() : ViewModel() {
|
||||
|
||||
init {
|
||||
viewModelScope.launch {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
val nowTime: Long = DateTimeUtil.getNowDate().time
|
||||
val beginNowTime: Long = nowTime - 90 * 3600 * 24 * 1000L
|
||||
val syncUpload: Int = FileManager.Companion.FileUploadStatus.DONE
|
||||
|
@ -129,8 +129,10 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
liveDataQsRecordBean.value!!.geometry =
|
||||
GeometryTools.createGeometry(point).toText()
|
||||
mapController.markerHandle.addMarker(point, TAG)
|
||||
viewModelScope.launch {
|
||||
captureLink(point)
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val realm = realmOperateHelper.getSelectTaskRealmInstance()
|
||||
captureLink(realm, point)
|
||||
realm.close()
|
||||
}
|
||||
}
|
||||
|
||||
@ -151,17 +153,20 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
* 查询数据库,获取问题分类
|
||||
*/
|
||||
fun initNewData(bean: SignBean?, filePath: String) {
|
||||
|
||||
//查询元数据
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
/**
|
||||
* 获取当前所选的任务
|
||||
*/
|
||||
val taskId = sharedPreferences.getInt(Constant.SELECT_TASK_ID, -1)
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
|
||||
val objects = realm.where(TaskBean::class.java).equalTo("id", taskId).findFirst()
|
||||
if (objects != null) {
|
||||
liveDataTaskBean.postValue(realm.copyFromRealm(objects))
|
||||
}
|
||||
realm.close()
|
||||
//获取当前定位点
|
||||
val geoPoint = mapController.locationLayerHandler.getCurrentGeoPoint()
|
||||
//如果不是从面板进来的
|
||||
@ -171,11 +176,13 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
GeometryTools.createGeometry(it).toText()
|
||||
withContext(Dispatchers.Main) {
|
||||
mapController.markerHandle.addMarker(geoPoint, TAG)
|
||||
mapController.animationHandler.animationByLatLon(
|
||||
geoPoint.latitude, geoPoint.longitude
|
||||
)
|
||||
// mapController.animationHandler.animationByLatLon(
|
||||
// geoPoint.latitude, geoPoint.longitude
|
||||
// )
|
||||
}
|
||||
captureLink(geoPoint)
|
||||
val realm = realmOperateHelper.getSelectTaskRealmInstance()
|
||||
captureLink(realm, geoPoint)
|
||||
realm.close()
|
||||
}
|
||||
} else {
|
||||
liveDataQsRecordBean.value?.run {
|
||||
@ -184,7 +191,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
if (linkId.isNotEmpty()) {
|
||||
viewModelScope.launch {
|
||||
val link = realmOperateHelper.queryLink(linkId)
|
||||
if(link != null){
|
||||
if (link != null) {
|
||||
mapController.lineHandler.showLine(link.geometry)
|
||||
}
|
||||
}
|
||||
@ -200,44 +207,46 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
getClassTypeList(bean)
|
||||
getProblemLinkList()
|
||||
realm.close()
|
||||
addChatMsgEntity(filePath)
|
||||
}
|
||||
addChatMsgEntity(filePath)
|
||||
}
|
||||
|
||||
/**
|
||||
* 捕捉道路或新增评测link
|
||||
*/
|
||||
private suspend fun captureLink(point: GeoPoint) {
|
||||
private suspend fun captureLink(realm: Realm, point: GeoPoint) {
|
||||
Log.e("jingo", "捕捉道路SSS")
|
||||
if (liveDataTaskBean.value == null) {
|
||||
liveDataToastMessage.postValue("请先选择所属任务!")
|
||||
return
|
||||
}
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
liveDataQsRecordBean.value?.let {
|
||||
val realm = realmOperateHelper.getSelectTaskRealmInstance()
|
||||
val taskLink =
|
||||
realmOperateHelper.captureTaskLink(point)
|
||||
realmOperateHelper.captureTaskLink(point, taskId = liveDataTaskBean.value!!.id)
|
||||
if (taskLink != null) {
|
||||
it.linkId = taskLink.linkPid
|
||||
mapController.lineHandler.showLine(taskLink.geometry)
|
||||
Log.e("jingo", "捕捉道路EEE 1")
|
||||
return
|
||||
} else {
|
||||
val linkList = realmOperateHelper.queryLink(realm,point = point)
|
||||
val linkList = realmOperateHelper.queryLink(realm, point = point)
|
||||
if (linkList.isNotEmpty()) {
|
||||
it.linkId = linkList[0].properties[LinkTable.linkPid] ?: ""
|
||||
mapController.lineHandler.showLine(linkList[0].geometry)
|
||||
Log.e("jingo", "捕捉道路EEE 2")
|
||||
return
|
||||
}
|
||||
}
|
||||
it.linkId = ""
|
||||
mapController.lineHandler.removeLine()
|
||||
realm.close()
|
||||
}
|
||||
}
|
||||
Log.e("jingo", "捕捉道路EEE 3")
|
||||
}
|
||||
|
||||
/**
|
||||
@ -245,6 +254,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
*/
|
||||
fun getClassTypeList(bean: SignBean? = null) {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
Log.e("jingo", "获取问题分类列表 SSS")
|
||||
val list = roomAppDatabase.getScProblemTypeDao().findClassTypeList()
|
||||
list?.let {
|
||||
if (list.isNotEmpty()) {
|
||||
@ -273,6 +283,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
getProblemList(classType)
|
||||
}
|
||||
}
|
||||
Log.e("jingo", "获取问题分类列表 EEE")
|
||||
}
|
||||
}
|
||||
|
||||
@ -281,6 +292,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
*/
|
||||
fun getProblemLinkList() {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
Log.e("jingo", "获取问题环节列表 SSS")
|
||||
val list = roomAppDatabase.getScRootCauseAnalysisDao().findAllData()
|
||||
list?.let { tl ->
|
||||
if (tl.isNotEmpty()) {
|
||||
@ -307,6 +319,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
liveDataRightTypeList.postValue(rightList)
|
||||
}
|
||||
}
|
||||
Log.e("jingo", "获取问题环节列表 EEE")
|
||||
}
|
||||
}
|
||||
|
||||
@ -314,6 +327,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
* 获取问题类型列表和问题现象
|
||||
*/
|
||||
private suspend fun getProblemList(classType: String) {
|
||||
Log.e("jingo", "获取问题类型列表和问题现象 SSS")
|
||||
val typeList = roomAppDatabase.getScProblemTypeDao().findProblemTypeList(classType)
|
||||
typeList?.let { tl ->
|
||||
if (tl.isNotEmpty()) {
|
||||
@ -340,6 +354,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
liveDataRightTypeList.postValue(phenomenonRightList)
|
||||
}
|
||||
}
|
||||
Log.e("jingo", "获取问题类型列表和问题现象 EEE")
|
||||
}
|
||||
|
||||
/**
|
||||
@ -404,7 +419,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
return@launch
|
||||
}
|
||||
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
liveDataQsRecordBean.value!!.taskId = liveDataTaskBean.value!!.id
|
||||
liveDataQsRecordBean.value!!.checkTime = DateTimeUtil.getDataTime()
|
||||
liveDataQsRecordBean.value!!.checkUserId = Constant.USER_REAL_NAME
|
||||
@ -413,6 +428,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
}
|
||||
mapController.markerHandle.addOrUpdateQsRecordMark(liveDataQsRecordBean.value!!)
|
||||
liveDataFinish.postValue(true)
|
||||
realm.refresh()
|
||||
realm.close()
|
||||
}
|
||||
}
|
||||
@ -428,7 +444,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
override fun onClick(dialog: Dialog?, which: Int) {
|
||||
mDialog.dismiss()
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
realm.executeTransaction {
|
||||
val objects = it.where(QsRecordBean::class.java)
|
||||
.equalTo("id", liveDataQsRecordBean.value?.id).findFirst()
|
||||
@ -453,7 +469,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
Log.e("jingo", "捕捉到的要素 id = $id")
|
||||
viewModelScope.launch(Dispatchers.Main) {
|
||||
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
|
||||
val objects = realm.where(QsRecordBean::class.java).equalTo("id", id).findFirst()
|
||||
Log.e("jingo", "查询数据 id= $id")
|
||||
@ -666,7 +682,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
if (oldBean == null) {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val taskId = sharedPreferences.getInt(Constant.SELECT_TASK_ID, -1)
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
val objects =
|
||||
realm.where(TaskBean::class.java).equalTo("id", taskId).findFirst()
|
||||
if (objects != null) {
|
||||
|
@ -7,6 +7,7 @@ import androidx.lifecycle.viewModelScope
|
||||
import com.navinfo.collect.library.data.entity.NoteBean
|
||||
import com.navinfo.collect.library.map.NIMapController
|
||||
import com.navinfo.collect.library.utils.MapParamUtils
|
||||
import com.navinfo.omqs.db.RealmOperateHelper
|
||||
import com.navinfo.omqs.ui.dialog.FirstDialog
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import io.realm.Realm
|
||||
@ -16,7 +17,8 @@ import javax.inject.Inject
|
||||
|
||||
@HiltViewModel
|
||||
class NoteViewModel @Inject constructor(
|
||||
val mapController: NIMapController
|
||||
private val mapController: NIMapController,
|
||||
private val realmOperateHelper: RealmOperateHelper
|
||||
) : ViewModel() {
|
||||
|
||||
lateinit var canvasView: CanvasView
|
||||
@ -111,7 +113,7 @@ class NoteViewModel @Inject constructor(
|
||||
}
|
||||
noteBean.taskId = MapParamUtils.getTaskId()
|
||||
mNoteBean = noteBean
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
realm.executeTransaction {
|
||||
it.copyToRealmOrUpdate(noteBean)
|
||||
}
|
||||
@ -138,7 +140,7 @@ class NoteViewModel @Inject constructor(
|
||||
) { dialog, _ ->
|
||||
dialog.dismiss()
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
realm.executeTransaction {
|
||||
val objects = it.where(NoteBean::class.java)
|
||||
.equalTo("id", mNoteBean!!.id).findFirst()
|
||||
@ -159,7 +161,7 @@ class NoteViewModel @Inject constructor(
|
||||
*/
|
||||
fun initData(id: String) {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
realm.executeTransaction { it ->
|
||||
val objects = it.where(NoteBean::class.java)
|
||||
.equalTo("id", id).findFirst()
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.navinfo.omqs.ui.fragment.personalcenter
|
||||
|
||||
import android.Manifest
|
||||
import android.app.TimePickerDialog
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
@ -8,6 +9,7 @@ import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.TimePicker
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.core.view.forEach
|
||||
@ -19,6 +21,7 @@ import com.blankj.utilcode.util.UriUtils
|
||||
import com.github.k1rakishou.fsaf.FileChooser
|
||||
import com.github.k1rakishou.fsaf.callback.FSAFActivityCallbacks
|
||||
import com.github.k1rakishou.fsaf.callback.FileChooserCallback
|
||||
import com.google.android.material.timepicker.MaterialTimePicker
|
||||
import com.navinfo.collect.library.enums.DataLayerEnum
|
||||
import com.navinfo.collect.library.map.NIMapController
|
||||
import com.navinfo.collect.library.utils.MapParamUtils
|
||||
@ -30,6 +33,7 @@ import com.navinfo.omqs.hilt.ImportOMDBHiltFactory
|
||||
import com.navinfo.omqs.tools.CoroutineUtils
|
||||
import com.navinfo.omqs.ui.activity.map.MainViewModel
|
||||
import com.navinfo.omqs.ui.activity.scan.QrCodeActivity
|
||||
import com.navinfo.omqs.ui.dialog.TimeDialog
|
||||
import com.navinfo.omqs.ui.fragment.BaseFragment
|
||||
import com.permissionx.guolindev.PermissionX
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
@ -142,7 +146,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
|
||||
niMapController.mMapView.vtmMap.eventLayer.enableTilt(Constant.MapRotateEnable)
|
||||
niMapController.mMapView.vtmMap.eventLayer.enableRotation(Constant.MapRotateEnable)
|
||||
Constant.MapRotateEnable = !Constant.MapRotateEnable
|
||||
if (Constant.MapRotateEnable) {
|
||||
if (Constant.MapRotateEnable) {
|
||||
val mapPosition: MapPosition =
|
||||
niMapController.mMapView.vtmMap.getMapPosition()
|
||||
mapPosition.setBearing(0f) // 锁定角度,自动将地图旋转到正北方向
|
||||
@ -201,13 +205,18 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
|
||||
indoorDataListener?.invoke(true)
|
||||
}
|
||||
//导航定位测试
|
||||
R.id.personal_center_menu_location_test ->{
|
||||
// viewModel.
|
||||
R.id.personal_center_menu_location_test -> {
|
||||
val dialog = TimeDialog(
|
||||
requireContext(),
|
||||
)
|
||||
dialog.show()
|
||||
}
|
||||
}
|
||||
true
|
||||
}
|
||||
|
||||
|
||||
|
||||
viewModel.liveDataMessage.observe(viewLifecycleOwner) {
|
||||
ToastUtils.showShort(it)
|
||||
}
|
||||
@ -228,7 +237,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
|
||||
it.title = "锁定地图旋转及视角"
|
||||
}
|
||||
}
|
||||
R.id.personal_center_menu_catch_all->{
|
||||
R.id.personal_center_menu_catch_all -> {
|
||||
if (Constant.CATCH_ALL) {
|
||||
it.title = "关闭全要素捕捉"
|
||||
} else {
|
||||
|
@ -12,6 +12,7 @@ import com.blankj.utilcode.util.ToastUtils
|
||||
import com.navinfo.collect.library.data.entity.QsRecordBean
|
||||
import com.navinfo.omqs.Constant
|
||||
import com.navinfo.omqs.R
|
||||
import com.navinfo.omqs.db.RealmOperateHelper
|
||||
import com.navinfo.omqs.ui.activity.map.MainActivity
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import io.realm.Realm
|
||||
@ -21,7 +22,8 @@ import javax.inject.Inject
|
||||
|
||||
@HiltViewModel
|
||||
class QsRecordListViewModel @Inject constructor(
|
||||
private val sharedPreferences: SharedPreferences
|
||||
private val sharedPreferences: SharedPreferences,
|
||||
private val realmOperateHelper: RealmOperateHelper
|
||||
) : ViewModel() {
|
||||
|
||||
val liveDataQSList = MutableLiveData<List<QsRecordBean>>()
|
||||
@ -29,7 +31,7 @@ class QsRecordListViewModel @Inject constructor(
|
||||
fun getList(context: Context) {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val taskId = sharedPreferences.getInt(Constant.SELECT_TASK_ID, -1)
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
val objects = realm.where(QsRecordBean::class.java).equalTo("taskId",taskId).findAll()
|
||||
liveDataQSList.postValue(realm.copyFromRealm(objects))
|
||||
realm.close()
|
||||
|
@ -2,6 +2,7 @@ package com.navinfo.omqs.ui.fragment.tasklink
|
||||
|
||||
import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
import android.util.Log
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
@ -13,6 +14,7 @@ import com.navinfo.collect.library.map.NIMapController
|
||||
import com.navinfo.collect.library.map.handler.MeasureLayerHandler
|
||||
import com.navinfo.collect.library.utils.GeometryTools
|
||||
import com.navinfo.omqs.Constant
|
||||
import com.navinfo.omqs.db.RealmOperateHelper
|
||||
import com.navinfo.omqs.ui.dialog.FirstDialog
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import io.realm.Realm
|
||||
@ -25,7 +27,8 @@ import javax.inject.Inject
|
||||
@HiltViewModel
|
||||
class TaskLinkViewModel @Inject constructor(
|
||||
private val mapController: NIMapController,
|
||||
private val sharedPreferences: SharedPreferences
|
||||
private val sharedPreferences: SharedPreferences,
|
||||
private val realmOperateHelper: RealmOperateHelper
|
||||
) : ViewModel(), SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
|
||||
/**
|
||||
@ -120,7 +123,7 @@ class TaskLinkViewModel @Inject constructor(
|
||||
private fun getTaskBean() {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val id = sharedPreferences.getInt(Constant.SELECT_TASK_ID, -1)
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
val res = realm.where(TaskBean::class.java).equalTo("id", id).findFirst()
|
||||
liveDataTaskBean.postValue(res?.let { realm.copyFromRealm(it) })
|
||||
realm.close()
|
||||
@ -225,17 +228,19 @@ class TaskLinkViewModel @Inject constructor(
|
||||
}
|
||||
|
||||
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
realm.executeTransaction {
|
||||
it.copyToRealmOrUpdate(hadLinkDvoBean)
|
||||
it.copyToRealmOrUpdate(task)
|
||||
Log.e("jingo", "当前任务link数量:${task.hadLinkDvoList.size}")
|
||||
}
|
||||
realm.refresh()
|
||||
realm.close()
|
||||
mapController.lineHandler.addTaskLink(hadLinkDvoBean!!)
|
||||
sharedPreferences.edit()
|
||||
.putString(Constant.SHARED_SYNC_TASK_LINK_ID, hadLinkDvoBean!!.linkPid)
|
||||
.apply()
|
||||
liveDataFinish.postValue(true)
|
||||
realm.close()
|
||||
}
|
||||
}
|
||||
|
||||
@ -267,7 +272,7 @@ class TaskLinkViewModel @Inject constructor(
|
||||
*/
|
||||
fun initData(id: String) {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
val objects =
|
||||
realm.where(HadLinkDvoBean::class.java).equalTo("linkPid", id)
|
||||
.findFirst()
|
||||
@ -298,7 +303,7 @@ class TaskLinkViewModel @Inject constructor(
|
||||
if (task != null) {
|
||||
liveDataTaskBean.postValue(realm.copyFromRealm(task))
|
||||
}
|
||||
if(objects != null) {
|
||||
if (objects != null) {
|
||||
hadLinkDvoBean = realm.copyFromRealm(objects)
|
||||
withContext(Dispatchers.Main) {
|
||||
mapController.measureLayerHandler.initPathLine(hadLinkDvoBean?.geometry!!)
|
||||
@ -324,7 +329,7 @@ class TaskLinkViewModel @Inject constructor(
|
||||
) { _, _ ->
|
||||
mDialog.dismiss()
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
realm.executeTransaction {
|
||||
//先找到对应的任务
|
||||
val task = it.where(TaskBean::class.java).equalTo("id", hadLinkDvoBean!!.taskId)
|
||||
|
@ -166,7 +166,7 @@ class TaskViewModel @Inject constructor(
|
||||
when (val result = networkService.getTaskList(Constant.USER_ID)) {
|
||||
is NetResult.Success -> {
|
||||
if (result.data != null) {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
realm.executeTransaction {
|
||||
result.data.obj?.let { list ->
|
||||
for (index in list.indices) {
|
||||
@ -228,7 +228,7 @@ class TaskViewModel @Inject constructor(
|
||||
* 获取任务列表
|
||||
*/
|
||||
private suspend fun getLocalTaskList() {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
//过滤掉已上传的超过90天的数据
|
||||
val nowTime: Long = DateTimeUtil.getNowDate().time
|
||||
val beginNowTime: Long = nowTime - 90 * 3600 * 24 * 1000L
|
||||
@ -365,7 +365,7 @@ class TaskViewModel @Inject constructor(
|
||||
item.reason = text
|
||||
}
|
||||
}
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
realm.executeTransaction { r ->
|
||||
r.copyToRealmOrUpdate(it)
|
||||
}
|
||||
@ -382,7 +382,7 @@ class TaskViewModel @Inject constructor(
|
||||
if (filterTaskListJob != null) filterTaskListJob!!.cancel()
|
||||
filterTaskListJob = viewModelScope.launch(Dispatchers.IO) {
|
||||
delay(500)
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
val list = realm.where(TaskBean::class.java).contains("evaluationTaskName", key).or()
|
||||
.contains("dataVersion", key).or().contains("cityName", key).findAll()
|
||||
liveDataTaskList.postValue(realm.copyFromRealm(list))
|
||||
@ -419,7 +419,7 @@ class TaskViewModel @Inject constructor(
|
||||
) { dialog, _ ->
|
||||
dialog.dismiss()
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
realm.executeTransaction {
|
||||
val objects =
|
||||
it.where(TaskBean::class.java).equalTo("id", taskBean.id).findFirst()
|
||||
@ -467,7 +467,7 @@ class TaskViewModel @Inject constructor(
|
||||
|
||||
fun checkUploadTask(context: Context, taskBean: TaskBean) {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
var result = 0
|
||||
val map: MutableMap<TaskBean, Boolean> = HashMap<TaskBean, Boolean>()
|
||||
taskBean.hadLinkDvoList.forEach { hadLinkDvoBean ->
|
||||
@ -563,7 +563,7 @@ class TaskViewModel @Inject constructor(
|
||||
currentSelectTaskBean!!.hadLinkDvoList.add(
|
||||
hadLinkDvoBean
|
||||
)
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
realm.executeTransaction { r ->
|
||||
r.copyToRealmOrUpdate(hadLinkDvoBean)
|
||||
r.copyToRealmOrUpdate(currentSelectTaskBean!!)
|
||||
@ -621,7 +621,7 @@ class TaskViewModel @Inject constructor(
|
||||
dialog.dismiss()
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
|
||||
//重置数据为隐藏
|
||||
if (hadLinkDvoBean.linkStatus == 2) {
|
||||
|
76
app/src/main/res/layout/dialog_time_layout.xml
Normal file
76
app/src/main/res/layout/dialog_time_layout.xml
Normal file
@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/white"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp"
|
||||
android:text="请选择时间"
|
||||
android:textSize="16sp" />
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/gray"
|
||||
android:gravity="center"
|
||||
/>
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<DatePicker
|
||||
android:id="@+id/time_dialog_data_picker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<TimePicker
|
||||
android:id="@+id/time_dialog_time_picker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent" />
|
||||
</LinearLayout>
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/gray"
|
||||
android:gravity="center"
|
||||
/>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time_dialog_cancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="取消"
|
||||
android:textSize="18sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="20dp"
|
||||
android:background="@color/gray"
|
||||
android:gravity="center"
|
||||
/>
|
||||
<TextView
|
||||
android:id="@+id/time_dialog_ok"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/blue"
|
||||
android:text="确定"
|
||||
android:textSize="18sp" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
Loading…
x
Reference in New Issue
Block a user