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

---
 src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java |  124 ++++++++++++++++-------------------------
 1 files changed, 48 insertions(+), 76 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
index 53a225c..e627e66 100644
--- a/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
@@ -142,20 +142,19 @@
             if (devpThread == null) {
                 return false;
             }
-            int lev = Utils.getLev(wrkMast.getLocNo());
-            StaProtocol staProtocol2 = devpThread.getStation().get(lev == 1 ? 1014 : 1025);
 
-            if (!staProtocol2.isOutEnable()) {
-                log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025);
-                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025);
-                return false;
-            }
-
-            StaProtocol staProtocol = devpThread.getStation().get(lev == 1 ? 1015 : 1026);
-            if (staProtocol.isLoading()) {
-                log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
-                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
-                return false;
+            WrkMast wrkMast1 = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo());
+            if (wrkMast1 != null) {
+                StaProtocol staProtocol2 = devpThread.getStation().get(wrkMast1.getStaNo());
+                if (!staProtocol2.isOutEnable()) {
+                    News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�111", wrkMast.getWrkNo(), wrkMast1.getStaNo());
+                    return false;
+                }
+                StaProtocol staProtocol = devpThread.getStation().get(wrkMast1.getStaNo() + 1);
+                if (staProtocol.isLoading()) {
+                    News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿111", wrkMast.getWrkNo(), wrkMast1.getStaNo() + 1);
+                    return false;
+                }
             }
 
             if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
@@ -294,62 +293,28 @@
 
             LiftThread liftThread = null;
             LiftProtocol liftProtocol = null;
-            if (wrkMast.getLiftNo() == null) {
-                //鑾峰彇绌挎杞︽渶杩戜笖绌洪棽鐨勬彁鍗囨満
-                liftThread = LiftUtils.getRecentLift(shuttleProtocol.getCurrentLocNo());
-                if (liftThread == null) {
-                    News.info("{}鍙峰皬杞︼紝{}鐩爣搴撲綅锛屾病鏈夊彲鐢ㄧ┖闂叉彁鍗囨満", shuttleProtocol.getShuttleNo(), shuttleProtocol.getCurrentLocNo());
-                    return false;//娌℃湁鍙敤涓旂┖闂茬殑鎻愬崌鏈�
-                }
 
-                liftProtocol = liftThread.getStatus();
-                //鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夊皬杞�
-                if (liftProtocol.getHasCar()) {
-                    News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮湁灏忚溅锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
-                    return false;
-                }
 
-                //鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夋墭鐩�
-                if (liftProtocol.getHasTray()) {
-                    News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮湁鎵樼洏锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
-                    return false;
-                }
+            //鑾峰彇绌挎杞︽渶杩戜笖绌洪棽鐨勬彁鍗囨満
+            liftThread = LiftUtils.getRecentLift(shuttleProtocol.getCurrentLocNo());
+            if (liftThread == null) {
+                News.info("{}鍙峰皬杞︼紝{}鐩爣搴撲綅锛屾病鏈夊彲鐢ㄧ┖闂叉彁鍗囨満", shuttleProtocol.getShuttleNo(), shuttleProtocol.getCurrentLocNo());
+                return false;//娌℃湁鍙敤涓旂┖闂茬殑鎻愬崌鏈�
+            }
 
-                if (liftProtocol == null) {
-                    News.info("{}鍙锋彁鍗囨満瀵硅薄涓嶅瓨鍦�", wrkMast.getLiftNo());
-                    return false;
-                }
-                //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟(璇ヤ换鍔¢渶瑕佹崲灞傚繀椤绘彁鍓嶇嫭鍗犳彁鍗囨満)
-                WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(wrkMast.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
-                if (liftWrkMast != null) {
-                    News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
-                    return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
-                }
-                wrkMast.setModiTime(now);
-                wrkMast.setLiftNo(1);
-                wrkMast.setSystemMsg("");//娓呯┖娑堟伅
-                wrkMastService.updateById(wrkMast);
+            liftProtocol = liftThread.getStatus();
+            //鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夊皬杞�
+            if (liftProtocol.getHasCar()) {
+                News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮湁灏忚溅锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
                 return false;
-            } else {
-                liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, wrkMast.getLiftNo());
-                if (liftThread == null) {
-                    News.info("{}鍙锋彁鍗囨満涓嶅瓨鍦�", wrkMast.getLiftNo());
-                    return false;
-                }
-
-                liftProtocol = liftThread.getStatus();
-                if (liftProtocol == null) {
-                    News.info("{}鍙锋彁鍗囨満瀵硅薄涓嶅瓨鍦�", wrkMast.getLiftNo());
-                    return false;
-                }
             }
 
-            //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
-            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(wrkMast.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
-            if (liftWrkMast != null) {
-                News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
-                return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
+            //鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夋墭鐩�
+            if (liftProtocol.getHasTray()) {
+                News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮湁鎵樼洏锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
+                return false;
             }
+
 
             if (!liftThread.isIdle()) {
                 News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満蹇欑涓紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
@@ -391,9 +356,17 @@
             //鎻愪氦鍒扮嚎绋嬪幓宸ヤ綔
             LiftAssignCommand assignCommand = new LiftAssignCommand();
             assignCommand.setCommands(commands);
-            assignCommand.setLiftNo(wrkMast.getLiftNo().shortValue());
+            assignCommand.setLiftNo((short) 1);
             assignCommand.setTaskNo(wrkMast.getWrkNo().shortValue());
             assignCommand.setTaskMode(LiftCommandModeType.MOVE.id.shortValue());
+
+
+            //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
+            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(wrkMast.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
+            if (liftWrkMast != null) {
+                News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
+                return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
+            }
 
             wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_4.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓�  灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴� ==> 鎻愬崌鏈鸿嚦灏忚溅灞�
             wrkMast.setLiftNo(liftProtocol.getLiftNo());//鎻愬墠閿佸畾鎻愬崌鏈�
@@ -856,19 +829,18 @@
             if (devpThread == null) {
                 return false;
             }
-            int lev = Utils.getLev(wrkMast.getLocNo());
-            StaProtocol staProtocol2 = devpThread.getStation().get(lev == 1 ? 1014 : 1025);
-
-            if (!staProtocol2.isOutEnable()) {
-                log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025);
-                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025);
-                return false;
-            }
-            StaProtocol staProtocol = devpThread.getStation().get(lev == 1 ? 1015 : 1026);
-            if (staProtocol.isLoading()) {
-                log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
-                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
-                return false;
+            WrkMast wrkMast1 = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo());
+            if (wrkMast1 != null) {
+                StaProtocol staProtocol2 = devpThread.getStation().get(wrkMast1.getStaNo());
+                if (!staProtocol2.isOutEnable()) {
+                    News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�222", wrkMast.getWrkNo(), wrkMast1.getStaNo());
+                    return false;
+                }
+                StaProtocol staProtocol = devpThread.getStation().get(wrkMast1.getStaNo() + 1);
+                if (staProtocol.isLoading()) {
+                    News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿222", wrkMast.getWrkNo(), wrkMast1.getStaNo());
+                    return false;
+                }
             }
 
             if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {

--
Gitblit v1.9.1