[8.5.0]
[接受taskmanger的到站 然后调整实时站点]
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -28,4 +28,6 @@ interface BridgeListener {
|
||||
fun onPncInfoListener(pncAction: String) {}
|
||||
|
||||
fun onCollisionRisk() {}
|
||||
|
||||
fun onTestArrivedStation(indexStation:Int) {}
|
||||
}
|
||||
@@ -39,4 +39,8 @@ object BridgeManager {
|
||||
bridgeService?.startAutopilot(type)
|
||||
}
|
||||
|
||||
fun debugTaskManager(type:Int,index:Int){
|
||||
bridgeService?.taskManager(type,index)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -15,4 +15,6 @@ interface BridgeService : IProvider {
|
||||
fun removeBridgeListener(tag: String)
|
||||
|
||||
fun startAutopilot(type: Int)
|
||||
|
||||
fun taskManager(type: Int,index:Int)
|
||||
}
|
||||
@@ -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 行程日志-到站异常,取消后续操作结束")
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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>)
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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 ->
|
||||
|
||||
@@ -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) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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?) {
|
||||
|
||||
@@ -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?) {}
|
||||
|
||||
/**
|
||||
* 自动驾驶 离站触发
|
||||
*/
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
/**
|
||||
* 域控任务管理终止任务
|
||||
|
||||
@@ -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) {//终止任务
|
||||
|
||||
Reference in New Issue
Block a user