From accdce8a7c461df53da5464ab9e91c6a2af2ad2c Mon Sep 17 00:00:00 2001 From: bxb Date: Thu, 18 May 2023 17:20:47 +0800 Subject: [PATCH] =?UTF-8?q?[sweeper-cloud]pad=E7=AB=AF=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E5=B7=A5=E6=8E=A7=E6=9C=BA=E7=9A=84=E8=BF=9E=E6=8E=A5=E7=8A=B6?= =?UTF-8?q?=E6=80=81=EF=BC=8C=E8=B0=83=E7=94=A8=E8=8E=B7=E5=8F=96=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E9=98=B2=E6=AD=A2=E5=B7=A5=E6=8E=A7=E6=9C=BA=E6=96=AD=E5=BC=80?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E6=97=B6=EF=BC=8Cpad=E6=9C=AA=E6=8B=89?= =?UTF-8?q?=E5=8F=96=E5=88=B0=E5=BD=93=E5=89=8D=E6=AD=A3=E5=9C=A8=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E7=9A=84=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sweepercloud/model/SweeperTaskModel.java | 61 ++++++++++++------- 1 file changed, 38 insertions(+), 23 deletions(-) diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/model/SweeperTaskModel.java b/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/model/SweeperTaskModel.java index 73382cb613..6d20c7ab1a 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/model/SweeperTaskModel.java +++ b/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/model/SweeperTaskModel.java @@ -22,6 +22,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListener import com.mogo.eagle.core.function.call.autopilot.CallerSweeperFutianCleanSystemListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerSweeperFutianCloudTaskListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; +import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.och.common.module.manager.OCHAdasAbilityManager; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; import com.mogo.och.common.module.utils.NumberFormatUtil; @@ -300,10 +301,8 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM public void onSweeperFutianCloudTask(@NonNull SweeperCloudTask.MessageType messageType, String reqNo, long sysTime, SweeperTask.TaskInfo taskInfo) { - if (taskInfo != null) { - CallerLogger.INSTANCE.d(M_SWEEPER + TAG, - "messageType: "+messageType.getNumber()+" sysTime:"+sysTime+ "reqNo:"+reqNo+" onSweeperFutianCloudTask:" +printMessage(taskInfo) + " mSweeperTaskCallback:" + mSweeperTaskCallback); - } + CallerLogger.INSTANCE.d(M_SWEEPER + TAG, + "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " onSweeperFutianCloudTask:" + taskInfo == null ? "null" : printMessage(taskInfo) + " mSweeperTaskCallback:" + mSweeperTaskCallback); if (mSweeperTaskCallback != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudTask(messageType, taskInfo); @@ -314,8 +313,9 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM public void onSweeperFutianCloudTaskConfirm(@NonNull SweeperCloudTask.MessageType messageType, String reqNo, long sysTime, SweeperTaskConfirm.TaskConfirm taskConfirm) { - CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "messageType: "+messageType.getNumber()+" sysTime:"+sysTime+ "reqNo:"+reqNo+" onSweeperFutianCloudTaskConfirm:" + printMessage(taskConfirm)); - if (mSweeperTaskCallback != null&&taskConfirm!=null) { + CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " + + "onSweeperFutianCloudTaskConfirm:" + printMessage(taskConfirm)); + if (mSweeperTaskCallback != null && taskConfirm != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudTaskConfirm(taskConfirm.getTaskId(), taskConfirm.getSubTaskId()); } @@ -324,8 +324,9 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM @Override public void onSweeperFutianCloudTaskStatus(@NonNull SweeperCloudTask.MessageType messageType, String reqNo, long sysTime, SweeperTaskStatus.TaskStatusPush taskStatusPush) { - CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "messageType: "+messageType.getNumber()+" sysTime:"+sysTime+ "reqNo:"+reqNo+" onSweeperFutianCloudTaskStatus:" + printMessage(taskStatusPush)); - if (mSweeperTaskCallback != null&&taskStatusPush!=null) { + CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " + + "onSweeperFutianCloudTaskStatus:" + printMessage(taskStatusPush)); + if (mSweeperTaskCallback != null && taskStatusPush != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudTaskStatus(taskStatusPush.getTaskId(), taskStatusPush.getSubTaskId(), taskStatusPush.getTaskStatus()); } @@ -334,18 +335,20 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM @Override public void onSweeperFutianCloudTaskStop(@NonNull SweeperCloudTask.MessageType messageType, String reqNo, long sysTime, SweeperTaskStop.StopTaskReq stopTaskReq) { - CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "messageType: "+messageType.getNumber()+" sysTime:"+sysTime+ "reqNo:"+reqNo+" onSweeperFutianCloudTaskStop:" + printMessage(stopTaskReq)); - if (mSweeperTaskCallback != null&&stopTaskReq!=null) { + CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " + + "onSweeperFutianCloudTaskStop:" + printMessage(stopTaskReq)); + if (mSweeperTaskCallback != null && stopTaskReq != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudTaskStop(stopTaskReq.getTaskId(), stopTaskReq.getType()); } } @Override - public void onSweeperFutianCloudTaskSuspendResume(@NonNull SweeperCloudTask.MessageType messageType,String reqNo, long sysTime, + public void onSweeperFutianCloudTaskSuspendResume(@NonNull SweeperCloudTask.MessageType messageType, String reqNo, long sysTime, SweeperTaskSuspendResume.SuspendResumeTaskResp suspendResumeTaskResp) { - CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "messageType: "+messageType.getNumber()+" sysTime:"+sysTime+ "reqNo:"+reqNo+" onSweeperFutianCloudTaskSuspendResume:" + printMessage(suspendResumeTaskResp)); - if (mSweeperTaskCallback != null&&suspendResumeTaskResp!=null) { + CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " + + "onSweeperFutianCloudTaskSuspendResume:" + printMessage(suspendResumeTaskResp)); + if (mSweeperTaskCallback != null && suspendResumeTaskResp != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudTaskSuspendResume(messageType, suspendResumeTaskResp.getTaskId(), suspendResumeTaskResp.getSubTaskId(), suspendResumeTaskResp.getCode()); @@ -355,8 +358,9 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM @Override public void onSweeperFutianCloudBootable(@NonNull SweeperCloudTask.MessageType messageType, String reqNo, long sysTime, SweeperBootable.IsBootableResp isBootableResp) { - CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "messageType: "+messageType.getNumber()+" sysTime:"+sysTime+ "reqNo:"+reqNo+" onSweeperFutianCloudBootable:" + printMessage(isBootableResp)); - if (mSweeperTaskCallback != null&&isBootableResp!=null) { + CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " + + "onSweeperFutianCloudBootable:" + printMessage(isBootableResp)); + if (mSweeperTaskCallback != null && isBootableResp != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudBootable(isBootableResp.getTaskId(), isBootableResp.getSubTaskId(), isBootableResp); } @@ -365,8 +369,9 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM @Override public void onSweeperFutianCloudBigTaskStatus(@NonNull SweeperCloudTask.MessageType messageType, String reqNo, long sysTime, SweeperBigTaskStatus.BigTaskStatusPush bigTaskStatusPush) { - CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "messageType: "+messageType.getNumber()+" sysTime:"+sysTime+ "reqNo:"+reqNo+" onSweeperFutianCloudBigTaskStatus:" + printMessage(bigTaskStatusPush)); - if (mSweeperTaskCallback != null&&bigTaskStatusPush!=null) { + CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " + + "onSweeperFutianCloudBigTaskStatus:" + printMessage(bigTaskStatusPush)); + if (mSweeperTaskCallback != null && bigTaskStatusPush != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudBigTaskStatus(bigTaskStatusPush.getTaskId(), bigTaskStatusPush.getTaskStatus()); } @@ -458,7 +463,8 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM builder.setSn(getDriverSn()); String reqNo = SweeperCloudTaskUtils.getRequestId(); SweeperTask.GetTaskReq getTaskReq = builder.build(); - CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "getCurrentTask:" + printMessage(getTaskReq) + " reqNo:" + reqNo +" messageType:"+ SweeperCloudTask.MessageType.PadSendGetTaskReq.getNumber()); + CallerLogger.INSTANCE.d(M_SWEEPER + TAG, + "getCurrentTask:" + printMessage(getTaskReq) + " reqNo:" + reqNo + " messageType:" + SweeperCloudTask.MessageType.PadSendGetTaskReq.getNumber()); getAutoPilotControlManager().sendSweeperGetTaskReq(reqNo, getTaskReq); // TODO: 2023/5/5 模拟云控获取任务 // UiThreadHandler.postDelayed(() -> { @@ -478,7 +484,8 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM SweeperTask.StartTaskResp startTaskResp = builder.build(); String reqNo = msgTypeAndReqNo.get(SweeperCloudTask.MessageType.CloudPushTask.getNumber()); getAutoPilotControlManager().sendSweeperStartTaskResp(reqNo, startTaskResp); - CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "sendSweeperStartTaskResp:" + printMessage(startTaskResp) + " reqNo:" + reqNo+" messageType:"+ SweeperCloudTask.MessageType.CloudPushTask.getNumber()); + CallerLogger.INSTANCE.d(M_SWEEPER + TAG, + "sendSweeperStartTaskResp:" + printMessage(startTaskResp) + " reqNo:" + reqNo + " messageType:" + SweeperCloudTask.MessageType.CloudPushTask.getNumber()); } /** @@ -492,7 +499,8 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM builder.setCode(code); SweeperTaskConfirm.TaskConfirmResp taskConfirmResp = builder.build(); String reqNo = msgTypeAndReqNo.get(SweeperCloudTask.MessageType.CloudPushTaskConfirm.getNumber()); - CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "sendSweeperTaskConfirmResp" + printMessage(taskConfirmResp) + " reqNo:" + reqNo+" messageType:"+ SweeperCloudTask.MessageType.CloudPushTaskConfirm.getNumber()); + CallerLogger.INSTANCE.d(M_SWEEPER + TAG, + "sendSweeperTaskConfirmResp" + printMessage(taskConfirmResp) + " reqNo:" + reqNo + " messageType:" + SweeperCloudTask.MessageType.CloudPushTaskConfirm.getNumber()); getAutoPilotControlManager().sendSweeperTaskConfirmResp(reqNo, taskConfirmResp); } @@ -509,7 +517,8 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM builder.setCode(code); SweeperTaskStop.StopTaskResp stopTaskResp = builder.build(); String reqNo = msgTypeAndReqNo.get(SweeperCloudTask.MessageType.CloudPushTaskStop.getNumber()); - CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "sendSweeperStopTaskResp" + printMessage(stopTaskResp) + " reqNo:" + reqNo+" messageType:"+ SweeperCloudTask.MessageType.CloudPushTaskStop.getNumber()); + CallerLogger.INSTANCE.d(M_SWEEPER + TAG, + "sendSweeperStopTaskResp" + printMessage(stopTaskResp) + " reqNo:" + reqNo + " messageType:" + SweeperCloudTask.MessageType.CloudPushTaskStop.getNumber()); getAutoPilotControlManager().sendSweeperStopTaskResp(reqNo, stopTaskResp); } @@ -528,10 +537,11 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM builder.setLineId(lineId); SweeperBootable.IsBootable isBootable = builder.build(); String reqNo = SweeperCloudTaskUtils.getRequestId(); - CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "sendSweeperAutopilotBootable" + printMessage(isBootable) + " reqNo:" + reqNo+" messageType:"+ SweeperCloudTask.MessageType.PadSendBootable.getNumber()); + CallerLogger.INSTANCE.d(M_SWEEPER + TAG, + "sendSweeperAutopilotBootable" + printMessage(isBootable) + " reqNo:" + reqNo + " messageType:" + SweeperCloudTask.MessageType.PadSendBootable.getNumber()); getAutoPilotControlManager().sendSweeperAutopilotBootable(reqNo, isBootable); // TODO: 2023/5/16 - SweeperCloudTaskUtils.mockSendCloudBootable(); + //SweeperCloudTaskUtils.mockSendCloudBootable(); } public CallerAutoPilotControlManager getAutoPilotControlManager() { @@ -577,6 +587,11 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM @Override public void onAutopilotIpcConnectStatusChanged(int status, @Nullable String reason) { + if (status == 0x00){//判断工控机重连后,获取当前正在执行的子任务,延时10秒,防止工控机连接上时SN为空 + UiThreadHandler.postDelayed(()->{ + getCurrentTask(); + },10000); + } //CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "onAutopilotIpcConnectStatusChanged status:" + status + " reason:" + reason); }