From af27c2aa0946c633e78b2ce2cfb23116d13519be Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期二, 29 四月 2025 10:52:09 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/SiemensCrnThread.java |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index ae1efa9..32ca91b 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -37,6 +37,9 @@
     private CrnProtocol crnProtocol;
     private boolean resetFlag = false;
 
+    //鍘熷璁惧鏁版嵁
+    private Object originDeviceData;
+
     public SiemensCrnThread(CrnSlave slave) {
         this.slave = slave;
     }
@@ -142,6 +145,7 @@
 
         OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 56);
         if (result.IsSuccess) {
+            this.originDeviceData = result.Content;
             if (null == crnProtocol) {
                 crnProtocol = new CrnProtocol();
             }
@@ -182,6 +186,27 @@
                 }
             }
 
+            if (System.currentTimeMillis() - crnProtocol.getDeviceDataLog() > 1000 * 5) {
+                if (this.originDeviceData != null) {
+                    //閲囬泦鏃堕棿瓒呰繃5s锛屼繚瀛樹竴娆℃暟鎹褰�
+                    //淇濆瓨鏁版嵁璁板綍
+                    DeviceDataLogService deviceDataLogService = SpringUtils.getBean(DeviceDataLogService.class);
+                    if (deviceDataLogService == null) {
+                        return;
+                    }
+                    DeviceDataLog deviceDataLog = new DeviceDataLog();
+                    deviceDataLog.setOriginData(JSON.toJSONString(this.originDeviceData));
+                    deviceDataLog.setWcsData(JSON.toJSONString(crnProtocol));
+                    deviceDataLog.setType(String.valueOf(SlaveType.Crn));
+                    deviceDataLog.setDeviceNo(slave.getId());
+                    deviceDataLog.setCreateTime(new Date());
+                    deviceDataLogService.insert(deviceDataLog);
+
+                    //鏇存柊閲囬泦鏃堕棿
+                    crnProtocol.setDeviceDataLog(System.currentTimeMillis());
+                }
+            }
+
             try {
                 // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
                 BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);

--
Gitblit v1.9.1