From 675c3b5d83b928c2bfbb84cd99a7d3f222d4432c Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期四, 05 三月 2026 10:18:16 +0800
Subject: [PATCH] 1

---
 zy-acs-hex/src/main/java/com/zy/acs/hex/controller/TestController.java                            |    2 
 zy-acs-hex/src/main/java/com/zy/acs/hex/domain/Device.java                                        |    1 
 zy-acs-gateway/src/main/java/com/zy/acs/gateway/handler/AgvPackageServerHandler.java              |   28 +-
 zy-acs-cv/src/main/java/com/zy/common/config/CoolExceptionHandler.java                            |   16 
 zy-acs-cv/src/main/java/com/zy/asrs/utils/Utils.java                                              |    4 
 zy-acs-common/src/main/java/com/zy/acs/common/domain/mq/DeviceMessage.java                        |   18 +
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java                    |    2 
 component/component-Influxdb/src/main/java/com/zy/component/influxdb/service/InfluxDBService.java |    4 
 zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/UpMessageListener.java                           |    9 
 zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java                                 |   10 
 zy-acs-cv/pom.xml                                                                                 |    6 
 zy-acs-cv/src/main/resources/mapper/DevpMapper.xml                                                |   21 -
 zy-acs-cv/src/main/java/com/zy/asrs/service/impl/DevpServiceImpl.java                             |   26 +-
 zy-acs-hex/src/main/java/com/zy/acs/hex/utils/ObjectToMapUtils.java                               |   35 +++
 zy-acs-cv/src/main/java/com/zy/asrs/entity/Devp.java                                              |   12 +
 zy-acs-cv/src/main/java/com/zy/common/utils/ReflectUtils.java                                     |    3 
 zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/DownMessageListener.java                         |    8 
 zy-acs-hex/src/main/java/com/zy/acs/hex/utils/StrUtils.java                                       |   20 +-
 zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/listener/AbstractListener.java                   |    4 
 zy-acs-cv/src/main/java/com/zy/core/model/protocol/StaProtocol.java                               |    3 
 zy-acs-cv/src/main/java/com/zy/core/thread/BarcodeThread.java                                     |    4 
 zy-acs-cv/src/main/java/com/zy/common/web/BaseController.java                                     |    2 
 zy-acs-cv/src/main/java/com/zy/common/CodeRes.java                                                |    3 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java                                 |    2 
 zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WrkLastnoServiceImpl.java                        |    4 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/CtuController.java                                 |    4 
 zy-acs-cv/src/main/java/com/zy/asrs/service/DevpService.java                                      |   27 --
 zy-acs-cv/src/main/java/com/zy/asrs/controller/NewsController.java                                |    2 
 zy-acs-cv/src/main/webapp/views/pipeline.html                                                     |   69 ++++--
 /dev/null                                                                                         |  171 -----------------
 zy-acs-hex/src/main/resources/application.yml                                                     |    4 
 zy-acs-cv/src/main/java/com/zy/asrs/mapper/DevpMapper.java                                        |    4 
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java                     |    4 
 zy-acs-gateway/src/main/java/com/zy/acs/gateway/listen/MessageListener.java                       |    4 
 zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WmsMainServiceImpl.java                          |    2 
 zy-acs-cv/src/main/java/com/zy/common/utils/Http.java                                             |    2 
 zy-acs-cv/src/main/java/com/zy/common/config/AdminInterceptor.java                                |    6 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java                                |    6 
 zy-acs-cv/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java                          |    2 
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java               |    2 
 40 files changed, 212 insertions(+), 344 deletions(-)

diff --git a/component/component-Influxdb/src/main/java/com/zy/component/influxdb/service/InfluxDBService.java b/component/component-Influxdb/src/main/java/com/zy/component/influxdb/service/InfluxDBService.java
index bb79b77..eaf78eb 100644
--- a/component/component-Influxdb/src/main/java/com/zy/component/influxdb/service/InfluxDBService.java
+++ b/component/component-Influxdb/src/main/java/com/zy/component/influxdb/service/InfluxDBService.java
@@ -38,11 +38,11 @@
      * @param tags        鏍囩
      * @param fields      瀛楁
      */
