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