From 2468af88e9ee9901f1d4d6f1cfdb6361c7400730 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期一, 02 二月 2026 15:52:05 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/utils/DualCrnOperateProcessUtils.java | 5 +++++
src/main/java/com/zy/core/network/real/ZyCrnV2RealConnect.java | 1 +
src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java | 5 +++++
src/main/java/com/zy/core/enums/RedisKeyType.java | 2 ++
src/main/java/com/zy/core/network/real/ZyDualCrnRealConnect.java | 1 +
5 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/core/enums/RedisKeyType.java b/src/main/java/com/zy/core/enums/RedisKeyType.java
index e67dcf9..eff66b9 100644
--- a/src/main/java/com/zy/core/enums/RedisKeyType.java
+++ b/src/main/java/com/zy/core/enums/RedisKeyType.java
@@ -51,6 +51,8 @@
GENERATE_ENABLE_IN_STATION_DATA_LIMIT("generate_enable_in_station_data_limit_"),
GENERATE_STATION_BACK_LIMIT("generate_station_back_limit_"),
STATION_EXECUTE_COMMAND_LOCK("station_execute_command_lock"),
+ CLEAR_CRN_TASK_LIMIT("clear_crn_task_limit_"),
+ CLEAR_DUAL_CRN_TASK_LIMIT("clear_dual_crn_task_limit_"),
DUAL_CRN_PICK_WAIT_NEXT_TASK("dual_crn_pick_wait_next_task_"),
DUAL_CRN_OUT_TASK_STATION_INFO("dual_crn_out_task_station_info_"),
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 2f7a5a0..cad8f9b 100644
--- a/src/main/java/com/zy/core/network/real/ZyCrnV2RealConnect.java
+++ b/src/main/java/com/zy/core/network/real/ZyCrnV2RealConnect.java
@@ -109,6 +109,7 @@
Object lock = redisUtil.get(RedisKeyType.CRN_SEND_COMMAND_LOCK.key + deviceConfig.getDeviceNo());
if (lock == null) {
OperateResult taskClearResult = siemensNet.Write("DB100.0", array);
+ redisUtil.set(RedisKeyType.CLEAR_CRN_TASK_LIMIT.key + deviceConfig.getDeviceNo(), "lock", 3);
}
}
}
diff --git a/src/main/java/com/zy/core/network/real/ZyDualCrnRealConnect.java b/src/main/java/com/zy/core/network/real/ZyDualCrnRealConnect.java
index c37ed43..b3105fa 100644
--- a/src/main/java/com/zy/core/network/real/ZyDualCrnRealConnect.java
+++ b/src/main/java/com/zy/core/network/real/ZyDualCrnRealConnect.java
@@ -126,6 +126,7 @@
Object lock = redisUtil.get(RedisKeyType.DUAL_CRN_SEND_COMMAND_LOCK.key + deviceConfig.getDeviceNo());
if (lock == null) {
OperateResult taskClearResult = siemensNet.Write("DB100.0", array);
+ redisUtil.set(RedisKeyType.CLEAR_DUAL_CRN_TASK_LIMIT.key + deviceConfig.getDeviceNo(), "lock", 3);
}
}
}
diff --git a/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java b/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
index b9b9546..d7965f9 100644
--- a/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
@@ -97,6 +97,11 @@
&& crnProtocol.getForkPos() == 0
&& crnProtocol.getAlarm() == 0
) {
+ Object clearLock = redisUtil.get(RedisKeyType.CLEAR_CRN_TASK_LIMIT.key + basCrnp.getCrnNo());
+ if (clearLock != null) {
+ continue;
+ }
+
// 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
if (crnProtocol.getLastIo().equals("I")) {
if (basCrnp.getInEnable().equals("Y")) {
diff --git a/src/main/java/com/zy/core/utils/DualCrnOperateProcessUtils.java b/src/main/java/com/zy/core/utils/DualCrnOperateProcessUtils.java
index ba6a2f0..39895fe 100644
--- a/src/main/java/com/zy/core/utils/DualCrnOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/DualCrnOperateProcessUtils.java
@@ -105,6 +105,11 @@
return;
}
+ Object clearLock = redisUtil.get(RedisKeyType.CLEAR_DUAL_CRN_TASK_LIMIT.key + basDualCrnp.getCrnNo());
+ if (clearLock != null) {
+ return;
+ }
+
// 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
if (dualCrnProtocol.getLastIo().equals("O")) {
boolean executeResult1 = processLoveMove(basDualCrnp, dualCrnThread);
--
Gitblit v1.9.1