-    public void writeData(String measurement, Map<String, String> tags, Map<String, Object> fields) {
+    public void writeData(String measurement, Map<String, String> tags, Map<String, Object> fields,Long timestamp) {
         Point point = Point.measurement(measurement)
                 .setTags(tags)
                 .setFields(fields)
-                .setTimestamp(Instant.now().toEpochMilli(), WritePrecision.MS);
+                .setTimestamp(timestamp, WritePrecision.MS);
         try {
             influxDBClient.writePoint(point);
         } catch (Exception e) {
diff --git a/zy-acs-common/src/main/java/com/zy/acs/common/domain/mq/DeviceMessage.java b/zy-acs-common/src/main/java/com/zy/acs/common/domain/mq/DeviceMessage.java
new file mode 100644
index 0000000..790aabb
--- /dev/null
+++ b/zy-acs-common/src/main/java/com/zy/acs/common/domain/mq/DeviceMessage.java
@@ -0,0 +1,18 @@
+package com.zy.acs.common.domain.mq;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+public class DeviceMessage implements Serializable {
+
+    private String sourceHexStr;
+
+    private Long timestamp = System.currentTimeMillis();
+
+}
diff --git a/zy-acs-cv/pom.xml b/zy-acs-cv/pom.xml
index 38bad6c..c39de6c 100644
--- a/zy-acs-cv/pom.xml
+++ b/zy-acs-cv/pom.xml
@@ -36,9 +36,9 @@
             <artifactId>spring-boot-starter-data-redis</artifactId>
         </dependency>
         <dependency>
-            <groupId>cn.cool</groupId>
-            <artifactId>framework</artifactId>
-            <version>${cool.version}</version>
+            <groupId>com.zy</groupId>
+            <artifactId>acs-common</artifactId>
+            <version>1.0.0</version>
         </dependency>
         <dependency>
             <groupId>mysql</groupId>
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/CtuController.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/CtuController.java
index 523b1d9..c5715ec 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/controller/CtuController.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/CtuController.java
@@ -1,7 +1,7 @@
 package com.zy.asrs.controller;
 
-import com.core.common.Cools;
-import com.core.common.R;
+import com.zy.acs.framework.common.Cools;
+import com.zy.acs.framework.common.R;
 import com.zy.asrs.controller.requestParam.StationRequestParam;
 import com.zy.asrs.controller.responseParam.StationResponseParam;
 import com.zy.common.web.BaseController;
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/NewsController.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/NewsController.java
index b59b1fb..4036f5e 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/controller/NewsController.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/NewsController.java
@@ -1,6 +1,6 @@
 package com.zy.asrs.controller;
 
-import com.core.common.R;
+import com.zy.acs.framework.common.R;
 import com.zy.common.utils.News;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java
index e613f12..719cf88 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -1,10 +1,8 @@
 package com.zy.asrs.controller;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.annotations.ManagerAuth;
-import com.core.common.Cools;
-import com.core.common.R;
-import com.zy.asrs.controller.vo.PlcErrorTableVo;
+import com.zy.acs.framework.annotations.ManagerAuth;
+import com.zy.acs.framework.common.R;
 import com.zy.asrs.controller.vo.SiteTableVo;
 import com.zy.asrs.entity.Devp;
 import com.zy.asrs.service.DevpService;
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 f0ea305..5ec1b30 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
@@ -1,6 +1,6 @@
 package com.zy.asrs.controller;
 
-import com.core.common.R;
+import com.zy.acs.framework.common.R;
 import com.zy.asrs.controller.requestParam.StaParam;
 import com.zy.asrs.controller.responseParam.StationResponseParam;
 import com.zy.asrs.controller.vo.PlcErrorTableVo;
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/entity/Devp.java b/zy-acs-cv/src/main/java/com/zy/asrs/entity/Devp.java
index 30616f9..4dde4c6 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/entity/Devp.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/entity/Devp.java
@@ -131,4 +131,16 @@
      */
     @ApiModelProperty(value = "澶囨敞")
     private String memo;
+
+
+    public Devp setSqlData(Devp devp) {
+        this.setDevNo(devp.getDevNo());
+        this.setWrkNo(devp.getWrkNo());
+        this.setAutoing(devp.getAutoing() );
+        this.setLoading(devp.getLoading() );
+        this.setInEnable(devp.getInEnable());
+        this.setOutEnable(devp.getOutEnable());
+        this.setUpdateTime(new Date());
+        return this;
+    }
 }
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/mapper/DevpMapper.java b/zy-acs-cv/src/main/java/com/zy/asrs/mapper/DevpMapper.java
index a8adeed..b8c9b15 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/mapper/DevpMapper.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/mapper/DevpMapper.java
@@ -12,7 +12,5 @@
 @Repository
 public interface DevpMapper extends BaseMapper<Devp> {
 
-    List<Integer> getAvailableInSite(@Param("typeNo") Integer typeNo);
-
-    List<Integer> getAvailableOutSite(@Param("typeNo") Integer typeNo);
+    Devp getDevpByDevNo(Integer devpNo);
 }
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/DevpService.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/DevpService.java
index f8dd7e7..6b463cf 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/service/DevpService.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/DevpService.java
@@ -7,33 +7,8 @@
 
 public interface DevpService extends IService<Devp> {
 
-    /**
-     * 鍏ュ簱绔�
-     *
-     * @return
-     */
-    List<Integer> getAvailableInSite();
+    void updateBatchByDevpNo(List<Devp> devps);
 
-    /**
-     * 绌烘澘鍏ュ簱绔�
-     *
-     * @return
-     */
-    List<Integer> getAvailableEmptyInSite();
-
-    /**
-     * 鍑哄簱绔�
-     *
-     * @return
-     */
-    List<Integer> getAvailableOutSite(Integer typeNo);
-
-    /**
-     * 绌烘澘鍑哄簱绔�
-     *
-     * @return
-     */
-    List<Integer> getAvailableEmptyOutSite();
 
     /**
      * 鐩爣绔欑偣鐘舵�佹娴�
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java
index 977311a..05171db 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java
@@ -3,7 +3,7 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.core.exception.CoolException;
+import com.zy.acs.framework.exception.CoolException;
 import com.zy.asrs.controller.requestParam.StationRequestParam;
 import com.zy.asrs.controller.vo.OpenBusSubmitParam;
 import com.zy.asrs.controller.vo.StationStatus;
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/DevpServiceImpl.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/DevpServiceImpl.java
index d5dfd3e..a6ed650 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/DevpServiceImpl.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/DevpServiceImpl.java
@@ -1,10 +1,11 @@
 package com.zy.asrs.service.impl;
 
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.core.exception.CoolException;
+import com.zy.acs.framework.exception.CoolException;
 import com.zy.asrs.entity.Devp;
 import com.zy.asrs.mapper.DevpMapper;
 import com.zy.asrs.service.DevpService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -12,26 +13,19 @@
 @Service("basDevpService")
 public class DevpServiceImpl extends ServiceImpl<DevpMapper, Devp> implements DevpService {
 
-
     @Override
-    public List<Integer> getAvailableInSite() {
-        return this.baseMapper.getAvailableInSite(1);
+    public void updateBatchByDevpNo(List<Devp> devps) {
+        for (Devp devp : devps) {
+            Devp de = baseMapper.getDevpByDevNo(devp.getDevNo());
+            if (de != null) {
+                de.setSqlData(devp);
+                baseMapper.updateById(de);
+            }
+        }
     }
 
-    @Override
-    public List<Integer> getAvailableEmptyInSite() {
-        return this.baseMapper.getAvailableInSite(10);
-    }
 
-    @Override
-    public List<Integer> getAvailableOutSite(Integer typeNo) {
-        return this.baseMapper.getAvailableOutSite(typeNo);
-    }
 
-    @Override
-    public List<Integer> getAvailableEmptyOutSite() {
-        return this.baseMapper.getAvailableOutSite(110);
-    }
 
     @Override
     public Devp checkSiteStatus(Integer devpNo) {
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WmsMainServiceImpl.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WmsMainServiceImpl.java
index a9fe939..b0c825b 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WmsMainServiceImpl.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WmsMainServiceImpl.java
@@ -2,7 +2,7 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.core.exception.CoolException;
+import com.zy.acs.framework.exception.CoolException;
 import com.zy.asrs.controller.vo.ApplyInDto;
 import com.zy.asrs.controller.vo.ApplyInRepsonseDto;
 import com.zy.asrs.service.WmsMainService;
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WrkLastnoServiceImpl.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WrkLastnoServiceImpl.java
index b0053e4..0924ced 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WrkLastnoServiceImpl.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WrkLastnoServiceImpl.java
@@ -1,8 +1,8 @@
 package com.zy.asrs.service.impl;
 
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.core.common.Cools;
-import com.core.exception.CoolException;
+import com.zy.acs.framework.common.Cools;
+import com.zy.acs.framework.exception.CoolException;
 import com.zy.asrs.entity.WrkLastno;
 import com.zy.asrs.mapper.WrkLastnoMapper;
 import com.zy.asrs.service.WrkLastnoService;
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/utils/Utils.java b/zy-acs-cv/src/main/java/com/zy/asrs/utils/Utils.java
index 7189699..bb6be96 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/utils/Utils.java
@@ -1,7 +1,7 @@
 package com.zy.asrs.utils;
 
-import com.core.common.Arith;
-import com.core.common.Cools;
+import com.zy.acs.framework.common.Arith;
+import com.zy.acs.framework.common.Cools;
 import com.zy.core.properties.SlaveProperties;
 
 import java.text.DecimalFormat;
diff --git a/zy-acs-cv/src/main/java/com/zy/common/CodeRes.java b/zy-acs-cv/src/main/java/com/zy/common/CodeRes.java
index 694fe93..5d9c2aa 100644
--- a/zy-acs-cv/src/main/java/com/zy/common/CodeRes.java
+++ b/zy-acs-cv/src/main/java/com/zy/common/CodeRes.java
@@ -1,6 +1,7 @@
 package com.zy.common;
 
-import com.core.common.BaseRes;
+
+import com.zy.acs.framework.common.BaseRes;
 
 public interface CodeRes extends BaseRes {
 
diff --git a/zy-acs-cv/src/main/java/com/zy/common/config/AdminInterceptor.java b/zy-acs-cv/src/main/java/com/zy/common/config/AdminInterceptor.java
index 8496632..62eda39 100644
--- a/zy-acs-cv/src/main/java/com/zy/common/config/AdminInterceptor.java
+++ b/zy-acs-cv/src/main/java/com/zy/common/config/AdminInterceptor.java
@@ -1,8 +1,8 @@
 package com.zy.common.config;
 
-import com.core.annotations.ManagerAuth;
-import com.core.common.BaseRes;
-import com.core.common.Cools;
+import com.zy.acs.framework.annotations.ManagerAuth;
+import com.zy.acs.framework.common.BaseRes;
+import com.zy.acs.framework.common.Cools;
 import com.zy.common.utils.Http;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.lang.Nullable;
diff --git a/zy-acs-cv/src/main/java/com/zy/common/config/CoolExceptionHandler.java b/zy-acs-cv/src/main/java/com/zy/common/config/CoolExceptionHandler.java
index 9a6fe2d..16e4161 100644
--- a/zy-acs-cv/src/main/java/com/zy/common/config/CoolExceptionHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/common/config/CoolExceptionHandler.java
@@ -1,7 +1,7 @@
 package com.zy.common.config;
 
-import com.core.common.R;
-import com.core.exception.CoolException;
+import com.zy.acs.common.domain.BaseResult;
+import com.zy.acs.framework.exception.CoolException;
 import org.springframework.web.HttpRequestMethodNotSupportedException;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.RestControllerAdvice;
@@ -14,19 +14,19 @@
 public class CoolExceptionHandler {
 
     @ExceptionHandler(Exception.class)
-    public R handlerException(HandlerMethod handler, Exception e) {
+    public BaseResult handlerException(HandlerMethod handler, Exception e) {
         e.printStackTrace();
-        return R.error();
+        return BaseResult.error();
     }
 
     @ExceptionHandler(HttpRequestMethodNotSupportedException.class)
-    public R handleHttpRequestMethodNotSupportedException(HttpRequestMethodNotSupportedException e) {
-        return R.error();
+    public BaseResult handleHttpRequestMethodNotSupportedException(HttpRequestMethodNotSupportedException e) {
+        return BaseResult.error();
     }
 
     @ExceptionHandler(CoolException.class)
-    public R handleRRException(CoolException e) {
-        return R.parse(e.getMessage());
+    public BaseResult handleRRException(Exception e) {
+        return BaseResult.error(e.getMessage());
     }
 
 }
diff --git a/zy-acs-cv/src/main/java/com/zy/common/utils/Http.java b/zy-acs-cv/src/main/java/com/zy/common/utils/Http.java
index 48d5fa9..3d8bde7 100644
--- a/zy-acs-cv/src/main/java/com/zy/common/utils/Http.java
+++ b/zy-acs-cv/src/main/java/com/zy/common/utils/Http.java
@@ -3,7 +3,7 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.core.common.R;
+import com.zy.acs.framework.common.R;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.PrintWriter;
diff --git a/zy-acs-cv/src/main/java/com/zy/common/utils/ReflectUtils.java b/zy-acs-cv/src/main/java/com/zy/common/utils/ReflectUtils.java
index 38c287b..a33fd55 100644
--- a/zy-acs-cv/src/main/java/com/zy/common/utils/ReflectUtils.java
+++ b/zy-acs-cv/src/main/java/com/zy/common/utils/ReflectUtils.java
@@ -1,6 +1,7 @@
 package com.zy.common.utils;
 
-import com.core.common.Cools;
+
+import com.zy.acs.framework.common.Cools;
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
diff --git a/zy-acs-cv/src/main/java/com/zy/common/web/BaseController.java b/zy-acs-cv/src/main/java/com/zy/common/web/BaseController.java
index b622261..908581a 100644
--- a/zy-acs-cv/src/main/java/com/zy/common/web/BaseController.java
+++ b/zy-acs-cv/src/main/java/com/zy/common/web/BaseController.java
@@ -1,6 +1,6 @@
 package com.zy.common.web;
 
-import com.core.controller.AbstractBaseController;
+import com.zy.acs.framework.controller.AbstractBaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import javax.servlet.http.HttpServletRequest;
diff --git a/zy-acs-cv/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/zy-acs-cv/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index 56d7254..ba284f4 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -110,6 +110,9 @@
         return devp;
     }
 
+
+
+
     @Override
     public StaProtocol clone() {
         try {
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java
index 268d169..ed859b4 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java
@@ -1,6 +1,6 @@
 package com.zy.core.operation.handler;
 
-import com.core.common.Cools;
+import com.zy.acs.framework.common.Cools;
 import com.zy.asrs.controller.vo.ApplyInDto;
 import com.zy.asrs.controller.vo.ApplyInRepsonseDto;
 import com.zy.asrs.entity.Job;
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java
index e48aa59..0bf54fa 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java
@@ -1,7 +1,7 @@
 package com.zy.core.operation.handler;
 
-import com.core.common.Cools;
-import com.core.exception.CoolException;
+import com.zy.acs.framework.common.Cools;
+import com.zy.acs.framework.exception.CoolException;
 import com.zy.asrs.entity.Job;
 import com.zy.asrs.service.CtuMainService;
 import com.zy.asrs.service.JobService;
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java
index 8473dab..6293f10 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java
@@ -1,6 +1,6 @@
 package com.zy.core.operation.handler;
 
-import com.core.exception.CoolException;
+import com.zy.acs.framework.exception.CoolException;
 import com.zy.asrs.entity.Job;
 import com.zy.asrs.enums.WorkNoTypeType;
 import com.zy.asrs.service.CtuMainService;
diff --git a/zy-acs-cv/src/main/java/com/zy/core/thread/BarcodeThread.java b/zy-acs-cv/src/main/java/com/zy/core/thread/BarcodeThread.java
index d67aafd..56455a8 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/thread/BarcodeThread.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/thread/BarcodeThread.java
@@ -1,8 +1,8 @@
 package com.zy.core.thread;
 
 import com.alibaba.fastjson.JSONObject;
-import com.core.common.Cools;
-import com.core.common.DateUtils;
+import com.zy.acs.framework.common.Cools;
+import com.zy.acs.framework.common.DateUtils;
 import com.zy.common.utils.News;
 import com.zy.core.Slave;
 import com.zy.core.ThreadHandler;
diff --git a/zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 31463da..d6c4e9c 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -5,9 +5,9 @@
 import HslCommunication.Profinet.Siemens.SiemensPLCS;
 import HslCommunication.Profinet.Siemens.SiemensS7Net;
 import com.alibaba.fastjson.JSON;
-import com.core.common.Cools;
-import com.core.common.DateUtils;
-import com.core.exception.CoolException;
+import com.zy.acs.framework.common.Cools;
+import com.zy.acs.framework.common.DateUtils;
+import com.zy.acs.framework.exception.CoolException;
 import com.zy.asrs.entity.Devp;
 import com.zy.asrs.service.DevpService;
 import com.zy.asrs.utils.SpringContextUtil;
@@ -229,7 +229,9 @@
                     devps.add(staProtocol.toSqlModel());
                 }
                 DevpService devpService = SpringContextUtil.getBean(DevpService.class);
-                if (null != devpService && !devpService.updateBatchById(devps)) {
+                if (null != devpService) {
+                    devpService.updateBatchByDevpNo(devps);
+                } else {
                     throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
                 }
             } catch (Exception e) {
diff --git a/zy-acs-cv/src/main/resources/mapper/DevpMapper.xml b/zy-acs-cv/src/main/resources/mapper/DevpMapper.xml
index 76ccff7..2bd14f7 100644
--- a/zy-acs-cv/src/main/resources/mapper/DevpMapper.xml
+++ b/zy-acs-cv/src/main/resources/mapper/DevpMapper.xml
@@ -6,7 +6,6 @@
     <resultMap id="BaseResultMap" type="com.zy.asrs.entity.Devp">
         <id column="dev_no" property="devNo"/>
         <result column="dec_desc" property="decDesc"/>
-        <result column="dev_mk" property="devMk"/>
         <result column="in_enable" property="inEnable"/>
         <result column="out_enable" property="outEnable"/>
         <result column="autoing" property="autoing"/>
@@ -17,24 +16,10 @@
         <result column="barcode" property="barcode"/>
     </resultMap>
 
-    <select id="getAvailableInSite" resultType="java.lang.Integer">
-        select abd.dev_no
-        from asr_bas_devp abd
-                 left join asr_sta_desc asd on abd.dev_no = asd.stn_no
-        where 1 = 1
-          and asd.type_no = #{typeNo}
-          and abd.in_enable = 'Y'
-        group by abd.dev_no
+    <select id="getDevpByDevNo" resultMap="BaseResultMap">
+        select * from cv_devp where dev_no = #{devNo}
     </select>
 
-    <select id="getAvailableOutSite" resultType="java.lang.Integer">
-        select abd.dev_no
-        from asr_bas_devp abd
-                 left join asr_sta_desc asd on abd.dev_no = asd.stn_no
-        where 1 = 1
-          and asd.type_no = #{typeNo}
-          and abd.out_enable = 'Y'
-        group by abd.dev_no
-    </select>
+
 
 </mapper>
diff --git a/zy-acs-cv/src/main/webapp/views/pipeline.html b/zy-acs-cv/src/main/webapp/views/pipeline.html
index 03140c7..fcdf710 100644
--- a/zy-acs-cv/src/main/webapp/views/pipeline.html
+++ b/zy-acs-cv/src/main/webapp/views/pipeline.html
@@ -67,27 +67,60 @@
         /* 琛ㄦ牸瀹瑰櫒 */
         .table-container {
             flex: 1;
-            overflow: hidden;
+            overflow-x: hidden;
+            overflow-y: auto;
             background: rgba(17, 24, 39, 0.5);
             border-radius: 12px;
             border: 1px solid rgba(59, 130, 246, 0.3);
             backdrop-filter: blur(10px);
         }
+        
+        /* 琛ㄦ牸瀹瑰櫒婊氬姩鏉℃牱寮� */
+        .table-container::-webkit-scrollbar {
+            width: 8px;
+        }
+        
+        .table-container::-webkit-scrollbar-track {
+            background: rgba(30, 41, 59, 0.3);
+            border-radius: 4px;
+        }
+        
+        .table-container::-webkit-scrollbar-thumb {
+            background: #3b82f6;
+            border-radius: 4px;
+        }
+        
+        .table-container::-webkit-scrollbar-thumb:hover {
+            background: #60a5fa;
+        }
 
         /* 鐜颁唬鍖栬〃鏍兼牱寮� */
         .modern-table {
             width: 100%;
-            height: 100%;
+            table-layout: fixed;
             border-collapse: separate;
             border-spacing: 0;
             background: transparent;
             color: #e2e8f0;
+        }
+        
+        /* 璁剧疆琛ㄦ牸鍒楀锛岀‘淇濋�傚簲瀹瑰櫒 */
+        .modern-table th,
+        .modern-table td {
+            white-space: nowrap;
+            overflow: hidden;
+            text-overflow: ellipsis;
         }
 
         .modern-table thead {
             position: sticky;
             top: 0;
             z-index: 10;
+        }
+        
+        /* 纭繚琛ㄦ牸瀹瑰櫒鏈夋渶澶ч珮搴︼紝浠ヤ究婊氬姩 */
+        .table-container {
+            max-height: calc(100vh - 200px);
         }
 
         .modern-table th {
@@ -340,14 +373,14 @@
 
         .output-log {
             width: 100%;
-            height: 150px;
+            height: 100px;
             background: rgba(0, 0, 0, 0.3);
             border: 1px solid rgba(59, 130, 246, 0.3);
             border-radius: 8px;
             color: #4ade80;
             font-family: 'Courier New', monospace;
             font-size: 12px;
-            padding: 15px;
+            padding: 10px;
             resize: vertical;
         }
 
@@ -730,9 +763,9 @@
         <main>
             <!-- 绔欑偣鐘舵�佹暟鎹洃鎺х増 -->
             <section id="site-monitor" class="main-board">
-                <div class="dashboard-header">
-                    <h2 class="dashboard-title">绔欑偣瀹炴椂鐩戞帶</h2>
-                </div>
+<!--                <div class="dashboard-header">-->
+<!--                    <h3 class="dashboard-title">绔欑偣瀹炴椂鐩戞帶</h3>-->
+<!--                </div>-->
                 
                 <!-- 琛ㄦ牸瀹瑰櫒 -->
                 <div class="table-container">
@@ -828,7 +861,6 @@
         // DOM鍔犺浇瀹屾垚鍚庡垵濮嬪寲
         $(document).ready(function () {
             // 鍔犺浇鍒濆鏁版嵁
-            getPlcError();
             getSite();
 
             // 鍒濆鍖栧畾鏃跺櫒
@@ -839,7 +871,6 @@
         function initTimers() {
             // 姣忕鏇存柊PLC閿欒銆佺珯鐐逛俊鎭拰IO妯″紡
             timers.push(setInterval(() => {
-                getPlcError();
                 if (!isSiteUpdatePaused) {
                     getSite();
                 }
@@ -876,27 +907,7 @@
             }
         }
 
-        // 鑾峰彇PLC寮傚父淇℃伅琛�
-        function getPlcError() {
-            const tableEl = $('#plc-error-table');
-            tableEl.children("tr").children("td").html("");
 
-            ajaxRequest({
-                url: `${baseUrl}/site/table/plc/errors`,
-                method: 'POST',
-                success: (res) => {
-                    if (res.data) {
-                        const tableData = res.data;
-                        for (let i = 0; i < tableData.length; i++) {
-                            const tr = tableEl.find("tr").eq(i + 1);
-                            tr.children("td").eq(0).html(tableData[i].no);
-                            tr.children("td").eq(1).html(tableData[i].plcDesc);
-                            tr.children("td").eq(2).html(tableData[i].error);
-                        }
-                    }
-                }
-            });
-        }
 
         // 鑾峰彇绔欑偣淇℃伅琛�
         function getSite() {
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 f1bb23a..1674c4a 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
@@ -1,7 +1,9 @@
 package com.zy.acs.gateway.handler;
 
+import com.alibaba.fastjson.JSON;
 import com.zy.acs.common.constant.RedisConstant;
 import com.zy.acs.common.domain.AgvProtocol;
+import com.zy.acs.common.domain.mq.DeviceMessage;
 import com.zy.acs.common.domain.protocol.*;
 import com.zy.acs.common.utils.RedisSupport;
 import com.zy.acs.gateway.AbstractInboundHandler;
@@ -63,8 +65,8 @@
                 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);
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PATH_ACK.name()), new DeviceMessage(pac.getSourceHexStr()));
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PATH_ACK_RESPONSE.name()), new DeviceMessage(pathAckPac.getSourceHexStr()));
 
                 break label;
 
@@ -73,7 +75,7 @@
                 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);
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PICK_PLACE_REQUEST.name()), new DeviceMessage(pac.getSourceHexStr()));
 
                 break label;
 
@@ -85,7 +87,7 @@
                         , 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);
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.COMMAND_ACK.name()), new DeviceMessage(pac.getSourceHexStr()));
 
                 break label;
 
