From 08e278498ef15e39fee1cfca81fabd054e6211b0 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@gmail.com>
Date: 星期六, 28 六月 2025 16:19:45 +0800
Subject: [PATCH] #

---
 zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/ProtocolPojoType.java       |    2 ++
 zy-acs-gateway/src/main/java/com/zy/acs/gateway/handler/AgvPackageServerHandler.java |    7 +++++++
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java  |    2 +-
 zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/AGV_B1_DOWN.java       |   39 +++++++++++++++++++++++++++++++++++++++
 zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/ProtocolType.java           |    2 ++
 5 files changed, 51 insertions(+), 1 deletions(-)

diff --git a/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/AGV_B1_DOWN.java b/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/AGV_B1_DOWN.java
new file mode 100644
index 0000000..bd1355d
--- /dev/null
+++ b/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/AGV_B1_DOWN.java
@@ -0,0 +1,39 @@
+package com.zy.acs.common.domain.protocol;
+
+import com.zy.acs.common.utils.Utils;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 璺緞鏁版嵁鍖呭洖澶峚ck
+ * Created by vincent on 2023/3/16
+ */
+@Data
+public class AGV_B1_DOWN implements IMessageBody, Serializable {
+
+    private static final long serialVersionUID = 6922520569887812372L;
+
+    @Override
+    public byte[] writeToBytes() {
+
+        String serialNo = Utils.zeroFill(this.serialNo, 16);
+        byte[] serialNoBytes = Utils.reverse(serialNo.getBytes());
+
+        byte pathLen0 = (byte) this.pathLen;
+
+        return Utils.merge(serialNoBytes, pathLen0);
+    }
+
+    @Override
+    public void readFromBytes(byte[] messageBodyBytes) {
+
+    }
+
+    // 娴佹按鍙� - 16
+    private String serialNo;
+
+    // 璺緞闀垮害
+    private int pathLen;
+
+}
diff --git a/zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/ProtocolPojoType.java b/zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/ProtocolPojoType.java
index 8bde267..590f527 100644
--- a/zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/ProtocolPojoType.java
+++ b/zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/ProtocolPojoType.java
@@ -20,6 +20,8 @@
 
     HEARTBEAT_COMMAND(ProtocolType.HEARTBEAT_COMMAND, AGV_03_DOWN.class),
 
+    PATH_ACK_COMMAND(ProtocolType.PATH_ACK_RESPONSE, AGV_B1_DOWN.class),
+
     ;
 
 
diff --git a/zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/ProtocolType.java b/zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/ProtocolType.java
index 0b72c96..6a7ae92 100644
--- a/zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/ProtocolType.java
+++ b/zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/ProtocolType.java
@@ -24,6 +24,8 @@
 
     ACTION_FAIL_ACK(0xA0, "鍔ㄤ綔瀹屾垚澶辫触搴旂瓟", DirectionType.DOWN),
 
+    PATH_ACK_RESPONSE(0xB1, "璺緞鏁版嵁鍖呭洖澶峚ck", DirectionType.DOWN),
+
     // 涓婅 -------------------------------------------------------------------
 
     PATH_ACK(0x01, "璺緞搴旂瓟鍖�", DirectionType.UP),
diff --git a/zy-acs-gateway/src/main/java/com/zy/acs/gateway/handler/AgvPackageServerHandler.java b/zy-acs-gateway/src/main/java/com/zy/acs/gateway/handler/AgvPackageServerHandler.java
index 5a9d201..49ad300 100644
--- a/zy-acs-gateway/src/main/java/com/zy/acs/gateway/handler/AgvPackageServerHandler.java
+++ b/zy-acs-gateway/src/main/java/com/zy/acs/gateway/handler/AgvPackageServerHandler.java
@@ -48,6 +48,13 @@
                         , pac.getHeader().getUniqueNo() + "_" + agv_01_up.getSerialNo()
                         , agv_01_up);
 
+                AgvPackage pathAckPac = AckMsgBuilder.ofSuccess(pac, ProtocolType.PATH_ACK_RESPONSE);
+
+                AGV_B1_DOWN agv_b1_down = (AGV_B1_DOWN) pathAckPac.getBody().getMessageBody();
+                agv_b1_down.setSerialNo(agv_01_up.getSerialNo());
+                agv_b1_down.setPathLen(agv_01_up.getPathLen());
+                ctx.writeAndFlush(pathAckPac);
+
                 break label;
 
             case COMMAND_ACK:   // 鍛戒护鍖� ack
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
index 43d4ac0..0bf08bd 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
@@ -73,7 +73,7 @@
     private void startupBus() throws InterruptedException {
 //        if (!configService.getVal("TaskAssignMode", Boolean.class)) { return; }
         if (!this.lock.tryLock(LOCK_TIMEOUT, TimeUnit.SECONDS)) { return; }
-        List<Bus> busList = busService.selectBySts(BusStsType.RECEIVE);
+        List<Bus> busList = busService.selectInSts(BusStsType.RECEIVE, BusStsType.PROGRESS);
         for (Bus bus : busList) {
             mainService.allocateTask(bus);
         }

--
Gitblit v1.9.1