From d983b88916d7489aa154984b67e1bcfb2f13f5d1 Mon Sep 17 00:00:00 2001
From: zc <zc@123>
Date: 星期二, 06 五月 2025 11:10:43 +0800
Subject: [PATCH] 解决待机位和提升机互锁问题

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java     |   23 +++++++++++++++++------
 src/main/java/com/zy/core/MainProcess.java                      |    7 +------
 src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java |   14 ++++++++++++++
 3 files changed, 32 insertions(+), 12 deletions(-)

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 23e766c..692e9e6 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1104,12 +1104,13 @@
                 return false;
             }
 
+
             //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟(璇ヤ换鍔¢渶瑕佹崲灞傚繀椤绘彁鍓嶇嫭鍗犳彁鍗囨満)
-            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
-            if (liftWrkMast != null) {
-                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
-                return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
-            }
+//            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
+//            if (liftWrkMast != null) {
+//                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
+//                return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
+//            }
 
             //鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夊皬杞�
             if (liftProtocol.getHasCar()) {
@@ -1203,8 +1204,18 @@
             assignCommand.setTaskNo(wrkMast.getWrkNo().shortValue());
             assignCommand.setTaskMode(LiftCommandModeType.PALLET_IN.id.shortValue());
 
+
+            //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟(璇ヤ换鍔¢渶瑕佹崲灞傚繀椤绘彁鍓嶇嫭鍗犳彁鍗囨満)
+            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
+            if (liftWrkMast != null) {
+                if (liftWrkMast != null && !wrkMast.getMainWrkNo().equals(liftWrkMast.getWrkNo())) {
+                    News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
+                    return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
+                }
+            }
+
             wrkMast.setWrkSts(WrkStsType.INBOUND_LIFT_RUN.sts);
-            wrkMast.setLiftNo(liftProtocol.getLiftNo());//鎻愬墠閿佸畾鎻愬崌鏈�
+            //wrkMast.setLiftNo(liftProtocol.getLiftNo());//鎻愬墠閿佸畾鎻愬崌鏈�
             wrkMast.setSystemMsg("");//娓呯┖娑堟伅
             wrkMast.setModiTime(now);
             if (wrkMastService.updateById(wrkMast)) {
diff --git a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java
index 2a765b3..1629e74 100644
--- a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java
@@ -220,6 +220,16 @@
                  News.taskInfo(wrkMast.getWrkNo(),"{}鍙锋彁鍗囨満瀵硅薄涓嶅瓨鍦�", wrkMast.getLiftNo());
                 return false;
             }
+
+            //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟(璇ヤ换鍔¢渶瑕佹崲灞傚繀椤绘彁鍓嶇嫭鍗犳彁鍗囨満)
+            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
+            if (liftWrkMast != null) {
+                if (liftWrkMast != null && !wrkMast.getMainWrkNo().equals(liftWrkMast.getWrkNo())) {
+                    News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
+                    return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
+                }
+            }
+
             //褰�1011鍏ュ簱锛屾墭鐩樺湪鎻愬崌鏈洪噷锛�1014涔熷湪鍏ュ簱锛屽緟鏈轰綅琚�1014鍗犱綇锛屽幓鎻愬崌鏈洪噷鐨勪换鍔★紝灏忚溅浼氬崱浣�
             if (liftProtocol.getHasTray() && liftProtocol.getLev() == 1 && wrkMast.getStaNo() != null && wrkMast.getStaNo() == 1015) {
                  News.taskInfo(wrkMast.getWrkNo(),"{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮湁鎵樼洏涓斿湪1灞傞渶瑕佸皬杞﹀幓鎺ワ紝灏变笉瑕佸崰浣忓緟鏈轰綅锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
@@ -260,6 +270,10 @@
 
             assignCommand.setCommands(commands);
 
+
+
+
+            wrkMast.setLiftNo(liftProtocol.getLiftNo());//鎻愬墠閿佸畾鎻愬崌鏈�
             wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_3.sts);//灏忚溅绉诲姩鍒板緟鏈虹偣
             wrkMast.setModiTime(now);
             wrkMast.setSystemMsg("");//娓呯┖娑堟伅
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index ef1a16b..c2c2871 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -47,7 +47,6 @@
                     mainService.generateInboundWrk();
                     mainService.noLiftIn();
                     // 闂撮殧
-                    Thread.sleep(50);
                     // 鍑哄簱
                     mainService.outFirst();
                     mainService.stnToOutStn();//杈撻�佺嚎
@@ -62,15 +61,12 @@
                     //鎻愬崌鏈哄叆搴撲换鍔�
                     mainService.liftInExecute();
                     // 闂撮殧
-                    Thread.sleep(50);
                     //鎻愬崌鏈哄嚭搴撲换鍔�
                     mainService.liftOutExecute();
                     // 闂撮殧
-                    Thread.sleep(50);
                     //鍥涘悜绌挎杞︿换鍔″畬鎴�
                     mainService.shuttleFinished();
                     // 闂撮殧
-                    Thread.sleep(50);
                     //鎵ц绉诲簱浠诲姟
                     mainService.shuttleLocMoveExecute();
 //                    //璐у弶鎻愬崌鏈轰换鍔�
@@ -82,7 +78,6 @@
                     //鎻愬崌鏈轰换鍔″畬鎴�
                     mainService.liftFinished();
                     // 闂撮殧
-                    Thread.sleep(50);
                     //鎵ц灏忚溅绉诲姩浠诲姟
                     mainService.shuttleMoveExecute();
                     // 寮傚父淇℃伅璁板綍
@@ -99,7 +94,7 @@
                     }
 
                     // 闂撮殧
-                    Thread.sleep(200);
+                    Thread.sleep(300);
                 } catch (Exception e) {
                     e.printStackTrace();
                 }

--
Gitblit v1.9.1