From b890d1c574d3d8332def7f4590508a7918139ae0 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 07 十一月 2025 16:57:22 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java b/src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java
index b2ec61c..94e2d8f 100644
--- a/src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java
@@ -3,10 +3,13 @@
 import HslCommunication.Profinet.Siemens.SiemensPLCS;
 import HslCommunication.Profinet.Siemens.SiemensS7Net;
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.DateUtils;
 import com.core.common.SpringUtils;
+import com.zy.asrs.entity.BasCrnp;
 import com.zy.asrs.entity.DeviceConfig;
 import com.zy.asrs.entity.DeviceDataLog;
+import com.zy.asrs.service.BasCrnpService;
 import com.zy.asrs.service.DeviceDataLogService;
 import com.zy.asrs.utils.Utils;
 import com.zy.common.utils.RedisUtil;
@@ -66,12 +69,15 @@
                     case 1:
                         readStatus();
                         break;
+                    case 2:
+                        sendCommand((CrnCommand) task.getData());
+                        break;
                     default:
                         break;
                 }
                 Thread.sleep(200);
             } catch (Exception e) {
-//                e.printStackTrace();
+                e.printStackTrace();
             }
         }
     }
@@ -106,9 +112,9 @@
     @Override
     public boolean connect() {
         SiemensS7Net siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, deviceConfig.getIp());
-        ThreadHandler thread = new ZyCrnConnectThread(siemensS7Net, deviceConfig);
-        new Thread(thread).start();
-        DeviceConnectPool.put(SlaveType.Crn, deviceConfig.getDeviceNo(), thread);
+        zyCrnConnectThread = new ZyCrnConnectThread(siemensS7Net, deviceConfig);
+        new Thread(zyCrnConnectThread).start();
+        DeviceConnectPool.put(SlaveType.Crn, deviceConfig.getDeviceNo(), zyCrnConnectThread);
         return true;
     }
 
@@ -184,6 +190,18 @@
             //鏇存柊閲囬泦鏃堕棿
             crnProtocol.setDeviceDataLog(System.currentTimeMillis());
         }
+
+        BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
+        if (basCrnpService != null) {
+            BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", deviceConfig.getDeviceNo()));
+            if(basCrnp == null) {
+                basCrnp = new BasCrnp();
+                basCrnp.setCrnNo(deviceConfig.getDeviceNo());
+                basCrnp.setStatus(1);
+                basCrnp.setCreateTime(new Date());
+                basCrnpService.insert(basCrnp);
+            }
+        }
     }
 
     @Override

--
Gitblit v1.9.1