From f43b508dda7334487a1640b0bbd908d7b3aa3cb6 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期二, 15 十月 2024 13:14:28 +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