From 1b3b9b9a2d35124de82d1b2a3e7a08574f662c92 Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期五, 30 一月 2026 16:50:51 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/network/real/ZyCrnV2RealConnect.java |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/core/network/real/ZyCrnV2RealConnect.java b/src/main/java/com/zy/core/network/real/ZyCrnV2RealConnect.java
index f5185ef..2f7a5a0 100644
--- a/src/main/java/com/zy/core/network/real/ZyCrnV2RealConnect.java
+++ b/src/main/java/com/zy/core/network/real/ZyCrnV2RealConnect.java
@@ -6,9 +6,12 @@
 import HslCommunication.Profinet.Siemens.SiemensS7Net;
 import com.alibaba.fastjson.JSON;
 import com.core.common.DateUtils;
+import com.core.common.SpringUtils;
 import com.zy.asrs.entity.DeviceConfig;
+import com.zy.common.utils.RedisUtil;
 import com.zy.core.News;
 import com.zy.core.cache.OutputQueue;
+import com.zy.core.enums.RedisKeyType;
 import com.zy.core.model.CommandResponse;
 import com.zy.core.model.command.CrnCommand;
 import com.zy.core.network.api.ZyCrnConnectApi;
@@ -101,7 +104,12 @@
                             array[7] = (short) 0;
                             array[8] = (short) 0;
                             array[9] = (short) 0;
-                            OperateResult taskClearResult = siemensNet.Write("DB100.0", array);
+
+                            RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
+                            Object lock = redisUtil.get(RedisKeyType.CRN_SEND_COMMAND_LOCK.key + deviceConfig.getDeviceNo());
+                            if (lock == null) {
+                                OperateResult taskClearResult = siemensNet.Write("DB100.0", array);
+                            }
                         }
                     }
                 }
@@ -121,6 +129,8 @@
 
     @Override
     public CommandResponse sendCommand(CrnCommand command) {
+        RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
+        redisUtil.set(RedisKeyType.CRN_SEND_COMMAND_LOCK.key + deviceConfig.getDeviceNo(), "lock", 5);
         CommandResponse response = new CommandResponse(false);
         try {
             if (null == command) {

--
Gitblit v1.9.1