Merge branch 'master' of gitlab.navinfo.com:CollectVehicle/OneMapQS

This commit is contained in:
xiaoyan 2023-10-09 11:07:50 +08:00
commit b2d7b8af47
8 changed files with 170 additions and 154 deletions

View File

@ -39,6 +39,7 @@ class RealmOperateHelper() {
* */
@RequiresApi(Build.VERSION_CODES.N)
suspend fun queryLink(
realm: Realm,
point: GeoPoint,
buffer: Double = DEFAULT_BUFFER,
bufferType: BUFFER_TYPE = DEFAULT_BUFFER_TYPE,
@ -63,9 +64,9 @@ class RealmOperateHelper() {
val yStart = tileYSet.stream().min(Comparator.naturalOrder()).orElse(null)
val yEnd = tileYSet.stream().max(Comparator.naturalOrder()).orElse(null)
// 查询realm中对应tile号的数据
val realm = getSelectTaskRealmInstance()
// val realm = getSelectTaskRealmInstance()
val realmList =
getSelectTaskRealmTools(RenderEntity::class.java, false)
getSelectTaskRealmTools(realm, RenderEntity::class.java, false)
.equalTo("table", DataCodeEnum.OMDB_LINK_DIRECT.name)
.greaterThanOrEqualTo("tileX", xStart)
.lessThanOrEqualTo("tileX", xEnd)
@ -74,7 +75,7 @@ class RealmOperateHelper() {
.findAll()
// 将获取到的数据和查询的polygon做相交只返回相交的数据
val dataList = realm.copyFromRealm(realmList)
realm.close()
// realm.close()
val queryResult = dataList?.stream()?.filter {
polygon.intersects(it.wkt)
@ -132,7 +133,7 @@ class RealmOperateHelper() {
val yEnd = tileYSet.stream().max(Comparator.naturalOrder()).orElse(null)
// 查询realm中对应tile号的数据
val realm = getSelectTaskRealmInstance()
val realmList = getSelectTaskRealmTools(RenderEntity::class.java, true)
val realmList = getSelectTaskRealmTools(realm, RenderEntity::class.java, true)
.equalTo("table", table)
.greaterThanOrEqualTo("tileX", xStart)
.lessThanOrEqualTo("tileX", xEnd)
@ -228,12 +229,14 @@ class RealmOperateHelper() {
return qsRecordBean
}
suspend fun queryLinkToMutableRenderEntityList(linkPid: String): MutableList<RenderEntity>? {
suspend fun queryLinkToMutableRenderEntityList(
realm: Realm,
linkPid: String
): MutableList<RenderEntity>? {
val resultList = mutableListOf<RenderEntity>()
// val realm = getSelectTaskRealmInstance()
val realm = getSelectTaskRealmInstance()
val realmR = getSelectTaskRealmTools(RenderEntity::class.java, true)
val realmR = getSelectTaskRealmTools(realm, RenderEntity::class.java, true)
.equalTo("properties['${LinkTable.linkPid}']", linkPid).findAll()
val dataList = realm.copyFromRealm(realmR)
@ -242,7 +245,7 @@ class RealmOperateHelper() {
resultList.add(it)
}
realm.close()
// realm.close()
return resultList
}
@ -280,7 +283,7 @@ class RealmOperateHelper() {
val yEnd = tileYSet.stream().max(Comparator.naturalOrder()).orElse(null)
val realm = getSelectTaskRealmInstance()
var realmList = mutableListOf<RenderEntity>()
val realmQuery = getSelectTaskRealmTools(RenderEntity::class.java, false)
val realmQuery = getSelectTaskRealmTools(realm, RenderEntity::class.java, false)
.greaterThanOrEqualTo("tileX", xStart)
.lessThanOrEqualTo("tileX", xEnd)
.greaterThanOrEqualTo("tileY", yStart)
@ -299,10 +302,12 @@ class RealmOperateHelper() {
}
// 将获取到的数据和查询的polygon做相交只返回相交的数据
val queryResult = realmList?.stream()?.filter {
if(Constant.MapCatchLine){
polygon.intersects(it.wkt) && it.wkt?.geometryType?.uppercase().equals("LINESTRING")||it.wkt?.geometryType?.uppercase().equals("POLYGON")
}else{
polygon.intersects(it.wkt) && it.wkt?.geometryType?.uppercase().equals("POINT")||it.wkt?.geometryType?.uppercase().equals("POLYGON")
if (Constant.MapCatchLine) {
polygon.intersects(it.wkt) && it.wkt?.geometryType?.uppercase()
.equals("LINESTRING") || it.wkt?.geometryType?.uppercase().equals("POLYGON")
} else {
polygon.intersects(it.wkt) && it.wkt?.geometryType?.uppercase()
.equals("POINT") || it.wkt?.geometryType?.uppercase().equals("POLYGON")
}
}?.toList()
queryResult?.let {
@ -323,15 +328,13 @@ class RealmOperateHelper() {
* @param bufferType 点位外扩距离的单位 -Meter像素-PIXEL
* @param sort 是否需要排序
* */
suspend fun queryLinkByLinkPid(linkPid: String): MutableList<RenderEntity> {
suspend fun queryLinkByLinkPid(realm: Realm,linkPid: String): MutableList<RenderEntity> {
val result = mutableListOf<RenderEntity>()
val realm = getSelectTaskRealmInstance()
val realmList = getSelectTaskRealmTools(RenderEntity::class.java, false)
val realmList = getSelectTaskRealmTools(realm, RenderEntity::class.java, false)
.notEqualTo("table", DataCodeEnum.OMDB_RD_LINK.name)
.equalTo("properties['${LinkTable.linkPid}']", linkPid)
.findAll()
result.addAll(realm.copyFromRealm(realmList))
realm.close()
return result
}
@ -426,19 +429,20 @@ class RealmOperateHelper() {
fun <E : RealmModel> getSelectTaskRealmTools(
realm: Realm,
clazz: Class<E>,
enableSql: Boolean
): RealmQuery<E> {
var realmQuery = getSelectTaskRealmInstance().where(clazz)
val realmQuery = realm.where(clazz)
if (MapParamUtils.getDataLayerEnum() != null) {
if (enableSql) {
var sql =
" enable${MapParamUtils.getDataLayerEnum().sql}"
getSelectTaskRealmInstance().where(clazz).rawPredicate(sql)
realm.where(clazz).rawPredicate(sql)
}
}
if(clazz.name==RenderEntity::class.jvmName){
if (clazz.name == RenderEntity::class.jvmName) {
// 筛选不显示的数据
if (com.navinfo.collect.library.system.Constant.HAD_LAYER_INVISIABLE_ARRAY != null && com.navinfo.collect.library.system.Constant.HAD_LAYER_INVISIABLE_ARRAY.size > 0) {
realmQuery.beginGroup()

View File

@ -50,17 +50,11 @@ import io.realm.Realm
import io.realm.RealmConfiguration
import io.realm.RealmSet
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.launch
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.withContext
import org.locationtech.jts.geom.Envelope
import org.locationtech.jts.geom.Geometry
import org.locationtech.jts.geom.LineString
import org.locationtech.spatial4j.shape.Rectangle
import org.oscim.core.GeoPoint
import org.oscim.core.MapPosition
import org.oscim.map.Map
@ -637,7 +631,7 @@ class MainViewModel @Inject constructor(
private suspend fun captureItem(point: GeoPoint) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
var buffer = 3.2
if(mapController.mMapView.mapLevel>=18){
if (mapController.mMapView.mapLevel >= 18) {
buffer = 2.0
}
val itemList = realmOperateHelper.queryElement(
@ -677,9 +671,9 @@ class MainViewModel @Inject constructor(
val topSignList = mutableListOf<SignBean>()
mapController.lineHandler.linksLayer.clear()
if (linkIdCache != route.linkId) {
val realm = realmOperateHelper.getSelectTaskRealmInstance()
mapController.lineHandler.showLine(route.pointList)
var elementList = realmOperateHelper.queryLinkByLinkPid(route.linkId)
val elementList = realmOperateHelper.queryLinkByLinkPid(realm, route.linkId)
for (element in elementList) {
when (element.code) {
@ -749,6 +743,7 @@ class MainViewModel @Inject constructor(
speakMode?.speakText(speechText)
}
linkIdCache = route.linkId ?: ""
realm.close()
}
}
} catch (e: Exception) {
@ -769,8 +764,8 @@ class MainViewModel @Inject constructor(
captureLinkState = true
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
val linkList = realmOperateHelper.queryLink(point = point)
val realm = realmOperateHelper.getSelectTaskRealmInstance()
val linkList = realmOperateHelper.queryLink(realm, point = point)
var hisRoadName = false
@ -807,7 +802,8 @@ class MainViewModel @Inject constructor(
val newLineString = GeometryTools.createLineString(linePoints)
linkId?.let {
var elementList = realmOperateHelper.queryLinkByLinkPid(it)
val elementList = realmOperateHelper.queryLinkByLinkPid(realm, it)
Log.e("jingo", "捕捉到数据 ${elementList.size}")
for (element in elementList) {
if (element.code == DataCodeEnum.OMDB_LINK_NAME.code) {
hisRoadName = true
@ -824,7 +820,10 @@ class MainViewModel @Inject constructor(
newLineString,
element
)
// Log.e("jingo", "捕捉到的数据code ${element.code}")
Log.e(
"jingo",
"捕捉到的数据code ${DataCodeEnum.findTableNameByCode(element.code)}"
)
when (element.code) {
DataCodeEnum.OMDB_MULTI_DIGITIZED.code,//上下线分离
DataCodeEnum.OMDB_CON_ACCESS.code,//全封闭
@ -887,10 +886,10 @@ class MainViewModel @Inject constructor(
}
val realm = realmOperateHelper.getSelectTaskRealmInstance()
// val realm = realmOperateHelper.getSelectTaskRealmInstance()
val entityList = realmOperateHelper.getSelectTaskRealmTools(
RenderEntity::class.java, true
realm, RenderEntity::class.java, true
).and().equalTo("table", DataCodeEnum.OMDB_RESTRICTION.name).and()
.equalTo(
"properties['linkIn']", it
@ -901,7 +900,7 @@ class MainViewModel @Inject constructor(
val outLink = outList[i].properties["linkOut"]
val linkOutEntity =
realmOperateHelper.getSelectTaskRealmTools(
RenderEntity::class.java,
realm, RenderEntity::class.java,
true
)
.equalTo("table", DataCodeEnum.OMDB_RD_LINK_KIND.name)
@ -919,8 +918,8 @@ class MainViewModel @Inject constructor(
mapController.lineHandler.linksLayer.addLine(
link.geometry, Color.BLUE
)
realm.close()
}
}
liveDataTopSignList.postValue(topSignList.distinctBy { it.name }
@ -941,6 +940,7 @@ class MainViewModel @Inject constructor(
if (!hisRoadName) {
liveDataRoadName.postValue(null)
}
realm.close()
}
} catch (e: Exception) {

View File

@ -218,7 +218,7 @@ class EvaluationResultViewModel @Inject constructor(
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
liveDataQsRecordBean.value?.let {
val realm = realmOperateHelper.getSelectTaskRealmInstance()
val taskLink =
realmOperateHelper.captureTaskLink(point)
if (taskLink != null) {
@ -226,7 +226,7 @@ class EvaluationResultViewModel @Inject constructor(
mapController.lineHandler.showLine(taskLink.geometry)
return
} else {
val linkList = realmOperateHelper.queryLink(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)
@ -235,6 +235,7 @@ class EvaluationResultViewModel @Inject constructor(
}
it.linkId = ""
mapController.lineHandler.removeLine()
realm.close()
}
}
}

View File

@ -275,7 +275,7 @@ class PersonalCenterViewModel @Inject constructor(
liveDataMessage.postValue("元数据表导入成功")
roomAppDatabase.getScRootCauseAnalysisDao().insertOrUpdateList(list2)
}
if(list3.isNotEmpty()){
if (list3.isNotEmpty()) {
liveDataMessage.postValue("标牌对照表导入成功")
roomAppDatabase.getScWarningCodeDao().insertList(list3)
}
@ -295,7 +295,9 @@ class PersonalCenterViewModel @Inject constructor(
fun readRealmData() {
viewModelScope.launch(Dispatchers.IO) {
// val result = realmOperateHelper.queryLink(GeometryTools.createPoint(115.685817,28.62759))
val result = realmOperateHelper.queryLinkByLinkPid("84206617008217069")
val realm = realmOperateHelper.getSelectTaskRealmInstance()
val result = realmOperateHelper.queryLinkByLinkPid(realm, "84206617008217069")
realm.close()
Log.d("xiaoyan", result.toString())
}
}

View File

@ -76,6 +76,11 @@ class TaskFragment : BaseFragment() {
binding.taskAddLink.isSelected = it
}
viewModel.liveDataAddLinkDialog.observe(viewLifecycleOwner){
viewModel.addTaskLink(requireContext(),it)
}
//注意:使用滑动菜单不能开启滑动删除,否则只有滑动删除没有滑动菜单
val mSwipeMenuCreator = SwipeMenuCreator { _, rightMenu, _ ->
//添加菜单自动添加至尾部
@ -110,6 +115,7 @@ class TaskFragment : BaseFragment() {
viewModel.liveDataTaskLinks.observe(viewLifecycleOwner) {
adapter.resetSelect()
adapter.refreshData(it)
// adapter.setSelectTag(it.last().linkPid)
}
viewModel.getTaskList(requireContext())
binding.taskSearch.addTextChangedListener(object : TextWatcher {

View File

@ -128,21 +128,29 @@ class TaskListAdapter(
holder.addObserver(object : OnLifecycleStateListener {
override fun onState(tag: String, state: Lifecycle.State) {
when (state) {
Lifecycle.State.STARTED ->
Lifecycle.State.STARTED -> {
uploadManager.observer(
taskBean.id,
holder,
UploadObserver(taskBean.id, binding)
)
downloadManager.observer(
taskBean.id,
holder,
DownloadObserver(taskBean.id, holder)
)
Lifecycle.State.DESTROYED ->
}
Lifecycle.State.DESTROYED -> {
downloadManager.removeObserver(tag.toInt())
uploadManager.removeObserver(tag.toInt())
}
else -> {}
}
}
})
downloadManager.addTask(taskBean)
uploadManager.addTask(taskBean)
uploadManager.observer(taskBean.id, holder, UploadObserver(taskBean.id, binding))
// uploadManager.observer(taskBean.id, holder, UploadObserver(taskBean.id, binding))
if (taskBean.status == FileDownloadStatus.NONE) {
binding.taskDownloadBtn.setBackgroundColor(Color.WHITE)
binding.taskDownloadBtn.setTextColor(Color.parseColor("#888FB3"))
@ -187,7 +195,6 @@ class TaskListAdapter(
}
}
}
@ -226,8 +233,8 @@ class TaskListAdapter(
binding.taskUploadBtn.stopAnimator()
binding.taskUploadBtn.setText("重新同步")
binding.taskUploadBtn.setProgress(100)
if(!TextUtils.isEmpty(taskBean.errMsg)){
Toast.makeText(binding.root.context,taskBean.errMsg,Toast.LENGTH_LONG).show()
if (!TextUtils.isEmpty(taskBean.errMsg)) {
Toast.makeText(binding.root.context, taskBean.errMsg, Toast.LENGTH_LONG).show()
}
}
@ -357,7 +364,7 @@ class TaskListAdapter(
refreshData(list)
}
fun getSelectTaskPosition():Int{
fun getSelectTaskPosition(): Int {
return selectPosition
}

View File

@ -88,7 +88,12 @@ class TaskViewModel @Inject constructor(
/**
* 是否开启了道路选择
*/
var liveDataSelectNewLink = MutableLiveData(false)
val liveDataSelectNewLink = MutableLiveData(false)
/**
* 选中link
*/
val liveDataAddLinkDialog = MutableLiveData<RenderEntity>()
init {
sharedPreferences.registerOnSharedPreferenceChangeListener(this)
@ -98,10 +103,11 @@ class TaskViewModel @Inject constructor(
if (tag == TAG) {
if (liveDataSelectNewLink.value == true) {
viewModelScope.launch(Dispatchers.Default) {
val realm = realmOperateHelper.getSelectTaskRealmInstance()
if (currentSelectTaskBean == null) {
liveDataToastMessage.postValue("还没有开启任何任务")
} else {
val links = realmOperateHelper.queryLink(
val links = realmOperateHelper.queryLink(realm,
point = point,
)
if (links.isNotEmpty()) {
@ -111,43 +117,15 @@ class TaskViewModel @Inject constructor(
return@launch
}
}
val hadLinkDvoBean = HadLinkDvoBean(
taskId = currentSelectTaskBean!!.id,
linkPid = l.properties["linkPid"]!!,
geometry = l.geometry,
linkStatus = 2
)
currentSelectTaskBean!!.hadLinkDvoList.add(
hadLinkDvoBean
)
val realm = Realm.getDefaultInstance()
realm.executeTransaction { r ->
r.copyToRealmOrUpdate(hadLinkDvoBean)
r.copyToRealmOrUpdate(currentSelectTaskBean!!)
}
//根据Link数据查询对应数据上要素对要素进行显示重置
l.properties["linkPid"]?.let {
realmOperateHelper.queryLinkToMutableRenderEntityList(it)
?.forEach { renderEntity ->
if (renderEntity.enable != 1) {
renderEntity.enable = 1
realm.executeTransaction { r ->
r.copyToRealmOrUpdate(renderEntity)
}
}
}
}
liveDataTaskLinks.postValue(currentSelectTaskBean!!.hadLinkDvoList)
mapController.lineHandler.addTaskLink(hadLinkDvoBean)
mapController.layerManagerHandler.updateOMDBVectorTileLayer()
mapController.mMapView.vtmMap.updateMap(true)
realm.close()
liveDataAddLinkDialog.postValue(l)
}
}
realm.close()
}
} else {
viewModelScope.launch(Dispatchers.IO) {
val links = realmOperateHelper.queryLink(
val realm = realmOperateHelper.getSelectTaskRealmInstance()
val links = realmOperateHelper.queryLink(realm,
point = point,
)
if (links.isNotEmpty()) {
@ -160,6 +138,7 @@ class TaskViewModel @Inject constructor(
}
}
}
realm.close()
}
}
}
@ -282,7 +261,7 @@ class TaskViewModel @Inject constructor(
* 设置当前选择的任务并高亮当前任务的所有link
*/
fun setSelectTaskBean( taskBean: TaskBean) {
fun setSelectTaskBean(taskBean: TaskBean) {
sharedPreferences.edit().putInt(Constant.SELECT_TASK_ID, taskBean.id).apply()
@ -291,15 +270,17 @@ class TaskViewModel @Inject constructor(
liveDataTaskLinks.value = taskBean.hadLinkDvoList
showTaskLinks(taskBean)
MapParamUtils.setTaskId(taskBean.id)
Constant.currentSelectTaskFolder = File(Constant.USER_DATA_PATH +"/${taskBean.id}")
Constant.currentSelectTaskConfig = RealmConfiguration.Builder().directory(Constant.currentSelectTaskFolder).name("OMQS.realm").encryptionKey(Constant.PASSWORD).allowQueriesOnUiThread(true).schemaVersion(2).build()
Constant.currentSelectTaskFolder = File(Constant.USER_DATA_PATH + "/${taskBean.id}")
Constant.currentSelectTaskConfig =
RealmConfiguration.Builder().directory(Constant.currentSelectTaskFolder)
.name("OMQS.realm").encryptionKey(Constant.PASSWORD).allowQueriesOnUiThread(true)
.schemaVersion(2).build()
MapParamUtils.setTaskConfig(Constant.currentSelectTaskConfig)
mapController.layerManagerHandler.updateOMDBVectorTileLayer()
mapController.mMapView.updateMap(true)
}
private fun showTaskLinks(taskBean: TaskBean) {
mapController.lineHandler.removeAllTaskLine()
@ -494,17 +475,17 @@ class TaskViewModel @Inject constructor(
realm.where(QsRecordBean::class.java).equalTo("linkId", hadLinkDvoBean.linkPid)
.and().equalTo("taskId", hadLinkDvoBean.taskId).findAll()
if (objects.isEmpty() && hadLinkDvoBean.reason.isEmpty()) {
if(hadLinkDvoBean.linkStatus==3){
if (hadLinkDvoBean.linkStatus == 3) {
result = 1
realm.close()
return@forEach
}else{
} else {
result = 2
}
}
}
realm.close()
if(result==1){
if (result == 1) {
liveDataTaskUpload.postValue(map)
withContext(Dispatchers.Main) {
val mDialog = FirstDialog(context)
@ -518,7 +499,7 @@ class TaskViewModel @Inject constructor(
mDialog.setCancelVisibility(View.GONE)
mDialog.show()
}
}else if(result==2){
} else if (result == 2) {
liveDataTaskUpload.postValue(map)
withContext(Dispatchers.Main) {
val mDialog = FirstDialog(context)
@ -536,7 +517,7 @@ class TaskViewModel @Inject constructor(
) { _, _ -> mDialog.dismiss() }
mDialog.show()
}
}else{
} else {
map[taskBean] = true
liveDataTaskUpload.postValue(map)
}
@ -559,69 +540,62 @@ class TaskViewModel @Inject constructor(
*/
fun setSelectLink(selected: Boolean) {
liveDataSelectNewLink.value = selected
// //开始捕捉
// if (selected) {
// mapController.mMapView.addOnNIMapClickListener(TAG, object : OnGeoPointClickListener {
// override fun onMapClick(tag: String, point: GeoPoint) {
// if (tag == TAG) {
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
// viewModelScope.launch(Dispatchers.Default) {
// if (currentSelectTaskBean == null) {
// liveDataToastMessage.postValue("还没有开启任何任务")
// } else {
// val links = realmOperateHelper.queryLink(
// point = point,
// )
// if (links.isNotEmpty()) {
// val l = links[0]
// for (link in currentSelectTaskBean!!.hadLinkDvoList) {
// if (link.linkPid == l.properties["linkPid"]) {
// return@launch
// }
// }
// val hadLinkDvoBean = HadLinkDvoBean(
// taskId = currentSelectTaskBean!!.id,
// linkPid = l.properties["linkPid"]!!,
// geometry = l.geometry,
// linkStatus = 2
// )
// currentSelectTaskBean!!.hadLinkDvoList.add(
// hadLinkDvoBean
// )
// val realm = Realm.getDefaultInstance()
// realm.executeTransaction { r ->
// r.copyToRealmOrUpdate(hadLinkDvoBean)
// r.copyToRealmOrUpdate(currentSelectTaskBean!!)
// }
// //根据Link数据查询对应数据上要素对要素进行显示重置
// l.properties["linkPid"]?.let {
// realmOperateHelper.queryLinkToMutableRenderEntityList(it)
// ?.forEach { renderEntity ->
// if (renderEntity.enable != 1) {
// renderEntity.enable = 1
// realm.executeTransaction { r ->
// r.copyToRealmOrUpdate(renderEntity)
// }
// }
// }
// }
// liveDataTaskLinks.postValue(currentSelectTaskBean!!.hadLinkDvoList)
// mapController.lineHandler.addTaskLink(hadLinkDvoBean)
// mapController.layerManagerHandler.updateOMDBVectorTileLayer()
// mapController.mMapView.vtmMap.updateMap(true)
// }
// }
// }
// }
// }
// }
// })
// } else {
// mapController.mMapView.removeOnNIMapClickListener(TAG)
// mapController.lineHandler.removeLine()
// }
}
/**
* 添加link
*/
fun addTaskLink(context: Context, data: RenderEntity) {
val mDialog = FirstDialog(context)
mDialog.setTitle("提示")
mDialog.setMessage("是否添加当前link")
mDialog.setPositiveButton(
"确定"
) { dialog, _ ->
dialog.dismiss()
viewModelScope.launch(Dispatchers.IO) {
val hadLinkDvoBean = HadLinkDvoBean(
taskId = currentSelectTaskBean!!.id,
linkPid = data.properties["linkPid"]!!,
geometry = data.geometry,
linkStatus = 2
)
currentSelectTaskBean!!.hadLinkDvoList.add(
hadLinkDvoBean
)
val realm = Realm.getDefaultInstance()
realm.executeTransaction { r ->
r.copyToRealmOrUpdate(hadLinkDvoBean)
r.copyToRealmOrUpdate(currentSelectTaskBean!!)
}
//根据Link数据查询对应数据上要素对要素进行显示重置
data.properties["linkPid"]?.let {
realmOperateHelper.queryLinkToMutableRenderEntityList(realm,it)
?.forEach { renderEntity ->
if (renderEntity.enable != 1) {
renderEntity.enable = 1
realm.executeTransaction { r ->
r.copyToRealmOrUpdate(renderEntity)
}
}
}
}
liveDataTaskLinks.postValue(currentSelectTaskBean!!.hadLinkDvoList)
mapController.lineHandler.addTaskLink(hadLinkDvoBean)
mapController.layerManagerHandler.updateOMDBVectorTileLayer()
mapController.mMapView.vtmMap.updateMap(true)
realm.close()
}
}
mDialog.setNegativeButton(
"取消"
) { _, _ ->
mDialog.dismiss()
}
mDialog.show()
}
/**
* 删除评测link
*/
@ -651,7 +625,7 @@ class TaskViewModel @Inject constructor(
//重置数据为隐藏
if (hadLinkDvoBean.linkStatus == 2) {
realmOperateHelper.queryLinkToMutableRenderEntityList(hadLinkDvoBean.linkPid)
realmOperateHelper.queryLinkToMutableRenderEntityList(realm,hadLinkDvoBean.linkPid)
?.forEach { renderEntity ->
if (renderEntity.enable == 1) {
renderEntity.enable = 0

View File

@ -707,6 +707,28 @@ class SignUtil {
)
)
}
DataCodeEnum.OMDB_FILL_AREA.code->{
list.add(
TwoItemAdapterItem(
title = "对象号码",
text = "${data.properties["objectPid"]}"
)
)
list.add(
TwoItemAdapterItem(
title = "符合高精", text = when (data.properties["compliant"]) {
"0" -> ""
"1" -> ""
else -> ""
}
)
)
list.add(
TwoItemAdapterItem(
title = "关联车道组", text = "${data.properties["lgList"]}"
)
)
}
}
adapter.data = list
return adapter