From ad46ec101f19c65d1c7ecda38608ea9fac7c9ef1 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期六, 28 二月 2026 10:11:07 +0800
Subject: [PATCH] 1

---
 /dev/null                                                                            |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/PlcErrorTableVo.java               |    2 
 zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/RabbitmqConstant.java       |   12 +++
 zy-acs-gateway/src/main/java/com/zy/acs/gateway/handler/AgvPackageServerHandler.java |   34 ++++++++
 zy-acs-gateway/src/main/java/com/zy/acs/gateway/listen/MessageListener.java          |   14 +++
 zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java                    |  124 ++++++++++++++++++++++++++++++
 zy-acs-gateway/src/main/resources/application.yml                                    |   11 ++
 zy-acs-gateway/pom.xml                                                               |    6 
 8 files changed, 196 insertions(+), 7 deletions(-)

diff --git a/component/component-Influxdb/target/component-Influxdb-1.0.0.jar b/component/component-Influxdb/target/component-Influxdb-1.0.0.jar
deleted file mode 100644
index 3326631..0000000
--- a/component/component-Influxdb/target/component-Influxdb-1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/component/component-Influxdb/target/maven-archiver/pom.properties b/component/component-Influxdb/target/maven-archiver/pom.properties
deleted file mode 100644
index d5a3eea..0000000
--- a/component/component-Influxdb/target/maven-archiver/pom.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-artifactId=component-Influxdb
-groupId=com.zy
-version=1.0.0
diff --git a/component/component-Influxdb/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/component/component-Influxdb/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
deleted file mode 100644
index e69de29..0000000
--- a/component/component-Influxdb/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ /dev/null
diff --git a/component/component-Influxdb/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/component/component-Influxdb/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
deleted file mode 100644
index cf02f78..0000000
--- a/component/component-Influxdb/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ /dev/null
@@ -1,3 +0,0 @@
-D:\office\code\rcs-flow\component\component-Influxdb\src\main\java\com\zy\component\influxdb\config\InfluxDBAutoConfiguration.java
-D:\office\code\rcs-flow\component\component-Influxdb\src\main\java\com\zy\component\influxdb\properties\InfluxDBProperties.java
-D:\office\code\rcs-flow\component\component-Influxdb\src\main\java\com\zy\component\influxdb\service\InfluxDBService.java
diff --git a/component/component-Influxdb/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/component/component-Influxdb/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
deleted file mode 100644
index e69de29..0000000
--- a/component/component-Influxdb/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
+++ /dev/null
diff --git a/component/component-Influxdb/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/component/component-Influxdb/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
deleted file mode 100644
index e69de29..0000000
--- a/component/component-Influxdb/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
+++ /dev/null
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java
index c7ddbcc..1fc4c38 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java
@@ -3,6 +3,7 @@
 import com.core.common.R;
 import com.zy.asrs.controller.requestParam.StaParam;
 import com.zy.asrs.controller.responseParam.StationResponseParam;
+import com.zy.asrs.controller.vo.PlcErrorTableVo;
 import com.zy.asrs.entity.Job;
 import com.zy.asrs.service.JobService;
 import com.zy.common.web.BaseController;
@@ -38,7 +39,7 @@
     @ResponseBody
     @PostMapping("/station/getTaskNo")
     public R query(@RequestBody StaParam param) {
-        log.info("鏍规嵁绔欑偣鏌ヨtaskNo锛歿}", param);
+        log.info("鏍规嵁绔欑偣鏌ヨstaNo锛歿}", param);
         String staNo = param.getStaNo();
         DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, param.getDevpId());
         List<StationResponseParam> list = new ArrayList<>();
@@ -55,4 +56,125 @@
     }
 
 