@@ -96,7 +98,7 @@
                 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);
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.ACTION_COMPLETE.name()), new DeviceMessage(pac.getSourceHexStr()));
 
                 // 鍔ㄤ綔瀹屾垚搴旂瓟
                 if (null != ackType) {
@@ -107,7 +109,7 @@
 
                     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);
+                    rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ackType.name()), new DeviceMessage(ackPac.getSourceHexStr()));
                 }
 
                 break label;
@@ -125,7 +127,7 @@
 //
 //                });
                 // 鍐欏叆闃熷垪
-                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);
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.DATA_CODE_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
 
                 break label;
 
@@ -143,7 +145,7 @@
 //                });
 
                 // 鍐欏叆闃熷垪
-                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);
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.DATA_WITHOUT_CODE_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
 
                 break label;
 
@@ -167,7 +169,7 @@
 //
 //                });
                 // 鍐欏叆闃熷垪
-                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);
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.HEARTBEAT_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
 
                 break label;
                 
@@ -185,7 +187,7 @@
 //                });
 
                 // 鍐欏叆闃熷垪
-                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);
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.SILO_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
 
                 break label;
 
@@ -194,14 +196,14 @@
                 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);
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.LOGIN_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
 
                 // 鐧诲綍搴旂瓟
                 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());
