From 6a5e440f1f91535b901f856b56d27cfe36840813 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期三, 11 十二月 2024 16:41:53 +0800
Subject: [PATCH] #path similarity
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/constant/DeviceRedisConstant.java | 2 ++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java | 19 +++++++++++++++++++
2 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java
index f8e81dd..ad64f8b 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java
@@ -16,6 +16,7 @@
import com.zy.asrs.wcs.core.utils.*;
import com.zy.asrs.wcs.rcs.News;
import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
+import com.zy.asrs.wcs.rcs.constant.DeviceRedisConstant;
import com.zy.asrs.wcs.rcs.entity.Device;
import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType;
import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
@@ -666,6 +667,24 @@
Double similarity = navigateUtils.similarityPath(originPath, finalPath);
if (similarity <= similarityRef) {
+ Object object = redisUtil.get(DeviceRedisConstant.SIMILARITY_TIMES + motion.getTaskNo());
+ if (object == null) {
+ redisUtil.set(DeviceRedisConstant.SIMILARITY_TIMES + motion.getTaskNo(), System.currentTimeMillis(), 60 * 60 * 24);
+ }else {
+ long similarityTimeoutRef = 20L;//榛樿瓒呮椂20s
+ Dict similarityTimeoutDict = dictService.getOne(new LambdaQueryWrapper<Dict>()
+ .eq(Dict::getFlag, "similarityTimeout")
+ .eq(Dict::getStatus, 1));
+ if (similarityTimeoutDict != null) {
+ similarityTimeoutRef = Long.parseLong(similarityTimeoutDict.getValue());
+ }
+
+ long recordTime = Long.parseLong(object.toString());
+ if (System.currentTimeMillis() - recordTime > (60 * similarityTimeoutRef)) {
+ //瓒呮椂锛岀洿鎺ユ斁琛�
+ return true;
+ }
+ }
News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
return false;
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/constant/DeviceRedisConstant.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/constant/DeviceRedisConstant.java
index 541f715..37648ed 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/constant/DeviceRedisConstant.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/constant/DeviceRedisConstant.java
@@ -21,4 +21,6 @@
public static final String COMMAND_TMP = "command_tmp_";
+ public static final String SIMILARITY_TIMES = "similarity_times_";
+
}
--
Gitblit v1.9.1