diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/model/DriverM1Model.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/model/DriverM1Model.kt index f54755fb19..6ebb47ae72 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/model/DriverM1Model.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/model/DriverM1Model.kt @@ -750,7 +750,10 @@ class DriverM1Model { if (it == null || it < 0) { LineManager.setLineInfo(null) } else { - LineManager.setLineInfo(LineInfo(it.toLong(),mCurrentOrder?.lineName?:"", orderId = data.data.orderNo)) + LineManager.setLineInfo( + LineInfo(it.toLong(), + mCurrentOrder?.lineName?:"", + orderId = data.data.orderNo)) } } diff --git a/OCH/common/data/src/main/java/com/mogo/och/data/bean/LineInfo.kt b/OCH/common/data/src/main/java/com/mogo/och/data/bean/LineInfo.kt index b0e0647fba..e76a098408 100644 --- a/OCH/common/data/src/main/java/com/mogo/och/data/bean/LineInfo.kt +++ b/OCH/common/data/src/main/java/com/mogo/och/data/bean/LineInfo.kt @@ -16,6 +16,23 @@ data class LineInfo( */ var multiMap: MutableMap? = mutableMapOf(), - val orderId:String?=null + val orderId:String?=null, -) + /** + * 站点包含的线路 + */ + var siteInfos:MutableList = mutableListOf(), + +) { + fun genAutopilotId(): String { + val tempAutopilotId = StringBuilder() + tempAutopilotId.append(lineId) + siteInfos.forEach { + tempAutopilotId.append("_") + tempAutopilotId.append(it.siteId) + } + tempAutopilotId.append("_") + tempAutopilotId.append(orderId) + return tempAutopilotId.toString() + } +} diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java index 07cecc8a4b..71e06fb8c9 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java @@ -758,15 +758,15 @@ public class OrderModel { private void updateBusStatus(BusRoutesResult result) { if (result == null) return; LineManager.INSTANCE.setContraiInfo(new ContraiInfo(result.getLineId(),result.csvFileUrl,result.csvFileMd5,result.txtFileUrl,result.txtFileMd5,result.contrailSaveTime,null,null,1)); + busRoutesResult = result; + stationList.clear(); + stationList.addAll(result.getSites()); HashMap map = new HashMap(); String taskInfo = DateTimeUtil.formatLongToString( result.getTaskTime(), DateTimeUtil.HH_mm ); map.put("taskInfo",taskInfo); - LineManager.setLineInfo(new LineInfo(result.getLineId(),result.getName(),map,result.getTaskId()+"")); - busRoutesResult = result; - stationList.clear(); - stationList.addAll(result.getSites()); + LineManager.setLineInfo(new LineInfo(result.getLineId(),result.getName(),map,result.getTaskId()+"",stationList)); for (int i = 0; i < stationList.size(); i++) { BusStationBean s = stationList.get(i); diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/BusRoutesResponse.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/BusRoutesResponse.kt index fc98509b6b..d589026918 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/BusRoutesResponse.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/BusRoutesResponse.kt @@ -74,8 +74,9 @@ class BusRoutesResponse : BaseData() { if (lineInfo == null && taskAndsite.lineId != null && taskAndsite.lineName != null) { lineInfo = LineInfo(taskAndsite.lineId!!, taskAndsite.lineName!!, orderId = taskAndsite.taskId.toString()) } - lineInfo?.multiMap?.put("taskInfo",LineModel.getTaskTime()) } + lineInfo?.multiMap?.put("taskInfo",LineModel.getTaskTime()) + lineInfo?.siteInfos = result LineManager.setLineInfo(lineInfo) return Pair(result,currentStationIndex) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/NormalRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/NormalRepository.kt index df8c19db80..a63f5b8a51 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/NormalRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/NormalRepository.kt @@ -101,8 +101,10 @@ class NormalRepository: ILineRepository { if (lineInfo == null && busRoutesResult.name != null) { lineInfo = LineInfo(busRoutesResult.lineId.toLong(), busRoutesResult.name, orderId = busRoutesResult.taskId.toString() ) } - lineInfo?.multiMap?.put("taskInfo", LineModel.getTaskTime()) + } + lineInfo?.multiMap?.put("taskInfo", LineModel.getTaskTime()) + lineInfo?.siteInfos = result LineManager.setLineInfo(lineInfo) LineManager.setContraiInfo( diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingSelectModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingSelectModel.kt index 717ca0e7f0..838be6e954 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingSelectModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingSelectModel.kt @@ -11,6 +11,7 @@ import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.bridge.autopilot.line.LineManager import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.data.bean.BusStationBean import com.mogo.och.data.bean.LineInfo import com.mogo.och.unmanned.taxi.bean.GrayLineBean import com.mogo.och.unmanned.taxi.bean.QueryGrayContrailListRsp @@ -153,9 +154,25 @@ class RoutingSelectModel : ViewModel() { } DebugView.printInfoMsg("[启自驾] 准备启动自驾") - LineManager.setLineInfo(LineInfo(grayLineBean.lineId?:0L,grayLineBean.lineName?:"", orderId = "${data.taskId}")) + val startStation = grayLineBean.startSite?.toBusStationBean() + val endStation = grayLineBean.endSite?.toBusStationBean() + val temp = mutableListOf() + if(startStation!=null){ + temp.add(startStation) + } + if(endStation!=null){ + temp.add(endStation) + } + LineManager.setLineInfo( + LineInfo( + grayLineBean.lineId?:0L, + grayLineBean.lineName?:"", + orderId = "${data.taskId}", + siteInfos = temp + ) + ) LineManager.setContraiInfo(contrailBean.toContraiInfo()) - LineManager.setStartAndEndStation(grayLineBean.startSite?.toBusStationBean(),grayLineBean.endSite?.toBusStationBean()) + LineManager.setStartAndEndStation(startStation,endStation) CallerEagleBaseFunctionCall4OchManager.updateOrderStatus(true) viewCallback?.onStartGrayTaskAndQueryContrailSuccess(data) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt index 13934cd8cd..eb2bd03738 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt @@ -54,6 +54,7 @@ import com.mogo.och.bridge.utils.CoordinateCalculateRouteUtil.coordinateConverte import com.mogo.och.common.module.utils.OCHThreadPoolManager import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.common.module.voice.VoiceNotice +import com.mogo.och.data.bean.BusStationBean import com.mogo.och.data.bean.LineInfo import com.mogo.och.data.taxi.QueryCarOrderByNoRespBean import com.mogo.och.unmanned.taxi.bean.PrepareTaskRespBean @@ -1060,7 +1061,23 @@ object TaxiTaskModel { mTaskTrajectoryList.addAll(it) mCurrentTaskTrajectory = it.first { currentTaskLineId == it.lineId } mCurrentTaskTrajectory?.let {traj-> - LineManager.setLineInfo(LineInfo(traj.lineId,traj.lineName, orderId = mCurrentTaskWithOrder?.order?.orderNo?:"")) + val startStaion = mCurrentTaskWithOrder?.startSite?.toCommonStation() + val endStaion = mCurrentTaskWithOrder?.endSite?.toCommonStation() + val temp = mutableListOf() + if(startStaion!=null){ + temp.add(startStaion) + } + if(endStaion!=null){ + temp.add(endStaion) + } + LineManager.setLineInfo( + LineInfo( + traj.lineId, + traj.lineName, + orderId = mCurrentTaskWithOrder?.order?.orderNo?:"", + siteInfos = temp + ) + ) traj.blackPoints?.clear() traj.passPoints?.clear() LineManager.setContraiInfo(traj.toCommonContraiInfo())