+    /**
+     * 鏌ヨ寮傚父
+     */
+    @ResponseBody
+    @PostMapping("/station/getError")
+    public R getError(@RequestBody StaParam param) {
+        log.info("鏍规嵁绔欑偣鏌ヨstaNo锛歿}", param);
+        String staNo = param.getStaNo();
+        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, param.getDevpId());
+        Map<Integer, StaProtocol> station = devpThread.getStation();
+        StaProtocol staProtocol = station.get(Integer.parseInt(staNo));
+        return R.ok(staPlcErr(staProtocol));
+    }
+
+
+    private List<PlcErrorTableVo> staPlcErr(StaProtocol staProtocol) {
+        if (staProtocol == null) {
+            return null;
+        }
+        List<PlcErrorTableVo> list = new ArrayList<>();
+        if (staProtocol.getBreakerErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());   //  搴忓彿
+            vo.setPlcDesc("鏂矾鍣ㄦ晠闅�");
+            vo.setError("鏂矾鍣ㄦ晠闅�");
+            list.add(vo);
+        }
+        if (staProtocol.getInfraredErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());   //  搴忓彿
+            vo.setPlcDesc("鍏夌數寮傚父");
+            vo.setError("鍏夌數寮傚父");
+            list.add(vo);
+        }
+        if (staProtocol.getOutTimeErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());   //  搴忓彿
+            vo.setPlcDesc("杩愯瓒呮椂");
+            vo.setError("杩愯瓒呮椂");
+            list.add(vo);
+        }
+        if (staProtocol.getSeizeSeatErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());   //  搴忓彿
+            vo.setPlcDesc("鍗犱綅瓒呮椂");
+            vo.setError("鍗犱綅瓒呮椂");
+            list.add(vo);
+        }
+        if (staProtocol.getWrkYgoodsN()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());   //  搴忓彿
+            vo.setPlcDesc("鏈変换鍔℃棤璐ф晠闅�");
+            vo.setError("鏈変换鍔℃棤璐ф晠闅�");
+            list.add(vo);
+        }
+        if (staProtocol.getInverterErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());   //  搴忓彿
+            vo.setPlcDesc("鍙橀鍣ㄦ晠闅�");
+            vo.setError("鍙橀鍣ㄦ晠闅�");
+            list.add(vo);
+        }
+        if (staProtocol.getContactErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());   //  搴忓彿
+            vo.setPlcDesc("鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+            vo.setError("鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+            list.add(vo);
+        }
+        if (staProtocol.getUpcontactErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());   //  搴忓彿
+            vo.setPlcDesc("椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+            vo.setError("椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+            list.add(vo);
+        }
+        if (staProtocol.isFrontErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());   //  搴忓彿
+            vo.setPlcDesc("鍓嶈秴闄�");
+            vo.setError("鍓嶈秴闄�");
+            list.add(vo);
+        }
+        if (staProtocol.isBackErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());   //  搴忓彿
+            vo.setPlcDesc("鍚庤秴闄�");
+            vo.setError("鍚庤秴闄�");
+            list.add(vo);
+        }
+        if (staProtocol.isHighErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());   //  搴忓彿
+            vo.setPlcDesc("楂樿秴闄�");
+            vo.setError("楂樿秴闄�");
+            list.add(vo);
+        }
+        if (staProtocol.isLeftErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());   //  搴忓彿
+            vo.setPlcDesc("宸﹁秴闄�");
+            vo.setError("宸﹁秴闄�");
+            list.add(vo);
+        }
+        if (staProtocol.isRightErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());   //  搴忓彿
+            vo.setPlcDesc("鍙宠秴闄�");
+            vo.setError("鍙宠秴闄�");
+            list.add(vo);
+        }
+        if (staProtocol.isBarcodeErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());   //  搴忓彿
+            vo.setPlcDesc("鎵爜澶辫触");
+            vo.setError("鎵爜澶辫触");
+            list.add(vo);
+        }
+        return list;
+    }
+
 }
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/PlcErrorTableVo.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/PlcErrorTableVo.java
index 2ece170..6339a78 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/PlcErrorTableVo.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/PlcErrorTableVo.java
@@ -9,7 +9,7 @@
 public class PlcErrorTableVo {
 
     // 搴忓彿
-    private Integer no;
+    private Integer staNo;
 
     // plc寮傚父鎻忚堪
     private String plcDesc;
diff --git a/zy-acs-gateway/pom.xml b/zy-acs-gateway/pom.xml
index 71ff2f1..e42691b 100644
--- a/zy-acs-gateway/pom.xml
+++ b/zy-acs-gateway/pom.xml
@@ -43,10 +43,10 @@
             <artifactId>acs-common</artifactId>
             <version>1.0.0</version>
         </dependency>
+        <!-- SpringBoot RabbitMQ -->
         <dependency>
-            <groupId>com.zy</groupId>
-            <artifactId>component-Influxdb</artifactId>
-            <version>1.0.0</version>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-amqp</artifactId>
         </dependency>
     </dependencies>
 
diff --git a/zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/RabbitmqConstant.java b/zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/RabbitmqConstant.java
new file mode 100644
index 0000000..404f87b
--- /dev/null
+++ b/zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/RabbitmqConstant.java
@@ -0,0 +1,12 @@
+package com.zy.acs.gateway.constant;
+
+public class RabbitmqConstant {
+    public static final String TOPIC_EXCHANGE = "rcs_topic_exchange";
+
+    public static final String ROUTING_KEY_UP = "rcs.up.*.*";
+
+    public static final String ROUTING_KEY_DOWN = "rcs.down.*.*";
+
+    public static final String SPILT_REGEX = "\\*";
+
+}
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 21d6741..f1bb23a 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
@@ -7,12 +7,14 @@
 import com.zy.acs.gateway.AbstractInboundHandler;
 import com.zy.acs.gateway.Executors;
 import com.zy.acs.gateway.constant.ProtocolType;
+import com.zy.acs.gateway.constant.RabbitmqConstant;
 import com.zy.acs.gateway.domain.AgvPackage;
 import com.zy.acs.gateway.process.AckMsgBuilder;
 import io.netty.channel.ChannelHandler;
 import io.netty.channel.ChannelHandlerContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -30,6 +32,11 @@
 
     @Autowired
     private Executors executors;
+
+    @Autowired
+    private RabbitTemplate rabbitTemplate;
+
+
 
     @Override
     @SuppressWarnings("all")
@@ -55,12 +62,18 @@
                 agv_b1_down.setPathLen(agv_01_up.getPathLen());
                 ctx.writeAndFlush(pathAckPac);
 
+                // 鍐欏叆闃熷垪
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PATH_ACK.name()), agv_01_up);
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PATH_ACK_RESPONSE.name()), agv_b1_down);
+
                 break label;
 
             case PICK_PLACE_REQUEST:   // 鍙栨斁璐ц姹傚寘
 
                 AGV_06_UP agv_06_up = (AGV_06_UP) pac.getBody().getMessageBody();
                 redis.push(RedisConstant.AGV_COMPLETE_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_06_up));
