From f11edf2a41cd186ce46581f0b72ebccfc650674f Mon Sep 17 00:00:00 2001
From: zc <zc@123>
Date: 星期四, 24 四月 2025 14:02:14 +0800
Subject: [PATCH] 初步调试

---
 src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java |   32 ++++++++++++++++++++++++++++----
 1 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java
index 2a510d5..dea517b 100644
--- a/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java
@@ -250,7 +250,7 @@
                 }
 
                 //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟(璇ヤ换鍔¢渶瑕佹崲灞傚繀椤绘彁鍓嶇嫭鍗犳彁鍗囨満)
-                WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(liftProtocol.getLiftNo());
+                WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(1, wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
                 if (liftWrkMast != null) {
                     if (liftWrkMast != null && !wrkMast.getMainWrkNo().equals(liftWrkMast.getWrkNo())) {
                         News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
@@ -278,7 +278,7 @@
             }
 
             //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
-            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo());
+            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(1, wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
             if (liftWrkMast != null) {
                 if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
                     News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
@@ -386,7 +386,7 @@
             }
 
             //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
-            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo());
+            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(1, wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
             if (liftWrkMast != null) {
                 if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
                     News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
@@ -487,7 +487,7 @@
             }
 
             //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
-            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo());
+            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(1, wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
             if (liftWrkMast != null) {
                 if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
                     News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
@@ -541,6 +541,22 @@
 
             //鍘诲緟鏈轰綅
             String locNo = Utils.getLocNo(Utils.getRow(liftStandByLocNo) + 1, Utils.getBay(liftStandByLocNo) - 1, Utils.getLev(liftStandByLocNo));
+            //闃叉鍙︿竴杈嗚溅鍗犵敤寰呮満浣�
+            try{
+                if (shuttleProtocol.getShuttleNo() == 2) {
+                    ShuttleThread shuttleThread1 = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, 1);
+                    if (locNo.equals(shuttleThread1.getStatus().getCurrentLocNo())) {
+                        locNo = Utils.getLocNo(Utils.getRow(liftStandByLocNo) + 2, Utils.getBay(liftStandByLocNo) - 1, Utils.getLev(liftStandByLocNo));
+                    }
+                } else {
+                    ShuttleThread shuttleThread2 = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, 2);
+                    if (locNo.equals(shuttleThread2.getStatus().getCurrentLocNo())) {
+                        locNo = Utils.getLocNo(Utils.getRow(liftStandByLocNo) + 2, Utils.getBay(liftStandByLocNo) - 1, Utils.getLev(liftStandByLocNo));
+                    }
+                }
+            }catch (Exception e){
+
+            }
             //鑾峰彇灏忚溅鍒版彁鍗囨満寰呮満琛岃蛋鍛戒护
             List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), locNo, NavigationMapType.DFX.id, assignCommand, shuttleThread);
             if (commands == null) {
@@ -553,6 +569,14 @@
             wrkMast.setWrkSts(WrkStsType.MOVE_OUT_LIFT_TRANSPORT_LIFT_OUT.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓�  鎻愬崌鏈鸿嚦鏀捐揣灞傚畬鎴� ==> 灏忚溅杩佸嚭鎻愬崌鏈轰腑
             wrkMast.setModiTime(now);
             if (wrkMastService.updateById(wrkMast)) {
+                WrkMast wrkMast1 = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo());
+                if (wrkMast1 != null) {
+                    wrkMast.setLiftNo(1);
+                    wrkMastService.updateById(wrkMast1);
+                } else {
+                    News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛屾壘涓嶅埌涓诲伐浣滄。", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
+                    return false;
+                }
                 //涓嬪彂浠诲姟
                 shuttleAction.assignWork(shuttleProtocol.getShuttleNo(), assignCommand);
                 return false;

--
Gitblit v1.9.1