From 6cf99e75f5c51714ed9bdbd503aefc856f0ab76b Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 28 九月 2023 16:31:50 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/NyShuttleThread.java |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/NyShuttleThread.java b/src/main/java/com/zy/core/thread/NyShuttleThread.java
index e627a9f..26fb927 100644
--- a/src/main/java/com/zy/core/thread/NyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/NyShuttleThread.java
@@ -705,6 +705,19 @@
             return;
         }
 
+        if (shuttleProtocol.getYCurrent() > shuttleProtocol.getYTarget()) {
+            //璺戝簱缁撴潫
+            shuttleProtocol.setMoveLoc(false);
+            shuttleProtocol.setMoveType(0);
+            shuttleProtocol.setXStart(0);
+            shuttleProtocol.setXTarget(0);
+            shuttleProtocol.setXCurrent(0);
+            shuttleProtocol.setYStart(0);
+            shuttleProtocol.setYTarget(0);
+            shuttleProtocol.setYCurrent(0);
+            return;
+        }
+
         if (shuttleProtocol.getMoveType() == 0) {//璺戣建閬�
             ArrayList<String> locs = new ArrayList<>();
             for (int i = shuttleProtocol.getXCurrent(); i <= shuttleProtocol.getXTarget(); i++) {
@@ -735,7 +748,35 @@
                 }
             }
         }else {//璺戝簱浣�
+            Integer xCurrent = shuttleProtocol.getXCurrent();
+            if (xCurrent > shuttleProtocol.getXTarget()) {//褰揦鍊煎ぇ浜嶺鐩爣鍊硷紝杩涜褰掗浂涓擸鏂瑰悜+1
+                shuttleProtocol.setXCurrent(shuttleProtocol.getXStart());
+                shuttleProtocol.setYCurrent(shuttleProtocol.getYCurrent() + 1);
+                return;
+            }
 
+            Integer yCurrent = shuttleProtocol.getYCurrent();
+            String locNo = Utils.getLocNo(xCurrent, yCurrent, lev);
+            LocMast target = locMastService.selectById(locNo);
+            if (target == null) {
+                shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1);
+                return;
+            }
+
+            if (!target.getLocSts().equals("O")) {
+                shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1);
+                return;
+            }
+
+            //璋冨害鍘荤洰鏍囦綅缃�
+            if (shuttleProtocol.getCurrentLocNo().equals(target.getLocNo())) {
+                shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1);//灏忚溅鍜岀洰鏍囦綅缃竴鑷达紝璺宠繃
+            }else {
+                boolean result = shuttleDispatchUtils.dispatchShuttle(commonService.getWorkNo(3), target.getLocNo());
+                if (result) {//璋冨害鎴愬姛
+                    shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1);
+                }
+            }
         }
     }
 

--
Gitblit v1.9.1