+                // 鍐欏叆闃熷垪
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PICK_PLACE_REQUEST.name()), agv_06_up);
 
                 break label;
 
@@ -71,6 +84,8 @@
                 redis.setObject(RedisConstant.AGV_CMD_UP_FLAG
                         , pac.getHeader().getUniqueNo() + "_" + agv_02_up.getSerialNo()
                         , agv_02_up);
+                // 鍐欏叆闃熷垪
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.COMMAND_ACK.name()), agv_02_up);
 
                 break label;
 
@@ -80,6 +95,9 @@
                 AGV_11_UP agv_11_up = (AGV_11_UP) pac.getBody().getMessageBody();
                 redis.push(RedisConstant.AGV_COMPLETE_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_11_up));
 
+                // 鍐欏叆闃熷垪
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.ACTION_COMPLETE.name()), agv_11_up);
+
                 // 鍔ㄤ綔瀹屾垚搴旂瓟
                 if (null != ackType) {
                     AgvPackage ackPac = AckMsgBuilder.ofSuccess(pac, ackType);
@@ -88,8 +106,9 @@
                     agv_a1_down.setAckSign((byte) agv_11_up.getCompleteCode());
 
                     ctx.writeAndFlush(ackPac);
-                }
 
+                    rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ackType.name()), agv_a1_down);
+                }
 
                 break label;
 
@@ -105,6 +124,8 @@
 //                    }
 //
 //                });
+                // 鍐欏叆闃熷垪
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.DATA_CODE_REPORT.name()), agv_12_up);
 
                 break label;
 
@@ -121,6 +142,8 @@
 //
 //                });
 
+                // 鍐欏叆闃熷垪
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.DATA_WITHOUT_CODE_REPORT.name()), agv_13_up);
 
                 break label;
 
