[接受taskmanger的到站 然后调整实时站点]
This commit is contained in:
yangyakun
2026-03-20 12:07:44 +08:00
parent 19687e1330
commit 643e5ac1fe
20 changed files with 245 additions and 12 deletions

View File

@@ -73,9 +73,13 @@ class BridgeProvider : BridgeService, CallerBase<BridgeListener>() {
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<BridgeListener>() {
}
}
fun invokeTaskManagerTestArrived(indexStation:Int){
M_LISTENERS.forEach {
it.value.onTestArrivedStation(indexStation)
}
}
}

View File

@@ -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
*/

View File

@@ -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<IOchAutopilotStatusListene
}
}
override fun onArriveAtStationByTaskManager(
taskId: Long?,
taskArrivalNotification: TaskArrivalNotification?
) {
M_LISTENERS.forEach {
val listener = it.value
listener.onArriveAtStationByTaskManager(taskId,taskArrivalNotification)
}
}
/**
* 距离终点10m 向地盘查询是否到站地盘的返回值
* [LineManager.mMapLocationListener]

View File

@@ -87,6 +87,7 @@ object DebugDataDispatch {
const val collisionRisk = "CollisionRisk"
const val mediaStationMedia = "stationMedia"
const val startAutopilot = "startAutopilot"
const val taskManager = "taskManager"
// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "video" --ei add 2 --es url "rtmp://liteavapp.qcloud.com/live/liteavdemoplayerstreamid"
// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "location" --es path "1111/11111"
@@ -110,6 +111,7 @@ object DebugDataDispatch {
// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "vlmImage" --ef time 1880.0
// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "stationMedia"
// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "startAutopilot" --ei startType 0
// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "taskManager" --ei startType 0 --ei indexStation 3
// adb shell am broadcast -a com.hmi.v2x.trafficlight -f 0x011000000 --ei trafficLightCheckType 1 --ei trafficLightCountDown 0 --ez trafficLightIsShow true // 红绿灯
@@ -124,6 +126,11 @@ object DebugDataDispatch {
}
when (type) {
taskManager -> {
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)

View File

@@ -28,4 +28,6 @@ interface BridgeListener {
fun onPncInfoListener(pncAction: String) {}
fun onCollisionRisk() {}
fun onTestArrivedStation(indexStation:Int) {}
}

View File

@@ -39,4 +39,8 @@ object BridgeManager {
bridgeService?.startAutopilot(type)
}
fun debugTaskManager(type:Int,index:Int){
bridgeService?.taskManager(type,index)
}
}

View File

@@ -15,4 +15,6 @@ interface BridgeService : IProvider {
fun removeBridgeListener(tag: String)
fun startAutopilot(type: Int)
fun taskManager(type: Int,index:Int)
}

View File

@@ -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<Boolean> {
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 行程日志-到站异常,取消后续操作结束")

View File

@@ -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<Boolean>? {
return lineRepository?.adjustAllStation(taskId,arrivedStation)
}
fun endTask(shiftsId: Long, taskId: Long): Observable<Boolean>? {
return lineRepository?.endTask(shiftsId, taskId)
}

View File

@@ -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<TaskSiteDataBean>?) {
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)
}
}

View File

@@ -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<Boolean>?
fun adjustAllStation(taskId: Long, arrivedStation: VehicleSite):Observable<Boolean>?
fun endTask(shiftsId: Long, taskId: Long): Observable<Boolean>?
fun queryCarExecutableTaskList(ochCommonServiceCallback: OchCommonServiceCallback<CarExecutableTaskResponse>)

View File

@@ -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<Boolean>? {
return Observable.just(false)
}
override fun endTask(shiftsId: Long, taskId: Long): Observable<Boolean>? {
return normalLineInterface?.endTask(taskId)
}

View File

@@ -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<Boolean>? {
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<Boolean>? {
return Observable.just(taskId).flatMap {
currentTask?.let { task ->

View File

@@ -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) {
}
}

View File

@@ -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<SweeperOperateFragment>
public void invokeLeaveStation(@Nullable Long taskId, @Nullable TaskStartNotification taskStartNotification) {
}
@Override
public void onArriveAtStationByTaskManager(@Nullable Long taskId, @Nullable TaskArrivalNotification taskArrivalNotification) {
}
}

View File

@@ -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?) {

View File

@@ -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?) {}
/**
* 自动驾驶 离站触发
*/

View File

@@ -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<IMoGoAutopilotStatusLis
listener.onAutopilotArriveAtStation(arrivalNotification)
}
}
/**
* 自动驾驶站点信息 回调
* @param arrivalNotification 自动驾驶网约车回调数据
*/
@Synchronized
fun invokeArriveAtStationByTaskManager(taskId: Long?,taskArrivalNotification: TaskArrivalNotification? ) {
mAutopilotStatusInfo.isArriveAtStation = true
M_LISTENERS.forEach {
val listener = it.value
listener.onArriveAtStationByTaskManager(taskId,taskArrivalNotification)
}
}
fun inVokeLeaveStation(taskId: Long?, taskStartNotification: TaskStartNotification?){
fun invokeLeaveStation(taskId: Long?, taskStartNotification: TaskStartNotification?){
M_LISTENERS.forEach {
val listener = it.value
listener.invokeLeaveStation(taskId,taskStartNotification)

View File

@@ -33,6 +33,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;
@@ -829,7 +830,7 @@ public interface OnAdasListener {
* @param sequence 站点序号对应顺序列表里站点流程从1开始1为起始点最大值为终点。 途径点填写0
* @param mileage 任务全程的已经行进的里程
*/
void onAdasTaskManagerArrival(Long taskId, Long siteId, Integer sequence, BigDecimal mileage);
void onAdasTaskManagerArrival(Long taskId, TaskArrivalNotification taskArrivalNotification);
/**
* 域控任务管理终止任务

View File

@@ -76,8 +76,7 @@ public class TaskManagerMessage extends MyAbstractMessageHandler {
if (cmdDto != null) {
Log.i(TAG, "onAdasTaskManagerArrival=" + cmdDto);
TaskArrivalNotification taskArrivalNotification = cmdDto.getData();
VehicleSite vehicleSite = taskArrivalNotification.getCurLocation();
adasListener.onAdasTaskManagerArrival(cmdDto.getTaskId(), vehicleSite.getStationId(), vehicleSite.getStationSeq(), BigDecimal.valueOf(taskArrivalNotification.getAccumulatedTaskDis()));
adasListener.onAdasTaskManagerArrival(cmdDto.getTaskId(), taskArrivalNotification);
}
} else if (messageCmdEnum == MessageCmdEnum.TaskAbortNotification) {//终止任务