From f0e2feba85291e700eae3b0a8cedd28f37b44c02 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期六, 19 四月 2025 20:04:34 +0800
Subject: [PATCH] 999

---
 src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java |   52 ++++++++++++++++++++++++++--------------------------
 1 files changed, 26 insertions(+), 26 deletions(-)

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 98503f7..ff24bad 100644
--- a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java
@@ -66,13 +66,13 @@
      * 浠庢病鏈夋彁鍗囨満渚у叆搴擄紝鏈変袱绉嶆儏鍐碉紝涓�绉嶅叆搴撳埌鍚屽眰锛屼竴绉嶅叆搴撳埌涓嶅悓灞傦紝鍒欓渶瑕佹彁鍗囨満
      * @param wrkMast
      */
-    public void shuttleMoveExecute(WrkMast wrkMast) {
+    public void shuttleMoveExecute(WrkMast wrkMast, Integer staNo) {
         boolean stepMoveSta = this.shuttleMoveExecuteTransportLiftStepCallShuttle(wrkMast);//灏忚溅杩佺Щ-鍛煎彨灏忚溅鑷冲彇璐х偣
         if (!stepMoveSta) {
             return;
         }
         //鍒ゆ柇鐩爣搴撲綅鏄惁鍦�1灞傛垨5灞�
-        if (Utils.getLev(wrkMast.getLocNo()) == 1 || Utils.getLev(wrkMast.getLocNo()) == 5) {
+        if ((Utils.getLev(wrkMast.getSourceLocNo()) == 1 && staNo == 1015) || (Utils.getLev(wrkMast.getSourceLocNo()) == 5 && staNo == 1026)) {
             //鐩存帴鍏ュ簱
             boolean stepMoveLoc = this.shuttleMoveExecuteStepMoveLoc(wrkMast);//灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑
             if (!stepMoveLoc) {
@@ -133,18 +133,19 @@
             if (devpThread == null) {
                 return false;
             }
-            StaProtocol staProtocol = devpThread.getStation().get(Utils.getLev(wrkMast.getSourceLocNo()) == 1 ? 1015 : 1026);
-            if (!staProtocol.isLoading() || !staProtocol.isAutoing()) {
-                log.info("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
-                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
-                return false;
+            WrkMast wrkMast1 = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo());
+            if (wrkMast1 != null) {
+                StaProtocol staProtocol = devpThread.getStation().get(wrkMast1.getStaNo());
+                if (!staProtocol.isLoading() || !staProtocol.isAutoing()) {
+                    News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿鎴栭潪鑷姩", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
+                    return false;
+                }
+
+                if (staProtocol.getFinishWorkNo() != null && staProtocol.getFinishWorkNo().intValue() != wrkMast.getMainWrkNo()) {
+                    News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+                    return false;
+                }
             }
-            //TODO
-//            if (!staProtocol.getFinishWorkNo().equals(wrkMast.getWrkNo())) {
-//                            log.info( "{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
-//                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
-//                return false;
-//            }
             //灏忚溅澶勪簬绌洪棽鐘舵��
             if (!shuttleThread.isIdle()) {
                 News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛屽皬杞﹀繖纰屼腑", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
@@ -305,7 +306,7 @@
                 }
 
                 //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟(璇ヤ换鍔¢渶瑕佹崲灞傚繀椤绘彁鍓嶇嫭鍗犳彁鍗囨満)
-                WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(liftProtocol.getLiftNo());
+                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());
@@ -333,7 +334,7 @@
             }
 
             //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
-            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo());
+            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
             if (liftWrkMast != null) {
                 if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
                     News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
@@ -439,7 +440,7 @@
             }
 
             //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
-            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo());
+            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
             if (liftWrkMast != null) {
                 if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
                     News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
@@ -541,7 +542,7 @@
             }
 
             //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
-            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo());
+            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
             if (liftWrkMast != null) {
                 if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
                     News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
@@ -632,7 +633,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());
@@ -837,16 +838,15 @@
             }
             StaProtocol staProtocol = devpThread.getStation().get(Utils.getLev(wrkMast.getSourceLocNo()) == 1 ? 1015 : 1026);
             if (!staProtocol.isLoading()) {
-                log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
-                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+                //log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿鎴栭潪鑷姩", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
                 return false;
             }
-            //TODO
-//            if (!staProtocol.getFinishWorkNo().equals(wrkMast.getWrkNo())) {
-//                log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
-//                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
-//                return false;
-//            }
+            if (staProtocol.getFinishWorkNo() != null && staProtocol.getFinishWorkNo().intValue() != wrkMast.getMainWrkNo()) {
+                //log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+                return false;
+            }
 
             if (!shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
                 return false;

--
Gitblit v1.9.1