From 2f8fcfdd4a9c0d05ed9bf731197a17c78a5c633c Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期五, 06 二月 2026 15:57:39 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/network/real/ZyCrnV2RealConnect.java | 14 +++++++++++++-
1 files changed, 13 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..dca2c14 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,13 @@
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);
+ redisUtil.set(RedisKeyType.CLEAR_CRN_TASK_LIMIT.key + deviceConfig.getDeviceNo(), "lock", 3);
+ }
}
}
}
@@ -121,6 +130,8 @@
@Override
public CommandResponse sendCommand(CrnCommand command) {
+ RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
+ redisUtil.set(RedisKeyType.CRN_SEND_COMMAND_LOCK.key + deviceConfig.getDeviceNo(), "lock", 10);
CommandResponse response = new CommandResponse(false);
try {
if (null == command) {
@@ -201,6 +212,7 @@
OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), command.getCrnNo(), JSON.toJSON(command)));
response.setResult(true);
response.setMessage("鍛戒护涓嬪彂鎴愬姛");
+ redisUtil.set(RedisKeyType.CRN_SEND_COMMAND_LOCK.key + deviceConfig.getDeviceNo(), "lock", 5);
} else {
News.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触 ===>> [id:{}]", command.getCrnNo());
OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ爢鍨涙満plc鏁版嵁澶辫触 ===>> [id:{1}]", DateUtils.convert(new Date()), command.getCrnNo()));
--
Gitblit v1.9.1