From 643e5ac1fe671035e8d3269f02f7540476e0b4c1 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 20 Mar 2026 12:07:44 +0800 Subject: [PATCH] =?UTF-8?q?[8.5.0]=20[=E6=8E=A5=E5=8F=97taskmanger?= =?UTF-8?q?=E7=9A=84=E5=88=B0=E7=AB=99=20=E7=84=B6=E5=90=8E=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=AE=9E=E6=97=B6=E7=AB=99=E7=82=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/bridge/BridgeProvider.kt | 10 ++ .../IOchAutopilotStatusListener.java | 10 ++ .../OchAutoPilotStatusListenerManager.kt | 11 ++ .../common/module/debug/DebugDataDispatch.kt | 7 ++ .../module/biz/birdge/BridgeListener.kt | 2 + .../common/module/biz/birdge/BridgeManager.kt | 4 + .../common/module/biz/birdge/BridgeService.kt | 2 + .../com/mogo/och/unmanned/model/OrderModel.kt | 100 +++++++++++++++++- .../unmanned/repository/RepositoryManager.kt | 6 ++ .../repository/db/repository/TaskSiteDb.kt | 18 ++++ .../repository/line/ILineRepository.kt | 3 + .../repository/line/impl/NormalRepository.kt | 6 +- .../repository/line/impl/WeaknetRepository.kt | 33 +++++- .../cloud/model/SweeperCloudTaskModel.java | 6 ++ .../presenter/SweeperOperatePresenter.java | 6 ++ .../autopilot/adapter/MoGoAdasListenerImpl.kt | 9 +- .../autopilot/IMoGoAutopilotStatusListener.kt | 3 + .../CallerAutoPilotStatusListenerManager.kt | 15 ++- .../support/adas/high/OnAdasListener.java | 3 +- .../adas/high/msg/TaskManagerMessage.java | 3 +- 20 files changed, 245 insertions(+), 12 deletions(-) diff --git a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/BridgeProvider.kt b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/BridgeProvider.kt index 09d6881f33..070350fc48 100644 --- a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/BridgeProvider.kt +++ b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/BridgeProvider.kt @@ -73,9 +73,13 @@ class BridgeProvider : BridgeService, CallerBase() { when (type) { 0 -> {LineManager.unmannedStartAutopilot(false)} 1 -> {LineManager.unmanneAutopilotContinue(false)} + 2 -> {} else -> {} } + } + override fun taskManager(type: Int, index: Int) { + invokeTaskManagerTestArrived(index) } override fun doSomeAfterAddListener(tag: String, listener: BridgeListener) { @@ -143,5 +147,11 @@ class BridgeProvider : BridgeService, CallerBase() { } } + fun invokeTaskManagerTestArrived(indexStation:Int){ + M_LISTENERS.forEach { + it.value.onTestArrivedStation(indexStation) + } + } + } \ No newline at end of file diff --git a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/IOchAutopilotStatusListener.java b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/IOchAutopilotStatusListener.java index dd6a2bbb75..e07a6c0222 100644 --- a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/IOchAutopilotStatusListener.java +++ b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/IOchAutopilotStatusListener.java @@ -3,6 +3,7 @@ package com.mogo.och.bridge.autopilot.autopilot; import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; import com.mogo.och.bridge.autopilot.autopilot.bean.ArrivedStation; import com.zhjt.mogo.adas.data.AdasConstants; +import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskArrivalNotification; import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskStartNotification; import org.jetbrains.annotations.Nullable; @@ -51,6 +52,15 @@ public interface IOchAutopilotStatusListener { default void onAutopilotLeaveStation(Long taskId, TaskStartNotification taskStartNotification){ } + /** + * 自动驾驶离站 + * @param taskId + * @param taskStartNotification + */ + default void onArriveAtStationByTaskManager(Long taskId, TaskArrivalNotification taskStartNotification){ + } + + /** * 工控机获取SN */ diff --git a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt index 4b36116f84..ff6854b42e 100644 --- a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt +++ b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt @@ -23,6 +23,7 @@ import com.zhjt.mogo.adas.common.MessageType import com.zhjt.mogo.adas.data.AdasConstants import com.zhjt.mogo.adas.data.bean.ReceivedAck import com.zhjt.mogo.adas.data.bean.ReceivedAck.Status +import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskArrivalNotification import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskStartNotification import fsm.Fsm2024 import mogo.telematics.pad.MessagePad @@ -247,6 +248,16 @@ object OchAutoPilotStatusListenerManager : CallerBase { + val type = intent.getIntExtra("startType", 0) + val indexStation = intent.getIntExtra("indexStation", 0) + BridgeManager.debugTaskManager(type,indexStation) + } startAutopilot -> { val type = intent.getIntExtra("startType", 0) BridgeManager.debugStartAutopilot(type) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/birdge/BridgeListener.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/birdge/BridgeListener.kt index c4405b105e..4e53646e6d 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/birdge/BridgeListener.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/birdge/BridgeListener.kt @@ -28,4 +28,6 @@ interface BridgeListener { fun onPncInfoListener(pncAction: String) {} fun onCollisionRisk() {} + + fun onTestArrivedStation(indexStation:Int) {} } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/birdge/BridgeManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/birdge/BridgeManager.kt index a5628a7db9..d679db47f3 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/birdge/BridgeManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/birdge/BridgeManager.kt @@ -39,4 +39,8 @@ object BridgeManager { bridgeService?.startAutopilot(type) } + fun debugTaskManager(type:Int,index:Int){ + bridgeService?.taskManager(type,index) + } + } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/birdge/BridgeService.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/birdge/BridgeService.kt index 6b5943da64..59bd1c3cd7 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/birdge/BridgeService.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/birdge/BridgeService.kt @@ -15,4 +15,6 @@ interface BridgeService : IProvider { fun removeBridgeListener(tag: String) fun startAutopilot(type: Int) + + fun taskManager(type: Int,index:Int) } \ No newline at end of file diff --git a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/model/OrderModel.kt b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/model/OrderModel.kt index dc82f356c8..eab8d0c759 100644 --- a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/model/OrderModel.kt +++ b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/model/OrderModel.kt @@ -46,7 +46,12 @@ import com.mogo.och.unmanned.constant.BusConst import com.mogo.och.unmanned.repository.RepositoryManager import com.mogo.och.unmanned.repository.exception.DataException import com.mogo.och.unmanned.util.ShuttleVoiceManager +import com.zhjt.mogo.adas.unmanned.task.dto.cmd.AutopilotPoint +import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskArrivalNotification import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskStartNotification +import com.zhjt.mogo.adas.unmanned.task.dto.cmd.VehicleSite +import com.zhjt.mogo.adas.unmanned.task.enums.AutopilotCoordinateTypeEnum +import com.zhjt.mogo.adas.unmanned.task.enums.StationEnum import io.reactivex.Observer import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable @@ -123,12 +128,39 @@ object OrderModel { // else -> {} // } } + + override fun onTestArrivedStation(indexStation: Int) { + super.onTestArrivedStation(indexStation) + try { + LineModel.currentTask?.taskId?.let { taskId -> + LineModel.stationList?.let { list -> + if (list.size > indexStation) { + val busStationBean = list.get(indexStation) + val behicleSite = VehicleSite.builder() + .coordinateType(AutopilotCoordinateTypeEnum.WGS84.code) + .point(AutopilotPoint.builder().x(busStationBean.lon).y(busStationBean.lat).build()) + .station(StationEnum.SITE.code) + .stationId(busStationBean.siteId.toLong()) + .stationName(busStationBean.name) + .stationSeq(busStationBean.seq) + .tag(busStationBean.tag) + .build() + val mockInfo = TaskArrivalNotification(behicleSite,behicleSite,12.0) + ochAutopilotStatusListener.onArriveAtStationByTaskManager(taskId,mockInfo) + } + } + } + }catch (e:Exception){ + e.printStackTrace() + } + + } } private val ochAutopilotStatusListener = object : IOchAutopilotStatusListener { override fun onAutopilotArriveAtStation(arrivedStation: ArrivedStation?) { e(TAG, "行程日志-onAutopilotArriveAtStation arrive") - onArriveAt(arrivedStation, "底盘触发进站") + //onArriveAt(arrivedStation, "底盘触发进站") } override fun onAutopilotLeaveStation( @@ -156,6 +188,68 @@ object OrderModel { } } + + override fun onArriveAtStationByTaskManager( + taskId: Long?, + taskArrivalNotification: TaskArrivalNotification? + ) { + OchChainLogManager.writeChainLog("任务管理触发进站,","taskId:$taskId taskStartNotification:${taskArrivalNotification}") + taskId?.let { taskIdNotNull-> + LineModel.currentTask?.let { + if(it.taskId==taskIdNotNull){ + taskArrivalNotification?.station?.let { arrivedStation-> + LineModel.stationList?.forEachIndexed { index, busStationBean -> + if(busStationBean.siteId.toLong()==arrivedStation.stationId){ + if(busStationBean.tag==BusStationBean.tagSkip){ + OchChainLogManager.writeChainLog("任务管理触发进站,","触发到站是临时不停不进行向下操作") + return + } + } + } + + LineManager.getStations { start, end -> + if(end.siteId.toLong()==arrivedStation.stationId){ + onArriveAt(arrivedStation, "任务管理器触发进站") + }else{ + if(start.siteId.toLong()==arrivedStation.stationId){ + OchChainLogManager.writeChainLog("任务管理触发进站,","开始站点和到达站点一致 不到站正好调整好数据") + }else{ + + OchChainLogManager.writeChainLog("任务管理触发进站,","到达站点和${start}还有${end}都不一致但是taskId:${taskId}一致去数据库调整数据使之一致") + RepositoryManager.adjustAllStation(taskIdNotNull,arrivedStation) + ?.subscribeOn(Schedulers.io()) + ?.observeOn(AndroidSchedulers.mainThread()) + ?.subscribe(object : Observer { + override fun onSubscribe(d: Disposable) { + d(TAG, "onSubscribe") + + } + + override fun onError(e: Throwable) { + d(TAG, "onError${e.printStackTrace()}") + + } + + override fun onComplete() { + d(TAG, "onComplete") + } + + override fun onNext(data: Boolean) { + d(TAG, "onNext:${data}") + queryBusRoutes() + } + }) + } + } + } + } + }else{ + OchChainLogManager.writeChainLog("任务管理触发进站,","任务管理和pad端task 不一致请取消任务后重新选择任务") + } + } + } + + } } private val ochTransform = object : OchTransformDispatch { @@ -171,7 +265,7 @@ object OrderModel { //是否到站的围栏判断 离站状态并且自动驾驶还未触发到站 if (isGoingToNextStation && !isArrivedStation) { OCHThreadPoolManager.getsInstance().locationExecute { - onArriveAt(null, "兜底:距离站点15m内 每秒钟向底盘查询是否到站 底盘返回") + //onArriveAt(null, "兜底:距离站点15m内 每秒钟向底盘查询是否到站 底盘返回") } } } @@ -489,7 +583,7 @@ object OrderModel { * @param data */ @JvmStatic - fun onArriveAt(data: ArrivedStation?, type: String) { + fun onArriveAt(data: VehicleSite?, type: String) { if (LineManager.getStations().second == null) { e(TAG, "行程日志-到站异常,取消后续操作结束") OchChainLogManager.writeChainLog("shuttle弱网", "$type 行程日志-到站异常,取消后续操作结束") diff --git a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/RepositoryManager.kt b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/RepositoryManager.kt index 488da372dd..8b46819cfd 100644 --- a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/RepositoryManager.kt +++ b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/RepositoryManager.kt @@ -27,6 +27,7 @@ import com.mogo.och.unmanned.repository.net.bean.response.PassengerWriteOffRespo import com.mogo.och.unmanned.repository.writeoff.IWriteOffRepository import com.mogo.och.unmanned.repository.writeoff.impl.WriteOffCacheRepository import com.mogo.och.unmanned.repository.writeoff.impl.WriteOffNormallRepository +import com.zhjt.mogo.adas.unmanned.task.dto.cmd.VehicleSite import io.reactivex.Observable object RepositoryManager { @@ -142,6 +143,11 @@ object RepositoryManager { return lineRepository?.skipStation() } + + fun adjustAllStation(taskId: Long, arrivedStation: VehicleSite): Observable? { + return lineRepository?.adjustAllStation(taskId,arrivedStation) + } + fun endTask(shiftsId: Long, taskId: Long): Observable? { return lineRepository?.endTask(shiftsId, taskId) } diff --git a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/db/repository/TaskSiteDb.kt b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/db/repository/TaskSiteDb.kt index 834794fae5..b51ffea986 100644 --- a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/db/repository/TaskSiteDb.kt +++ b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/db/repository/TaskSiteDb.kt @@ -1,5 +1,6 @@ package com.mogo.och.unmanned.repository.db.repository +import androidx.room.Transaction import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS import com.mogo.eagle.core.utilcode.util.StringUtils import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager @@ -187,5 +188,22 @@ object TaskSiteDb : IDbRepository { return runningSite } + fun adjustAllStationByTaskId(queryRunningTask: List?) { + val runnable = object : Runnable { + @Transaction + override fun run() { + queryRunningTask?.forEach { + taskSiteDataDao?.updateDrivingStatusANdLeave( + it.taskId ?: 0, + it.siteId ?: 0, + it.drivingStatus ?: 0, + if (it.leaving == true) 1 else 0, + ) + } + } + } + BizLoopManager.runInIoThread(runnable) + } + } \ No newline at end of file diff --git a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/line/ILineRepository.kt b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/line/ILineRepository.kt index bb9654777e..d60b6c5de4 100644 --- a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/line/ILineRepository.kt +++ b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/line/ILineRepository.kt @@ -8,6 +8,7 @@ import com.mogo.och.unmanned.bean.response.CarExecutableTaskResponse import com.mogo.och.unmanned.bean.response.PointResponse import com.mogo.och.unmanned.repository.db.bean.LineDataBean import com.mogo.och.unmanned.repository.db.bean.TaskDataBean +import com.zhjt.mogo.adas.unmanned.task.dto.cmd.VehicleSite import io.reactivex.Observable interface ILineRepository { @@ -34,6 +35,8 @@ interface ILineRepository { fun skipStation(): Observable? + fun adjustAllStation(taskId: Long, arrivedStation: VehicleSite):Observable? + fun endTask(shiftsId: Long, taskId: Long): Observable? fun queryCarExecutableTaskList(ochCommonServiceCallback: OchCommonServiceCallback) diff --git a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/line/impl/NormalRepository.kt b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/line/impl/NormalRepository.kt index 84a0430107..d0cb10dd76 100644 --- a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/line/impl/NormalRepository.kt +++ b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/line/impl/NormalRepository.kt @@ -22,13 +22,13 @@ import com.mogo.och.unmanned.bean.response.PointResponse import com.mogo.och.unmanned.model.LineModel import com.mogo.och.unmanned.repository.db.bean.LineDataBean import com.mogo.och.unmanned.repository.db.bean.TaskDataBean -import com.mogo.och.unmanned.repository.db.bean.TaskSiteDataBean import com.mogo.och.unmanned.repository.line.ILineRepository import com.mogo.och.unmanned.repository.net.NetInterface import com.mogo.och.unmanned.repository.net.exception.NetException import com.mogo.och.unmanned.repository.net.project.dali.bus.DaliBusServiceManager import com.mogo.och.unmanned.repository.net.project.mogo.bus.MogoBusServiceManager import com.mogo.och.unmanned.repository.net.project.mogo.shuttle.MogoShuttleServiceManager +import com.zhjt.mogo.adas.unmanned.task.dto.cmd.VehicleSite import io.reactivex.Observable class NormalRepository : ILineRepository { @@ -205,6 +205,10 @@ class NormalRepository : ILineRepository { return Observable.just(false) } + override fun adjustAllStation(taskId: Long, arrivedStation: VehicleSite):Observable? { + return Observable.just(false) + } + override fun endTask(shiftsId: Long, taskId: Long): Observable? { return normalLineInterface?.endTask(taskId) } diff --git a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/line/impl/WeaknetRepository.kt b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/line/impl/WeaknetRepository.kt index 8bd87953ed..c80fdd5d85 100644 --- a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/line/impl/WeaknetRepository.kt +++ b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/line/impl/WeaknetRepository.kt @@ -30,7 +30,6 @@ import com.mogo.och.unmanned.model.LineModel.currentTask import com.mogo.och.unmanned.repository.db.bean.ContrailDataBean import com.mogo.och.unmanned.repository.db.bean.LineDataBean import com.mogo.och.unmanned.repository.db.bean.TaskDataBean -import com.mogo.och.unmanned.repository.db.bean.TaskSiteDataBean import com.mogo.och.unmanned.repository.db.repository.ContraiDb import com.mogo.och.unmanned.repository.db.repository.EventDb import com.mogo.och.unmanned.repository.db.repository.LineDb @@ -44,6 +43,7 @@ import com.mogo.och.unmanned.repository.net.project.dali.shuttle.DaliShuttleServ import com.mogo.och.unmanned.repository.net.project.saas.bus.SaasBusServiceManager import com.mogo.och.unmanned.repository.net.project.saas.scheduled.SaasScheduledServiceManager import com.mogo.och.unmanned.repository.net.project.saas.shuttle.SaasShuttleServiceManager +import com.zhjt.mogo.adas.unmanned.task.dto.cmd.VehicleSite import io.reactivex.Observable class WeaknetRepository : ILineRepository { @@ -510,6 +510,37 @@ class WeaknetRepository : ILineRepository { } } + override fun adjustAllStation(taskId: Long, arrivedStation: VehicleSite): Observable? { + return Observable.just(12) + .flatMap {temp-> + //1 查询正在执行的任务 + val queryRunningTask = TaskSiteDb.queryRunningTask(taskId) + //2 根据参数arrivedStation 来设置正确的 当前站和下一站 + var arrivedStationIndex = -1 + queryRunningTask?.forEachIndexed { index, taskSiteDataBean -> + if (taskSiteDataBean.tag != BusStationBean.tagSkip) { + if (taskSiteDataBean.siteId == arrivedStation.stationId) { + arrivedStationIndex = index + taskSiteDataBean.drivingStatus = BusStationBean.drivingStatusCurrent + taskSiteDataBean.leaving = false + } else { + if (arrivedStationIndex < 0) { + taskSiteDataBean.drivingStatus = BusStationBean.drivingStatusPassed + taskSiteDataBean.leaving = false + } else { + taskSiteDataBean.drivingStatus = + BusStationBean.drivingStatusNotArrived + taskSiteDataBean.leaving = false + } + } + } + } + OchChainLogManager.writeChainLog("任务管理触发进站,","更新新的数据库类型去") + TaskSiteDb.adjustAllStationByTaskId(queryRunningTask) + return@flatMap Observable.just(true) + } + } + override fun endTask(shiftsId: Long, taskId: Long): Observable? { return Observable.just(taskId).flatMap { currentTask?.let { task -> diff --git a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/model/SweeperCloudTaskModel.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/model/SweeperCloudTaskModel.java index c84c74919c..a23c8cf4cc 100644 --- a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/model/SweeperCloudTaskModel.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/model/SweeperCloudTaskModel.java @@ -49,6 +49,7 @@ import com.zhjt.mogo.adas.data.sweeper.task.confirm.SweeperTaskConfirm; import com.zhjt.mogo.adas.data.sweeper.task.s_r.SweeperTaskSuspendResume; import com.zhjt.mogo.adas.data.sweeper.task.status.SweeperTaskStatus; import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop; +import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskArrivalNotification; import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskStartNotification; import java.io.IOException; @@ -809,4 +810,9 @@ public class SweeperCloudTaskModel implements IMoGoSweeperFutianCloudTaskListene public void invokeLeaveStation(@Nullable Long taskId, @Nullable TaskStartNotification taskStartNotification) { } + + @Override + public void onArriveAtStationByTaskManager(@Nullable Long taskId, @Nullable TaskArrivalNotification taskArrivalNotification) { + + } } diff --git a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/presenter/SweeperOperatePresenter.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/presenter/SweeperOperatePresenter.java index 0beea4e732..b1679e1e8e 100644 --- a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/presenter/SweeperOperatePresenter.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/presenter/SweeperOperatePresenter.java @@ -42,6 +42,7 @@ import com.mogo.och.sweeper.operate.model.SweeperOperateTaskModel; import com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil; import com.mogo.och.sweeper.operate.util.SweeperTrajectoryManager; import com.zhjt.mogo.adas.data.AdasConstants; +import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskArrivalNotification; import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskStartNotification; import java.math.BigDecimal; @@ -489,4 +490,9 @@ public class SweeperOperatePresenter extends Presenter public void invokeLeaveStation(@Nullable Long taskId, @Nullable TaskStartNotification taskStartNotification) { } + + @Override + public void onArriveAtStationByTaskManager(@Nullable Long taskId, @Nullable TaskArrivalNotification taskArrivalNotification) { + + } } diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt index efcba4f7d4..e9b8269717 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt @@ -38,8 +38,9 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_TYPE_SO import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_TYPE_SOCKET_VEHICLE import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_TYPE_STATUS import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.inVokeLeaveStation +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.invokeLeaveStation import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.invokeArriveAtStation +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.invokeArriveAtStationByTaskManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.invokeAutoPilotInfo import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.invokeAutoPilotStation import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.invokeAutopilotGuardian @@ -133,6 +134,7 @@ import com.zhjt.mogo.adas.data.sweeper.task.confirm.SweeperTaskConfirm import com.zhjt.mogo.adas.data.sweeper.task.s_r.SweeperTaskSuspendResume import com.zhjt.mogo.adas.data.sweeper.task.status.SweeperTaskStatus import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop +import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskArrivalNotification import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskLocationQueryResponse import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskStartNotification import com.zhjt.mogo.adas.utils.ByteUtil @@ -1699,10 +1701,11 @@ class MoGoAdasListenerImpl : OnAdasListener { taskId: Long?, taskStartNotification: TaskStartNotification? ) { - inVokeLeaveStation(taskId,taskStartNotification) + invokeLeaveStation(taskId,taskStartNotification) } - override fun onAdasTaskManagerArrival(taskId: Long?, siteId: Long?, sequence: Int?, mileage: BigDecimal?) { + override fun onAdasTaskManagerArrival(taskId: Long?,taskArrivalNotification: TaskArrivalNotification? ) { + invokeArriveAtStationByTaskManager(taskId,taskArrivalNotification) } override fun onAdasTaskManagerComplete(taskId: Long?, userId: Long?, status: Int?, reason: String?, completedTime: Date?, mileage: BigDecimal?) { diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotStatusListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotStatusListener.kt index 5ce21a6647..a6ea2e62a1 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotStatusListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotStatusListener.kt @@ -2,6 +2,7 @@ package com.mogo.eagle.core.function.api.autopilot import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters import com.zhjt.mogo.adas.data.AdasConstants +import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskArrivalNotification import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskStartNotification import mogo.telematics.pad.MessagePad import mogo_msg.MogoReportMsg @@ -68,6 +69,8 @@ interface IMoGoAutopilotStatusListener { */ fun onAutopilotArriveAtStation(arrivalNotification: MessagePad.ArrivalNotification?) {} + fun onArriveAtStationByTaskManager(taskId: Long?,taskArrivalNotification: TaskArrivalNotification?) {} + /** * 自动驾驶 离站触发 */ diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt index 3c7dcfa864..cc1cf8c4e6 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt @@ -12,6 +12,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.ParseVersionUtils import com.zhjt.mogo.adas.data.AdasConstants +import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskArrivalNotification import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskStartNotification import mogo.telematics.pad.MessagePad import mogo_msg.MogoReportMsg @@ -271,8 +272,20 @@ object CallerAutoPilotStatusListenerManager : CallerBase