diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/RepositoryManager.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/RepositoryManager.kt index 69052b4d23..ddf5369ca1 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/RepositoryManager.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/RepositoryManager.kt @@ -15,10 +15,13 @@ import com.mogo.och.data.bean.SiteIntroduce import com.mogo.och.offline.repository.db.bean.LineDataBean import com.mogo.och.offline.model.LineModel import com.mogo.och.offline.model.LineModel.currentTask +import com.mogo.och.offline.repository.db.bean.ContrailDataBean +import com.mogo.och.offline.repository.db.bean.PointDataBean import com.mogo.och.offline.repository.db.bean.TaskDataBean import com.mogo.och.offline.repository.db.bean.TaskSiteDataBean import com.mogo.och.offline.repository.db.repository.ContraiDb import com.mogo.och.offline.repository.db.repository.LineDb +import com.mogo.och.offline.repository.db.repository.PointDb import com.mogo.och.offline.repository.db.repository.TaskDb import com.mogo.och.offline.repository.db.repository.TaskSiteDb import com.mogo.och.offline.repository.net.OrderServiceManager @@ -80,7 +83,7 @@ object RepositoryManager { TaskSiteDb.deleteErrorData(it) return@flatMap Observable.just(false) } - val db2Beans = db2Beans(runnintTaskAndSites) + val db2Beans = db2Beans(runnintTaskAndSites,currentTask!!.lineId) LineModel.stationList = db2Beans.first LineModel.startStationIndex = db2Beans.second LineModel.stationList?.let { stationlist-> @@ -101,7 +104,7 @@ object RepositoryManager { OchChainLogManager.writeChainLogAutopilot("轨迹错误",this.toString()) CallerLogger.d(TAG,"轨迹错误,$this") } - LineManager.setContraiInfo(ContraiInfo(lineId!!,csvFileUrl!!,csvFileMd5!!,txtFileUrl!!,txtFileMd5!!,contrailSaveTime!!)) + LineManager.setContraiInfo(ContraiInfo(lineId!!,csvFileUrl!!,csvFileMd5!!,txtFileUrl!!,txtFileMd5!!,contrailSaveTime!!,source = source?: ContrailDataBean.SOURCETYPEROUTING)) } } return@flatMap Observable.just(true) @@ -186,7 +189,7 @@ object RepositoryManager { } - fun db2Beans(runnintTaskAndSites: List?): Pair,Int> { + fun db2Beans(runnintTaskAndSites: List?, lineId: Long?): Pair,Int> { val result = mutableListOf() var temp: BusStationBean? = null var currentStationIndex = -1 @@ -195,6 +198,7 @@ object RepositoryManager { LineManager.setLineInfo(lineInfo) return Pair(result,currentStationIndex) } + val points = PointDb.queryPointByLineId(lineId) runnintTaskAndSites.forEachIndexed { index, taskAndsite -> temp = BusStationBean() temp?.drivingStatus = (taskAndsite.drivingStatus ?: 0) @@ -209,6 +213,26 @@ object RepositoryManager { temp?.isPlayTts = java.lang.Boolean.TRUE == taskAndsite.isPlayTts temp?.seq = (taskAndsite.seq ?: 0) temp?.siteId = if (taskAndsite.siteId == null) 0 else taskAndsite.siteId!!.toInt() + points?.let { + val sitePoint = it.filter { + it.siteId?.toInt() == temp?.siteId + } + val tempPassPoints = mutableListOf() + val tempblackPoints = mutableListOf() + sitePoint.forEach { point-> + when (point.pointType) { + PointDataBean.pointTypePass -> { + tempPassPoints.add(point.toStation()) + } + PointDataBean.pointTypeBlack -> { + tempblackPoints.add(point.toStation()) + } + else -> {} + } + } + temp?.passPoints = tempPassPoints + temp?.blackPoints = tempblackPoints + } if(!taskAndsite.videoList.isNullOrEmpty()){ try { val list = GsonUtils.fromJson>( diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/bean/ContrailDataBean.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/bean/ContrailDataBean.kt index d16893a309..293966dee4 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/bean/ContrailDataBean.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/bean/ContrailDataBean.kt @@ -72,6 +72,7 @@ data class ContrailDataBean( ) { companion object { const val tableName: String = "contrail_data_table" + const val SOURCETYPEROUTING = 2 } override fun toString(): String { diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/taskrunning/TaskRunningView.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/taskrunning/TaskRunningView.kt index 95a6584fa2..1f6f5783f1 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/taskrunning/TaskRunningView.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/taskrunning/TaskRunningView.kt @@ -96,6 +96,10 @@ class TaskRunningView : ConstraintLayout, TaskRunningModel.SwtichLineViewCallbac }) closeLineConfirmDialog.show() } + actv_running_task_time.onClick { + val initAutopilotControlParameters = LineManager.initAutopilotControlParameters() + CallerLogger.d(TAG,"启动自驾的参数:${initAutopilotControlParameters}") + } } override fun onAttachedToWindow() { diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/util/OffLineTrajectoryManager.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/util/OffLineTrajectoryManager.kt index 0169e1ca5b..48d7553b40 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/util/OffLineTrajectoryManager.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/util/OffLineTrajectoryManager.kt @@ -87,7 +87,7 @@ object OffLineTrajectoryManager : ITrajectoryListListener { "下发轨迹报错:没有轨迹或线路信息 contraiInfo:${LineManager.contraiInfo} lineInfos:${LineManager.lineInfos}" ) } else { - mAutopilotControlParameters = LineManager.initAutopilotControlParameters() + mAutopilotControlParameters = LineManager.initAutopilotControlParametersFromContrai() } }