@@ -143,6 +166,8 @@
 //                    }
 //
 //                });
+                // 鍐欏叆闃熷垪
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.HEARTBEAT_REPORT.name()), agv_03_up);
 
                 break label;
                 
@@ -159,6 +184,8 @@
 //
 //                });
 
+                // 鍐欏叆闃熷垪
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.SILO_REPORT.name()), agv_70_up);
 
                 break label;
 
@@ -166,12 +193,15 @@
 
                 AGV_F0_UP agv_f0_up = (AGV_F0_UP) pac.getBody().getMessageBody();
                 redis.push(RedisConstant.AGV_DATA_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_f0_up));
+                // 鍐欏叆闃熷垪
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.LOGIN_REPORT.name()), agv_f0_up);
 
                 // 鐧诲綍搴旂瓟
                 if (null != ackType) {
                     AgvPackage ackPac = AckMsgBuilder.ofSuccess(pac, ackType);
 
                     ctx.writeAndFlush(ackPac);
+                    rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ackType.name()), ackPac.getBody().getMessageBody());
                 }
 
                 // 30s redis
@@ -184,6 +214,8 @@
                 AGV_04_UP agv_04_up = (AGV_04_UP) pac.getBody().getMessageBody();
                 redis.push(RedisConstant.AGV_DATA_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_04_up));
 
+                // 鍐欏叆闃熷垪
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.FAULT_REPORT.name()), agv_04_up);
 
                 break label;
 
diff --git a/zy-acs-gateway/src/main/java/com/zy/acs/gateway/listen/MessageListener.java b/zy-acs-gateway/src/main/java/com/zy/acs/gateway/listen/MessageListener.java
index 99904ef..56c1489 100644
--- a/zy-acs-gateway/src/main/java/com/zy/acs/gateway/listen/MessageListener.java
+++ b/zy-acs-gateway/src/main/java/com/zy/acs/gateway/listen/MessageListener.java
@@ -6,10 +6,14 @@
 import com.zy.acs.common.utils.RedisSupport;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.gateway.config.SystemProperties;
+import com.zy.acs.gateway.constant.ProtocolType;
+import com.zy.acs.gateway.constant.RabbitmqConstant;
+import com.zy.acs.gateway.domain.AgvPackage;
 import com.zy.acs.gateway.job.DispatcherPublisher;
 import com.zy.acs.gateway.utils.ProtocolUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -33,6 +37,10 @@
     @Autowired
     private SystemProperties systemProperties;
 
+    @Autowired
+    private RabbitTemplate rabbitTemplate;
+
+
     @PostConstruct
     private void start(){
         thread = new Thread(() -> {
@@ -43,7 +51,11 @@
                         log.info("鐩戝惉鍣� >>> {}", JSON.toJSONString(protocol));
                     }
                     if (!Cools.isEmpty(protocol.getAgvNo())) {
-                        publisher.publish(ProtocolUtils.installDownProtocol(protocol));
+                        AgvPackage agvPackage = ProtocolUtils.installDownProtocol(protocol);
+                        publisher.publish(agvPackage);
+                        // 鍐欏叆闃熷垪
+                        rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, protocol.getAgvNo()).replaceFirst(RabbitmqConstant.SPILT_REGEX, agvPackage.getHeader().getProtocolType().name()), agvPackage.getBody().getMessageBody());
+
                     }
                 }
                 // 闂撮殧
diff --git a/zy-acs-gateway/src/main/resources/application.yml b/zy-acs-gateway/src/main/resources/application.yml
index 98afef8..327e9e3 100644
--- a/zy-acs-gateway/src/main/resources/application.yml
+++ b/zy-acs-gateway/src/main/resources/application.yml
@@ -10,6 +10,17 @@
     username: root
     password: xltys1995
 
+  rabbitmq:
+    host: localhost
+    port: 5672
+    username: root
+    password: xltys1995
+    # 铏氭嫙host鍙互涓嶈缃紝榛樿/
+    virtual-host: /
+    # 鐢熶骇鑰呯‘璁ら厤缃�
+    publisher-confirm-type: correlated
+    publisher-returns: true
+
 eureka:
   client:
     enabled: false

--
Gitblit v1.9.1