From 811ee78b3602117f9a0a9368411f360ddaf74b9a Mon Sep 17 00:00:00 2001 From: renwj Date: Fri, 18 Oct 2024 14:54:45 +0800 Subject: [PATCH 1/3] =?UTF-8?q?[6.7.0][=E8=BF=90=E8=90=A5=E5=90=8C?= =?UTF-8?q?=E6=9D=BF]=20=E4=BF=AE=E6=AD=A3=E8=87=AA=E4=B8=BB=E7=AE=97?= =?UTF-8?q?=E8=B7=AF=E6=A8=A1=E5=BC=8F=E9=80=BB=E8=BE=91=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/hmi/ui/operate/OperatePanelLayout.kt | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt index 10ecd893d6..acc1a200ba 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt @@ -774,20 +774,17 @@ class OperatePanelLayout : LinearLayout { if (isChecked) { if (CallerHmiManager.isTaxiUnmanedDriverPerformTask()) { ToastUtils.showLong("请先结束当前任务") - preferenceScreen.findPreferenceReal(KEY_SELF_ROUTING_VERIFY_MODE)?.also { changeValue(it, false) } - return true + return false } if (CallerHmiManager.isTaxiUnmanedDriverTakingOrders()) { ToastUtils.showLong("请先结束接单状态") - preferenceScreen.findPreferenceReal(KEY_SELF_ROUTING_VERIFY_MODE)?.also { changeValue(it, false) } - return true + return false } CallerHmiManager.setTaxiUnmanedDriverLineRoutingVerifyMode(true) } else { if (CallerHmiManager.isTaxiUnmanedDriverLineRoutingPerformTask()) { ToastUtils.showLong("请先结束当前任务") - preferenceScreen.findPreferenceReal(KEY_SELF_ROUTING_VERIFY_MODE)?.also { changeValue(it, true) } - return true + return false } CallerHmiManager.setTaxiUnmanedDriverLineRoutingVerifyMode(false) } From 931404ea6bfb990da1063f3a4d1ae53af71572fd Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 18 Oct 2024 16:14:27 +0800 Subject: [PATCH 2/3] =?UTF-8?q?[6.7.0]=20[fea]=20[=E8=87=AA=E9=A9=BE?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=B7=BB=E5=8A=A0fsm=E5=88=A4=E6=96=AD]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IOchAutopilotStatusListener.java | 2 + .../autopilot/OchAutoPilotManager.kt | 39 +++-------------- .../OchAutoPilotStatusListenerManager.kt | 42 ++++++++++++++++++- .../wigets/autopilot/AutopilotStateModel.kt | 8 +++- 4 files changed, 56 insertions(+), 35 deletions(-) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/IOchAutopilotStatusListener.java b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/IOchAutopilotStatusListener.java index 719120e389..96a2161695 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/IOchAutopilotStatusListener.java +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/IOchAutopilotStatusListener.java @@ -96,4 +96,6 @@ public interface IOchAutopilotStatusListener { */ default void onAutopilotStatusResponseFromCan(int state) {} + default void onFsmCanStartAutopilot(boolean can){} + } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotManager.kt index c24a241088..2c74531658 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotManager.kt @@ -5,36 +5,24 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.msgbox.AutopilotMsg import com.mogo.eagle.core.data.msgbox.MsgBoxBean import com.mogo.eagle.core.data.msgbox.MsgBoxType -import com.mogo.eagle.core.function.api.autopilot.IMoGoFsm2024Listener -import com.mogo.eagle.core.function.api.autopilot.IMoGoReceiveReceivedAckListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager -import com.mogo.eagle.core.function.call.autopilot.CallerFsm2024ListenerManager -import com.mogo.eagle.core.function.call.autopilot.CallerReceiveReceivedAckListenerManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager import com.mogo.och.common.module.manager.autopilot.autopilot.bean.SessionWithTime import com.mogo.och.common.module.manager.autopilot.line.LineManager import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager -import com.zhjt.mogo.adas.common.MessageType -import com.zhjt.mogo.adas.data.bean.ReceivedAck -import com.zhjt.mogo.adas.data.bean.ReceivedAck.Status -import fsm.Fsm2024 -import java.util.concurrent.atomic.AtomicLong import java.util.concurrent.atomic.AtomicReference -object OchAutoPilotManager : IMoGoReceiveReceivedAckListener, IMoGoFsm2024Listener { +object OchAutoPilotManager { const val TAG = "OchAutoPilotManager" private val globalSessionId = AtomicReference() - private val fsmBackSessionId = AtomicLong(-1L) init { - CallerReceiveReceivedAckListenerManager.addListener(TAG,this) - CallerFsm2024ListenerManager.addListener(TAG,this) + } @JvmStatic @@ -101,7 +89,7 @@ object OchAutoPilotManager : IMoGoReceiveReceivedAckListener, IMoGoFsm2024Listen } fun clearGlobalSessionId(log:String){ - OchChainLogManager.writeChainLogAutopilot("自驾流程","清理SessiongId${globalSessionId}_${fsmBackSessionId}_${log}") + OchChainLogManager.writeChainLogAutopilot("自驾流程","清理SessiongId${globalSessionId}_${OchAutoPilotStatusListenerManager.fsmBackSessionId}_${log}") globalSessionId.set(null) } @@ -109,36 +97,21 @@ object OchAutoPilotManager : IMoGoReceiveReceivedAckListener, IMoGoFsm2024Listen fun startAutoPilot(controlParameters: AutopilotControlParameters?): Long { val sessionId = CallerAutoPilotControlManager.startAutoPilot(controlParameters) globalSessionId.set(SessionWithTime(sessionId,System.currentTimeMillis())) - fsmBackSessionId.set(-1L) + OchAutoPilotStatusListenerManager.fsmBackSessionId.set(-1L) OchAutopilotAnalytics.triggerStartAutopilotParameters(controlParameters, sessionId) return sessionId } - // 启动自驾底盘反馈信息 - override fun onReceiveReceivedAck(receivedAck: ReceivedAck) { - if (receivedAck.messageType == MessageType.TYPE_SEND_SET_AUTOPILOT_MODE_REQ) { - OchAutopilotAnalytics.triggerStartAutopilotParametersAck(receivedAck.toString(),receivedAck.status == Status.NORMAL) - } - } - - /** - * - */ - override fun onFSM2024State(fsmState: Fsm2024.FSMStateMsg) { - fsmBackSessionId.set(fsmState.failToPilotSessionId) - CallerLogger.e(TAG,"收到FSM2024的SeesiongId:${fsmState.failToPilotSessionId}") - } - /** * 启动自驾失败切 FSM返回的Session和启动SessionId 不同 */ fun checkStartSessionAndFailSessionId(){ val sessionInfo = globalSessionId.get() if(sessionInfo!=null) { - if (sessionInfo.sessionId != fsmBackSessionId.get()) { + if (sessionInfo.sessionId != OchAutoPilotStatusListenerManager.fsmBackSessionId.get()) { OchAutopilotAnalytics.triggerStartAutopilotFailCheckSessionDiff( sessionInfo, - fsmBackSessionId.get() + OchAutoPilotStatusListenerManager.fsmBackSessionId.get() ) } } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt index d6ff962296..18937f6391 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt @@ -3,9 +3,14 @@ package com.mogo.och.common.module.manager.autopilot.autopilot import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener +import com.mogo.eagle.core.function.api.autopilot.IMoGoFsm2024Listener +import com.mogo.eagle.core.function.api.autopilot.IMoGoReceiveReceivedAckListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerFsm2024ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerReceiveReceivedAckListenerManager import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.StringUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.common.module.R @@ -14,20 +19,27 @@ import com.mogo.och.common.module.manager.autopilot.line.LineManager import com.mogo.och.common.module.manager.autopilot.trajectory.TrajectoryManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.utils.CallerBase +import com.zhjt.mogo.adas.common.MessageType import com.zhjt.mogo.adas.data.AdasConstants import com.zhjt.mogo.adas.data.bean.MogoReport +import com.zhjt.mogo.adas.data.bean.ReceivedAck +import com.zhjt.mogo.adas.data.bean.ReceivedAck.Status +import fsm.Fsm2024 import mogo.telematics.pad.MessagePad import mogo_msg.MogoReportMsg import system_master.SsmInfo import system_master.SystemStatusInfo import java.lang.Exception +import java.util.concurrent.atomic.AtomicLong import kotlin.properties.Delegates object OchAutoPilotStatusListenerManager : CallerBase(),IMoGoAutopilotStatusListener, - (Boolean) -> Unit { + (Boolean) -> Unit, IMoGoFsm2024Listener, IMoGoReceiveReceivedAckListener { const val TAG = "OCHAutoPilotStatusListenerManager" + val fsmBackSessionId = AtomicLong(-1L) + private var canStartAutopilot:Boolean? by Delegates.observable(null) { _, oldValue, newValue -> if (oldValue != newValue) { M_LISTENERS.forEach { @@ -36,6 +48,18 @@ object OchAutoPilotStatusListenerManager : CallerBase + if (oldValue != newValue) { + M_LISTENERS.forEach { + val listener = it.value + listener.onFsmCanStartAutopilot(newValue) + } + } + } + + val canStartAutopilotFromFSM:Boolean + get() = _canStartAutopilotFromFSM + private var _autopilotState: Int by Delegates.observable(0) { _, oldValue, newValue -> if (oldValue != newValue) { if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { @@ -67,6 +91,8 @@ object OchAutoPilotStatusListenerManager : CallerBase { - if (!CallerAutoPilotControlManager.isCanStartAutopilot(false)) {// 不可用 + if (!CallerAutoPilotControlManager.isCanStartAutopilot(false) && !OchAutoPilotStatusListenerManager.canStartAutopilotFromFSM) {// 不可用 this.viewCallback?.autopilotDisable() } else {// 部分可用 this.viewCallback?.canStartAutopilot() From 983dfab7ead427d01384322871174feacd9a692d Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 18 Oct 2024 16:24:59 +0800 Subject: [PATCH 3/3] =?UTF-8?q?[6.7.0]=20[fea]=20[=E7=AB=99=E7=82=B9id?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=A0=B8=E9=94=80=E4=BA=BA=E6=95=B0]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/och/weaknet/model/TicketModel.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt index 1f08e27aca..8bcfdb3a8f 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt @@ -12,6 +12,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.och.common.module.manager.autopilot.line.LineManager +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.manager.loop.BizLoopManager import com.mogo.och.common.module.manager.loop.LoopInfo import com.mogo.och.common.module.manager.socket.cloud.IOchOnMessageListener @@ -97,16 +98,17 @@ object TicketModel : IOchOnMessageListener{ } private fun selectWriteOffCount(){ - LineManager.getStations().second?.let { endStation-> + LineManager.getStations().first?.let { firstStation-> LineModel.currentTask?.let { currentTask-> ShuttleSaasServiceManager.queryBusTaskByLineId(AbsMogoApplication.getApp(), "${currentTask.taskId}", - "${endStation.siteId}", + "${firstStation.siteId}", object : OchCommonServiceCallback { override fun onSuccess(data: WriteOffCountResponse?) { data?.data?.let { emitterMain?.onNext(it) - d(SceneConstant.M_BUS + TAG, "${endStation.name}核销人数:${it}") + d(SceneConstant.M_BUS + TAG, "${firstStation.name}核销人数:${it}") + OchChainLogManager.writeChainLog("核销人数","任务:${currentTask.taskId} zhan'dian") } }