+                    rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ackType.name()), new DeviceMessage(ackPac.getSourceHexStr()));
                 }
 
                 // 30s redis
@@ -215,7 +217,7 @@
                 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);
+                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.FAULT_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
 
                 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 56c1489..cb80297 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
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSON;
 import com.zy.acs.common.constant.RedisConstant;
 import com.zy.acs.common.domain.AgvProtocol;
+import com.zy.acs.common.domain.mq.DeviceMessage;
 import com.zy.acs.common.utils.RedisSupport;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.gateway.config.SystemProperties;
@@ -54,7 +55,8 @@
                         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());
+                        log.info("<UNK> >>> {}", JSON.toJSONString(agvPackage));
+                        rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, protocol.getAgvNo()).replaceFirst(RabbitmqConstant.SPILT_REGEX, agvPackage.getHeader().getProtocolType().name()),new DeviceMessage(agvPackage.getSourceHexStr()));
 
                     }
                 }
diff --git a/zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/DownMessageListener.java b/zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/DownMessageListener.java
index 47a167c..fc3ddf9 100644
--- a/zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/DownMessageListener.java
+++ b/zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/DownMessageListener.java
@@ -1,11 +1,11 @@
 package com.zy.acs.hex.consumer;
 
 import com.rabbitmq.client.Channel;
