From 00d9f3f5cf3b046cb42098c9bc13f2313a435f53 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 27 六月 2023 10:32:50 +0800
Subject: [PATCH] 提升机搬运前判断目标站是否可入

---
 src/main/java/com/zy/core/thread/ShuttleThread.java |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/ShuttleThread.java b/src/main/java/com/zy/core/thread/ShuttleThread.java
index e05f7e2..30dac2d 100644
--- a/src/main/java/com/zy/core/thread/ShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/ShuttleThread.java
@@ -653,9 +653,6 @@
             return false;
         }
 
-        //灏嗘爣璁扮疆涓篺alse(闃叉閲嶅彂)
-        shuttleProtocol.setPakMk(false);
-
         List<ShuttleCommand> errorCommands = redisCommand.getErrorCommands();
         if (errorCommands.size() > 0) {
             //浼樺厛鎵ц璇ユ寚浠�
@@ -757,8 +754,12 @@
             //灏忚溅褰撳墠鍛戒护璧峰浣嶇疆灏辨槸鎻愬崌鏈轰簩缁寸爜锛岃鏄庡皬杞﹂渶瑕佸悜鎻愬崌鏈哄绉诲姩锛屽垯闇�瑕佸垽鏂姸鎬佹槸鍚︽弧瓒�
             if (command.getStartCodeNum().intValue() == liftProtocol.getBarcode().intValue()){
                 //鎻愬崌鏈烘槸鍚︾┖闂诧紝鎻愬崌鏈烘槸鍚﹀埌杈剧洰鏍囨ゼ灞傦紝鐩爣妤煎眰鏄惁缁欏嚭鎻愬崌鏈哄埌浣嶄俊鍙蜂綅
-                if (!liftProtocol.isIdle()) {
+                if (!liftProtocol.isIdleNoTask()) {
                     return false;//鎻愬崌鏈哄繖锛岀姝笅鍙戝懡浠�
+                }
+                if (liftProtocol.getTaskNo().intValue() != wrkNo) {
+                    //鎻愬崌鏈哄伐浣滃彿鍜屽綋鍓嶅伐浣滀笉鐩稿悓锛岀姝笅鍙戝懡浠�
+                    return false;
                 }
 
                 Short distCodeNum = command.getDistCodeNum();//鐩爣浜岀淮鐮�
@@ -792,6 +793,9 @@
             return false;
         } else {
             News.info("鍥涘悜绌挎杞﹀懡浠や笅鍙戞垚鍔燂紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", shuttleProtocol.getShuttleNo(), JSON.toJSON(command));
+
+            //灏嗘爣璁扮疆涓篺alse(闃叉閲嶅彂)
+            shuttleProtocol.setPakMk(false);
 
             //淇濆瓨鏁版嵁鍒版暟鎹簱鍋氭祦姘�
             BasShuttleOptService shuttleOptService = SpringUtils.getBean(BasShuttleOptService.class);
@@ -923,6 +927,10 @@
             command = commands.get(i);
             for (Short qrCodeValue : qrCodeValues) {
                 //鐩爣浣嶇疆鏄彁鍗囨満鍙o紝鎴栬捣鐐逛綅缃槸鎻愬崌鏈哄彛涓旂洰鏍囨槸鍘绘彁鍗囨満鍐�
+                if (command.getDistCodeNum() == null || command.getStartCodeNum() == null) {
+                    continue;
+                }
+
                 if (qrCodeValue.intValue() == command.getDistCodeNum().intValue() || (qrCodeValue.intValue() == command.getStartCodeNum().intValue() && command.getDistCodeNum().intValue() == liftProtocol.getBarcode().intValue())) {
                     //瀛樺湪
                     step = i + 1;

--
Gitblit v1.9.1