From f46e6a76cee1e4f231fab74981a87947bf84677d Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期二, 15 十月 2024 11:02:47 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/MapCommandService.java | 28 ++++++++++++++++++++++------ 1 files changed, 22 insertions(+), 6 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/MapCommandService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/MapCommandService.java index 7d65d0a..dfbebb8 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/MapCommandService.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/MapCommandService.java @@ -1,5 +1,6 @@ package com.zy.asrs.wcs.core.kernel.command; +import com.alibaba.fastjson.JSON; import com.zy.asrs.wcs.core.entity.Motion; import com.zy.asrs.wcs.core.model.MapNode; import com.zy.asrs.wcs.core.model.NavigateNode; @@ -67,12 +68,20 @@ return false; } - NavigateNode navigateNode = NavigatePositionConvert.locNoToNode(motion.getTarget()); List<NavigateNode> nodes = new ArrayList<>(); - nodes.add(navigateNode); + + String target = motion.getTarget(); + List<String> lockPath = JSON.parseArray(target, String.class); + Integer lev = null; + for (String loc : lockPath) { + NavigateNode navigateNode = NavigatePositionConvert.locNoToNode(loc); + nodes.add(navigateNode); + + lev = Utils.getLev(loc); + } //鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹�/瑙i攣 - boolean lockResult = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(motion.getTarget()), shuttleProtocol.getShuttleNo(), nodes, lock);//鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹�/瑙i攣 + boolean lockResult = navigateMapUtils.writeNavigateNodeToRedisMap(lev, shuttleProtocol.getShuttleNo(), nodes, lock);//鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹�/瑙i攣 if (!lockResult) { return false;//閿佸畾/瑙i攣澶辫触 } @@ -80,11 +89,17 @@ } private boolean checkLockPath(Motion motion, boolean lock) { - NavigateNode navigateNode = NavigatePositionConvert.locNoToNode(motion.getTarget()); List<NavigateNode> nodes = new ArrayList<>(); - nodes.add(navigateNode); - int lev = Utils.getLev(motion.getTarget()); + String target = motion.getTarget(); + List<String> lockPath = JSON.parseArray(target, String.class); + Integer lev = null; + for (String loc : lockPath) { + NavigateNode navigateNode = NavigatePositionConvert.locNoToNode(loc); + nodes.add(navigateNode); + + lev = Utils.getLev(loc); + } Object o = redisUtil.get(DeviceRedisConstant.MAP + lev); if (o == null) { @@ -103,6 +118,7 @@ //鑾峰彇灏忚溅鑺傜偣 List<int[]> shuttlePoints = Utils.getShuttlePoints(shuttleProtocol.getShuttleNo(), lev); + navigateMapData.setLev(lev); List<List<MapNode>> map = navigateMapData.getJsonData(NavigationMapType.DFX.id, null, shuttlePoints); for (NavigateNode node : nodes) { -- Gitblit v1.9.1