+import com.zy.acs.common.domain.mq.DeviceMessage;
 import com.zy.acs.hex.constant.InfluxDBConstant;
 import com.zy.acs.hex.constant.RabbitConstant;
 import com.zy.acs.hex.consumer.listener.AbstractListener;
-import com.zy.acs.hex.domain.Device;
-import com.zy.acs.hex.utils.ReflectionUtils;
+import com.zy.acs.hex.utils.ObjectToMapUtils;
 import com.zy.acs.hex.utils.StrUtils;
 import com.zy.component.influxdb.service.InfluxDBService;
 import lombok.extern.slf4j.Slf4j;
@@ -33,9 +33,9 @@
 
 
     @RabbitHandler
-    public void handle(Device msg, @Header(AmqpHeaders.RECEIVED_ROUTING_KEY) String routingKey, Channel channel) {
+    public void handle(DeviceMessage msg, @Header(AmqpHeaders.RECEIVED_ROUTING_KEY) String routingKey, Channel channel) {
         log.info("routingKey:{},receive down message:{}", routingKey, msg);
-        influxDBService.writeData(InfluxDBConstant.DEVICE_MEASUREMENT, StrUtils.getTagsByRoutingKey(routingKey), ReflectionUtils.convertBean2Map(msg));
+        influxDBService.writeData(InfluxDBConstant.DEVICE_MEASUREMENT, StrUtils.getTagsByRoutingKey(routingKey), ObjectToMapUtils.objectToMap(msg, false), msg.getTimestamp());
     }
 
 
diff --git a/zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/UpMessageListener.java b/zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/UpMessageListener.java
index 1c894d8..377f6c7 100644
--- a/zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/UpMessageListener.java
+++ b/zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/UpMessageListener.java
@@ -1,11 +1,11 @@
 package com.zy.acs.hex.consumer;
 
 import com.rabbitmq.client.Channel;
+import com.zy.acs.common.domain.mq.DeviceMessage;
 import com.zy.acs.hex.constant.InfluxDBConstant;
 import com.zy.acs.hex.constant.RabbitConstant;
 import com.zy.acs.hex.consumer.listener.AbstractListener;
-import com.zy.acs.hex.domain.Device;
-import com.zy.acs.hex.utils.ReflectionUtils;
+import com.zy.acs.hex.utils.ObjectToMapUtils;
 import com.zy.acs.hex.utils.StrUtils;
 import com.zy.component.influxdb.service.InfluxDBService;
 import lombok.extern.slf4j.Slf4j;
@@ -31,11 +31,10 @@
     @Autowired
     private InfluxDBService influxDBService;
 
-
     @RabbitHandler
-    public void handle(Device msg, @Header(AmqpHeaders.RECEIVED_ROUTING_KEY) String routingKey, Channel channel) {
+    public void handle(DeviceMessage msg, @Header(AmqpHeaders.RECEIVED_ROUTING_KEY) String routingKey, Channel channel) {
         log.info("routingKey:{},receive up message:{}", routingKey, msg);
-        influxDBService.writeData(InfluxDBConstant.DEVICE_MEASUREMENT, StrUtils.getTagsByRoutingKey(routingKey), ReflectionUtils.convertBean2Map(msg));
+        influxDBService.writeData(InfluxDBConstant.DEVICE_MEASUREMENT, StrUtils.getTagsByRoutingKey(routingKey), ObjectToMapUtils.objectToMap(msg, false), msg.getTimestamp());
     }
 
 
diff --git a/zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/listener/AbstractListener.java b/zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/listener/AbstractListener.java
index 57abd1b..ceef075 100644
--- a/zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/listener/AbstractListener.java
+++ b/zy-acs-hex/src/main/java/com/zy/acs/hex/consumer/listener/AbstractListener.java
@@ -1,10 +1,10 @@
 package com.zy.acs.hex.consumer.listener;
 
 import com.rabbitmq.client.Channel;
-import com.zy.acs.hex.domain.Device;
+import com.zy.acs.common.domain.mq.DeviceMessage;
 import org.springframework.amqp.support.AmqpHeaders;
 import org.springframework.messaging.handler.annotation.Header;
 
 public interface AbstractListener {
-    void handle(Device event, @Header(AmqpHeaders.RECEIVED_ROUTING_KEY) String routingKey, Channel channel);
+    void handle(DeviceMessage event, @Header(AmqpHeaders.RECEIVED_ROUTING_KEY) String routingKey, Channel channel);
 }
diff --git a/zy-acs-hex/src/main/java/com/zy/acs/hex/controller/TestController.java b/zy-acs-hex/src/main/java/com/zy/acs/hex/controller/TestController.java
index 8cd467c..11f1f56 100644
--- a/zy-acs-hex/src/main/java/com/zy/acs/hex/controller/TestController.java
+++ b/zy-acs-hex/src/main/java/com/zy/acs/hex/controller/TestController.java
@@ -58,7 +58,7 @@
     @GetMapping(value = "/query")
     @ResponseBody
     public Object queryTest() {
-       return influxDBService.queryData("select * from device order by time desc limit 10");
+        return influxDBService.queryData("select * from device order by time desc limit 10");
     }
 
     /**
diff --git a/zy-acs-hex/src/main/java/com/zy/acs/hex/domain/Device.java b/zy-acs-hex/src/main/java/com/zy/acs/hex/domain/Device.java
index 129fcf1..2b07977 100644
--- a/zy-acs-hex/src/main/java/com/zy/acs/hex/domain/Device.java
+++ b/zy-acs-hex/src/main/java/com/zy/acs/hex/domain/Device.java
@@ -1,7 +1,6 @@
 package com.zy.acs.hex.domain;
 
 import lombok.Data;
-import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
 
diff --git a/zy-acs-hex/src/main/java/com/zy/acs/hex/utils/ObjectToMapUtils.java b/zy-acs-hex/src/main/java/com/zy/acs/hex/utils/ObjectToMapUtils.java
new file mode 100644
index 0000000..e23f211
--- /dev/null
+++ b/zy-acs-hex/src/main/java/com/zy/acs/hex/utils/ObjectToMapUtils.java
@@ -0,0 +1,35 @@
+package com.zy.acs.hex.utils;
+
+import org.springframework.util.ReflectionUtils;
+
+import java.lang.reflect.Modifier;
+import java.util.HashMap;
+import java.util.Map;
+
+public class ObjectToMapUtils {
+
+    public static Map<String, Object> objectToMap(Object obj, boolean includeSuperclass) {
+        Map<String, Object> map = new HashMap<>();
+        if (obj == null) {
+            return map;
+        }
+
+        ReflectionUtils.FieldCallback callback = field -> {
+            if (Modifier.isStatic(field.getModifiers())) {
+                return;
+            }
+            ReflectionUtils.makeAccessible(field);
+            map.put(field.getName(), ReflectionUtils.getField(field, obj));
+        };
+
+        if (includeSuperclass) {
+            // 鍖呭惈鐖剁被瀛楁
+            ReflectionUtils.doWithFields(obj.getClass(), callback);
+        } else {
+            // 浠呭綋鍓嶇被瀛楁
+            ReflectionUtils.doWithLocalFields(obj.getClass(), callback);
+        }
+        return map;
+    }
+
+}
diff --git a/zy-acs-hex/src/main/java/com/zy/acs/hex/utils/ReflectionUtils.java b/zy-acs-hex/src/main/java/com/zy/acs/hex/utils/ReflectionUtils.java
deleted file mode 100644
index bc699ee..0000000
--- a/zy-acs-hex/src/main/java/com/zy/acs/hex/utils/ReflectionUtils.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package com.zy.acs.hex.utils;
-
-import com.zy.acs.framework.common.Cools;
-
-import java.beans.PropertyDescriptor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class ReflectionUtils {
-    /**
-     * 鑾峰彇涓�涓被鍜屽叾鐖剁被鐨勬墍鏈夊睘鎬�
-     *
-     * @param clazz
-     * @return
-     */
-    public static List<Field> findAllFieldsOfSelfAndSuperClass(Class clazz) {
-        Field[] fields = null;
-        List fieldList = new ArrayList();
-        while (true) {
-            if (clazz == null) {
-                break;
-            } else {
-                fields = clazz.getDeclaredFields();
-                for (int i = 0; i < fields.length; i++) {
-                    fieldList.add(fields[i]);
-                }
-                clazz = clazz.getSuperclass();
-            }
-        }
-        return fieldList;
-    }
-
-    /**
-     * 鎶婁竴涓狟ean瀵硅薄杞崲鎴怣ap瀵硅薄</br>
-     *
-     * @param obj
-     * @param ignores
-     * @return
-     * @throws IllegalAccessException
-     */
-    public static Map convertBean2Map(Object obj, String[] ignores) {
-        Map map = new HashMap();
-        Class clazz = obj.getClass();
-        List<Field> fieldList = findAllFieldsOfSelfAndSuperClass(clazz);
-        Field field = null;
-        try {
-            for (int i = 0; i < fieldList.size(); i++) {
-                field = fieldList.get(i);
-                // 瀹氫箟fieldName鏄惁鍦ㄦ嫹璐濆拷鐣ョ殑鑼冪暣鍐�
-                boolean flag = false;
-                if (ignores != null && ignores.length != 0) {
-                    flag = isExistOfIgnores(field.getName(), ignores);
-                }
-                if (!flag) {
-                    Object value = getProperty(obj, field.getName());
-                    if (null != value
-                            && !Cools.isEmpty(value.toString())) {
-                        map.put(field.getName(),
-                                getProperty(obj, field.getName()));
-                    }
-                }
-            }
-        } catch (SecurityException e) {
-            e.printStackTrace();
-        } catch (IllegalArgumentException e) {
-            e.printStackTrace();
-        }
-        return map;
-    }
-
-    /**
-     * 鎶婁竴涓狟ean瀵硅薄杞崲鎴怣ap瀵硅薄</br>
-     *
-     * @param obj
-     * @return
-     */
-    public static Map convertBean2Map(Object obj) {
-        return convertBean2Map(obj, null);
-    }
-
-    public static Map convertBean2MapForIngoreserialVersionUID(Object obj) {
-        return convertBean2Map(obj, new String[]{"serialVersionUID"});
-    }
-
-    /**
-     * 鍒ゆ柇fieldName鏄惁鏄痠gnores涓帓闄ょ殑
-     *
-     * @param fieldName
-     * @param ignores
-     * @return
-     */
-    private static boolean isExistOfIgnores(String fieldName,
-                                            String[] ignores) {
-        boolean flag = false;
-        for (String str : ignores) {
-            if (str.equals(fieldName)) {
-                flag = true;
-                break;
-            }
-        }
-        return flag;
-    }
-
-    public static PropertyDescriptor getPropertyDescriptor(Class clazz,
-                                                           String propertyName) {
-        StringBuffer sb = new StringBuffer();// 鏋勫缓涓�涓彲鍙樺瓧绗︿覆鐢ㄦ潵鏋勫缓鏂规硶鍚嶇О
-        Method setMethod = null;
-        Method getMethod = null;
-        PropertyDescriptor pd = null;
-        try {
-            Field f = clazz.getDeclaredField(propertyName);// 鏍规嵁瀛楁鍚嶆潵鑾峰彇瀛楁
-            if (f != null) {
-                // 鏋勫缓鏂规硶鐨勫悗缂�
-                String methodEnd = propertyName.substring(0, 1).toUpperCase()
-                        + propertyName.substring(1);
-                sb.append("set" + methodEnd);// 鏋勫缓set鏂规硶
-                setMethod = clazz.getDeclaredMethod(sb.toString(),
-                        new Class[]{f.getType()});
-                sb.delete(0, sb.length());// 娓呯┖鏁翠釜鍙彉瀛楃涓�
-                sb.append("get" + methodEnd);// 鏋勫缓get鏂规硶
-                // 鏋勫缓get 鏂规硶
-                getMethod =
-                        clazz.getDeclaredMethod(sb.toString(), new Class[]{});
-                // 鏋勫缓涓�涓睘鎬ф弿杩板櫒 鎶婂搴斿睘鎬� propertyName 鐨� get 鍜� set 鏂规硶淇濆瓨鍒板睘鎬ф弿杩板櫒涓�
-                pd = new PropertyDescriptor(propertyName, getMethod, setMethod);
-            }
-        } catch (Exception ex) {
-            ex.printStackTrace();
-        }
-
-        return pd;
-    }
-
-    @SuppressWarnings("unchecked")
-    public static void setProperty(Object obj, String propertyName,
-                                   Object value) {
-        Class clazz = obj.getClass();// 鑾峰彇瀵硅薄鐨勭被鍨�
-        PropertyDescriptor pd = getPropertyDescriptor(clazz, propertyName);// 鑾峰彇 clazz
-        // 绫诲瀷涓殑
-        // propertyName
-        // 鐨勫睘鎬ф弿杩板櫒
-        Method setMethod = pd.getWriteMethod();// 浠庡睘鎬ф弿杩板櫒涓幏鍙� set 鏂规硶
-        try {
-            setMethod.invoke(obj, new Object[]{value});// 璋冪敤 set 鏂规硶灏嗕紶鍏ョ殑value鍊间繚瀛樺睘鎬т腑鍘�
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    @SuppressWarnings({"unchecked", "rawtypes"})
-    public static Object getProperty(Object obj, String propertyName) {
-        Class clazz = obj.getClass();// 鑾峰彇瀵硅薄鐨勭被鍨�
-        PropertyDescriptor pd = getPropertyDescriptor(clazz, propertyName);// 鑾峰彇 clazz
-        // 绫诲瀷涓殑
-        // propertyName
-        // 鐨勫睘鎬ф弿杩板櫒
-        Method getMethod = pd.getReadMethod();// 浠庡睘鎬ф弿杩板櫒涓幏鍙� get 鏂规硶
-        Object value = null;
-        try {
-            value = getMethod.invoke(obj, new Object[]{});// 璋冪敤鏂规硶鑾峰彇鏂规硶鐨勮繑鍥炲��
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return value;// 杩斿洖鍊�
-    }
-
-}
diff --git a/zy-acs-hex/src/main/java/com/zy/acs/hex/utils/StrUtils.java b/zy-acs-hex/src/main/java/com/zy/acs/hex/utils/StrUtils.java
index 37410c4..48e614b 100644
--- a/zy-acs-hex/src/main/java/com/zy/acs/hex/utils/StrUtils.java
+++ b/zy-acs-hex/src/main/java/com/zy/acs/hex/utils/StrUtils.java
@@ -11,17 +11,17 @@
 
         // 姝e垯琛ㄨ揪寮忓尮閰� rcs.up. 寮�澶达紝鍚庨潰璺熺潃涓や釜鐗堟湰鍙烽儴鍒�
         String regex = "^rcs\\.up\\.(\\*|[a-zA-Z0-9]+)\\.(\\*|[a-zA-Z0-9]+)$";
-        if (routingKey.matches(regex)) {
-            // 鍒嗗壊瀛楃涓插苟杩斿洖鐗堟湰鍙烽儴鍒�
-            String[] parts = routingKey.split("\\.");
-            if (parts.length == 4) {
-                Map<String, String> data = new HashMap<>();
-                data.put(InfluxDBConstant.DEVICE_MEASUREMENT_TAG_TYPE, parts[1]);
-                data.put(InfluxDBConstant.DEVICE_MEASUREMENT_TAG_DEVICEID, parts[2]);
-                data.put(InfluxDBConstant.DEVICE_MEASUREMENT_TAG_EVENT, parts[3]);
-                return data;
-            }
+        //if (routingKey.matches(regex)) {
+        // 鍒嗗壊瀛楃涓插苟杩斿洖鐗堟湰鍙烽儴鍒�
+        String[] parts = routingKey.split("\\.");
+        if (parts.length == 4) {
+            Map<String, String> data = new HashMap<>();
+            data.put(InfluxDBConstant.DEVICE_MEASUREMENT_TAG_TYPE, parts[1]);
+            data.put(InfluxDBConstant.DEVICE_MEASUREMENT_TAG_DEVICEID, parts[2]);
+            data.put(InfluxDBConstant.DEVICE_MEASUREMENT_TAG_EVENT, parts[3]);
+            return data;
         }
+        //}
         // 濡傛灉鏍煎紡涓嶇鍚堬紝杩斿洖绌烘暟缁�
         return null;
     }
diff --git a/zy-acs-hex/src/main/resources/application.yml b/zy-acs-hex/src/main/resources/application.yml
index efe00ae..97b7deb 100644
--- a/zy-acs-hex/src/main/resources/application.yml
+++ b/zy-acs-hex/src/main/resources/application.yml
@@ -15,6 +15,10 @@
     publisher-confirm-type: correlated
     publisher-returns: true
     # 娑堣垂鑰呴厤缃�
+    listener:
+      simple:
+        concurrency: 2
+        max-concurrency: 10
 #    listener:
 #      direct:
 #    纭鏈哄埗

--
Gitblit v1.9.1