From 87186c12f7c8864da8925aea3e91ecde1d16d255 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 03 十月 2023 14:35:53 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/ShuttleController.java |    3 ++-
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   10 ++++++++--
 src/main/java/com/zy/common/utils/NyShuttleOperaUtils.java  |   10 +++++-----
 3 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ShuttleController.java b/src/main/java/com/zy/asrs/controller/ShuttleController.java
index 2135798..dcf22ca 100644
--- a/src/main/java/com/zy/asrs/controller/ShuttleController.java
+++ b/src/main/java/com/zy/asrs/controller/ShuttleController.java
@@ -17,6 +17,7 @@
 import com.zy.asrs.service.WrkMastService;
 import com.zy.asrs.utils.Utils;
 import com.zy.common.model.NyShuttleOperaResult;
+import com.zy.common.model.enums.NavigationMapType;
 import com.zy.common.service.CommonService;
 import com.zy.common.utils.NyHttpUtils;
 import com.zy.common.utils.NyShuttleOperaUtils;
@@ -299,7 +300,7 @@
                     assignCommand.setNodes(result.getNodes());
                 } else if (shuttleTaskModeType == ShuttleTaskModeType.MOVE_LOC_NO) {
                     //绉诲姩鍒扮洰鏍囧簱浣�
-                    NyShuttleOperaResult result = NyShuttleOperaUtils.getStartToTargetCommands(shuttleSlave.getId(), assignCommand.getTaskNo().intValue(), shuttleProtocol.getCurrentLocNo(), param.getDistLocNo());
+                    NyShuttleOperaResult result = NyShuttleOperaUtils.getStartToTargetCommands(shuttleSlave.getId(), assignCommand.getTaskNo().intValue(), shuttleProtocol.getCurrentLocNo(), param.getDistLocNo(), NavigationMapType.NORMAL.id);
                     if (result == null) {
                         throw new CoolException("璺緞璁$畻澶辫触");
                     }
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 8d279d6..4ecd592 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -794,6 +794,12 @@
                 return false;//灏忚溅宸茶鐙崰锛岀姝㈠啀娲惧彂浠诲姟
             }
 
+            //鍒ゆ柇灏忚溅鏄惁瀛樺湪绉诲姩浠诲姟
+            WrkMast hasMoveWorking = wrkMastMapper.selectShuttleHasMoveWorking(wrkMast.getShuttleNo());
+            if (hasMoveWorking != null) {
+                return false;//瀛樺湪绉诲姩浠诲姟锛岀姝㈡墽琛屽叆搴撲换鍔�
+            }
+
             //鍒ゆ柇灏忚溅鏄惁鍒拌揪杈撻�佺珯鐐瑰簱浣�
             if (!shuttleProtocol.getCurrentLocNo().equals(liftStaProtocol.getLocNo())) {
                 //灏忚溅涓嶅湪杈撻�佺珯鐐逛綅缃�
@@ -2492,7 +2498,7 @@
             }
 
             //鑾峰彇灏忚溅鍒拌緭閫佺珯鐐硅璧板懡浠�
-            NyShuttleOperaResult result = NyShuttleOperaUtils.getStartToTargetCommands(shuttleThread.getSlave().getId(), wrkMast.getWrkNo(), shuttleProtocol.getCurrentLocNo(), liftSta.getLocNo());
+            NyShuttleOperaResult result = NyShuttleOperaUtils.getStartToTargetCommands(shuttleThread.getSlave().getId(), wrkMast.getWrkNo(), shuttleProtocol.getCurrentLocNo(), liftSta.getLocNo(), NavigationMapType.NORMAL.id);
             List<NyShuttleHttpCommand> commands = result.getCommands();
 
             ShuttleAssignCommand assignCommand = new ShuttleAssignCommand();
@@ -2927,7 +2933,7 @@
 //            liftNode.setZ(basLift.getPoint$().getZ());
 
             //鑾峰彇灏忚溅鍒扮洰鏍囧簱浣嶅懡浠�
