From 2cfa8856fb1fd1ad7f642fd998d1644879abcdb5 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期四, 25 七月 2024 10:02:24 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java | 29 ++++++++++++++++++++++-------
1 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java
index b6426ad..fb4052f 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java
@@ -8,6 +8,7 @@
import com.zy.asrs.wcs.core.domain.dto.RedisMapDto;
import com.zy.asrs.wcs.core.model.MapNode;
import com.zy.asrs.wcs.core.model.NavigateNode;
+import com.zy.asrs.wcs.core.model.enums.MapNodeType;
import com.zy.asrs.wcs.core.model.enums.NavigationMapType;
import com.zy.asrs.wcs.rcs.constant.DeviceRedisConstant;
import org.springframework.beans.factory.annotation.Autowired;
@@ -57,10 +58,10 @@
for (NavigateNode node : nodes) {
List<MapNode> listX = listsHasShuttle.get(node.getX());
MapNode mapNode = listX.get(node.getY());
- if (mapNode.getValue() == -999) {
+ if (mapNode.getValue() == MapNodeType.LOCK.id) {
return false;//璺緞琚攣瀹氳繃锛岀姝㈠啀娆¢攣瀹�
}
- if (mapNode.getValue() == 66) {
+ if (mapNode.getValue() == MapNodeType.CAR.id) {
return false;//璺緞瀛樺湪灏忚溅锛岀姝㈤攣瀹�
}
}
@@ -77,7 +78,7 @@
List<MapNode> listX = lists.get(node.getX());
MapNode mapNode = listX.get(node.getY());
if (lock) {
- mapNode.setValue(-999);//绂佺敤搴撲綅
+ mapNode.setValue(MapNodeType.LOCK.id);//绂佺敤搴撲綅
} else {
//鑾峰彇鍘熷鑺傜偣鏁版嵁
List<MapNode> rows = realMap.get(node.getX());
@@ -107,12 +108,22 @@
Object o = redisUtil.get(DeviceRedisConstant.LOCK_PATH + lev);
List<NavigateNode> navigateNodes = new ArrayList<>();
if (o != null) {
- navigateNodes = JSON.parseArray(o.toString(), NavigateNode.class);
+ try {
+ navigateNodes = objectMapper.readValue(o.toString(), new TypeReference<List<NavigateNode>>() {});
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException(e);
+ }
}
+ String nodeStr = null;
if (lock) {
navigateNodes.addAll(nodes);
- redisUtil.set(DeviceRedisConstant.LOCK_PATH + lev, JSON.toJSONString(navigateNodes, SerializerFeature.DisableCircularReferenceDetect));
+ try {
+ nodeStr = objectMapper.writeValueAsString(navigateNodes);
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException(e);
+ }
+ redisUtil.set(DeviceRedisConstant.LOCK_PATH + lev, nodeStr);
}else {
List<NavigateNode> tmp = new ArrayList<>();
for (NavigateNode navigateNode : navigateNodes) {
@@ -131,7 +142,12 @@
}
}
- redisUtil.set(DeviceRedisConstant.LOCK_PATH + lev, JSON.toJSONString(tmp, SerializerFeature.DisableCircularReferenceDetect));
+ try {
+ nodeStr = objectMapper.writeValueAsString(tmp);
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException(e);
+ }
+ redisUtil.set(DeviceRedisConstant.LOCK_PATH + lev, nodeStr);
}
}
@@ -146,7 +162,6 @@
throw new RuntimeException(e);
}
}
-
return navigateNodes;
}
--
Gitblit v1.9.1