From 71848bcfc8b64663e5b0e3f80c70d3d4801c0bb4 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期三, 22 十月 2025 09:50:39 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/SiemensDevpThread.java |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 237f6aa..4afe80f 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -10,7 +10,9 @@
 import com.core.common.SpringUtils;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.DeviceDataLog;
 import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.service.DeviceDataLogService;
 import com.zy.common.utils.News;
 import com.zy.core.DevpThread;
 import com.zy.core.cache.MessageQueue;
@@ -25,10 +27,7 @@
 import lombok.extern.slf4j.Slf4j;
 
 import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 
 /**
@@ -43,6 +42,11 @@
     private SiemensS7Net siemensS7Net;
     private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
     private short heartBeatVal = 1;
+
+    /**
+     * 鏃ュ織閲囬泦鏃堕棿
+     */
+    private Long deviceDataLogTime = System.currentTimeMillis();
 
     public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
         add(1008);add(1009);add(1010);add(1011);add(1012);add(1013);add(1014);add(1015);
@@ -271,6 +275,22 @@
 
         }
 
+        if (System.currentTimeMillis() - deviceDataLogTime > 1000 * 1) {
+            //閲囬泦鏃堕棿瓒呰繃5s锛屼繚瀛樹竴娆℃暟鎹褰�
+            //淇濆瓨鏁版嵁璁板綍
+            DeviceDataLogService deviceDataLogService = SpringUtils.getBean(DeviceDataLogService.class);
+            DeviceDataLog deviceDataLog = new DeviceDataLog();
+            deviceDataLog.setOriginData(Base64.getEncoder().encodeToString(result.Content));
+            deviceDataLog.setWcsData(JSON.toJSONString(station));
+            deviceDataLog.setType("devp");
+            deviceDataLog.setDeviceNo(slave.getId());
+            deviceDataLog.setCreateTime(new Date());
+            deviceDataLogService.insert(deviceDataLog);
+
+            //鏇存柊閲囬泦鏃堕棿
+            deviceDataLogTime = System.currentTimeMillis();
+        }
+
         if (result.IsSuccess && result2.IsSuccess) {
             OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
 

--
Gitblit v1.9.1