-            NyShuttleOperaResult result = NyShuttleOperaUtils.getStartToTargetCommands(shuttleThread.getSlave().getId(), wrkMast.getWrkNo(), shuttleProtocol.getCurrentLocNo(), wrkMast.getLocNo());
+            NyShuttleOperaResult result = NyShuttleOperaUtils.getStartToTargetCommands(shuttleThread.getSlave().getId(), wrkMast.getWrkNo(), shuttleProtocol.getCurrentLocNo(), wrkMast.getLocNo(), NavigationMapType.NORMAL.id);
             if (result == null) {
                 return false;//璺緞璁$畻澶辫触
             }
diff --git a/src/main/java/com/zy/common/utils/NyShuttleOperaUtils.java b/src/main/java/com/zy/common/utils/NyShuttleOperaUtils.java
index cc59243..cf52c25 100644
--- a/src/main/java/com/zy/common/utils/NyShuttleOperaUtils.java
+++ b/src/main/java/com/zy/common/utils/NyShuttleOperaUtils.java
@@ -28,7 +28,7 @@
         ArrayList<NyShuttleHttpCommand> commands = new ArrayList<>();
 
         //璁$畻璧风偣鍒扮洰鏍囩偣鍛戒护
-        NyShuttleOperaResult result = getStartToTargetCommands(shuttleNo, wrkNo, startPoint, targetPoint);
+        NyShuttleOperaResult result = getStartToTargetCommands(shuttleNo, wrkNo, startPoint, targetPoint, NavigationMapType.DFX.id);
         if (result == null) {
             //璁$畻缁撴灉蹇呴』涓嶄负绌猴紝鍚﹀垯璁$畻澶辫触
             return null;
@@ -58,7 +58,7 @@
 
         if (!startPoint.equals(middlePoint)) {//璧风偣鍜屼腑闂寸偣涓嶄竴鑷达紝闇�瑕佽绠楄捣鐐瑰埌涓棿鐐硅矾寰�
             //璁$畻璧风偣鍒颁腑闂寸偣鍛戒护
-            NyShuttleOperaResult result1 = getStartToTargetCommands(shuttleNo, wrkNo, startPoint, middlePoint);
+            NyShuttleOperaResult result1 = getStartToTargetCommands(shuttleNo, wrkNo, startPoint, middlePoint, NavigationMapType.NORMAL.id);
             if (result1 == null) {
                 //璁$畻缁撴灉蹇呴』涓嶄负绌猴紝鍚﹀垯璁$畻澶辫触
                 return null;
@@ -68,7 +68,7 @@
         }
 
         //璁$畻涓棿鐐瑰埌鐩爣鐐瑰懡浠�
-        NyShuttleOperaResult result2 = getStartToTargetCommands(shuttleNo, wrkNo, middlePoint, targetPoint);
+        NyShuttleOperaResult result2 = getStartToTargetCommands(shuttleNo, wrkNo, middlePoint, targetPoint, NavigationMapType.DFX.id);
         if (result2 == null) {
             //璁$畻缁撴灉蹇呴』涓嶄负绌猴紝鍚﹀垯璁$畻澶辫触
             return null;
@@ -85,9 +85,9 @@
     /**
      * 鑾峰彇璧风偣鍒扮洰鏍囩偣琛岃蛋鍛戒护
      */
-    public static NyShuttleOperaResult getStartToTargetCommands(Integer shuttleNo, Integer wrkNo, String startPoint, String targetPoint) {
+    public static NyShuttleOperaResult getStartToTargetCommands(Integer shuttleNo, Integer wrkNo, String startPoint, String targetPoint, Integer mapType) {
         //璁$畻璧风偣鍒扮洰鏍囩偣琛岃蛋鑺傜偣
-        List<NavigateNode> calc = NavigateUtils.calc(startPoint, targetPoint, NavigationMapType.NORMAL.id, Utils.getShuttlePoints(shuttleNo, Utils.getLev(startPoint)));
+        List<NavigateNode> calc = NavigateUtils.calc(startPoint, targetPoint, mapType, Utils.getShuttlePoints(shuttleNo, Utils.getLev(startPoint)));
         if (calc == null) {
             return null;
         }

--
Gitblit v1.9.1