From 855ae16895a43bf56ecb22436204c18fbe466980 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期五, 18 四月 2025 16:27:49 +0800
Subject: [PATCH] 999

---
 src/main/java/com/zy/asrs/service/impl/ShuttleMoveServiceImpl.java |    7 +++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java        |   13 +++---
 src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java   |   74 ++++++++++++-------------------------
 src/main/java/com/zy/asrs/task/WrkMastScheduler.java               |    2 +
 4 files changed, 40 insertions(+), 56 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 2fbed3d..da86aeb 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -339,7 +339,7 @@
                 News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鍦ㄨ嚜鍔ㄧ姸鎬�", wrkMast.getWrkNo(), staProtocol.getSiteId());
                 continue;
             }
-            if (!staProtocol.isOutEnable()) {
+            if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
                 News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), staProtocol.getSiteId());
                 continue;
             }
@@ -399,22 +399,23 @@
                         }
 
                         String sourceLocNo = "1200305";
-                        String locNo = "1100105";
+                        String locNo = "1300105";
                         if (wrkMast.getStaNo() == 1013) {
                             sourceLocNo = "1200301";
-                            locNo = "1100101";
+                            locNo = "1300101";
                             if (loc.contains(locNo)) {
-                                locNo = "1000101";
+                                locNo = "1100101";
                             }
                         } else {
                             if (loc.contains(locNo)) {
-                                locNo = "1000105";
+                                locNo = "1100105";
                             }
                         }
 
                         boolean dispatchShuttle = shuttleDispatchUtils.shuttleMoveGenerate(wrkMast.getWrkNo(), sourceLocNo, locNo, wrkMast.getShuttleNo(), null, false);
                         if (!dispatchShuttle) {
                             News.taskInfo(wrkMast.getWrkNo(), "{}灏忚溅锛屾尓杞﹁皟搴﹁嚦鍙栬揣鐐瑰け璐�", wrkMast.getShuttleNo());
+                            continue;
                         }
 
                         staProtocol.setWorkNo(Short.parseShort(String.valueOf(wrkMast.getWrkNo())));
@@ -1063,7 +1064,7 @@
                 return false;
             }
 
-            if (!staProtocol.isOutEnable()) {
+            if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
                 News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), staProtocol.getSiteId());
                 return false;
             }
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..a1900f7 100644
--- a/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
@@ -294,62 +294,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,10 +357,18 @@
             //鎻愪氦鍒扮嚎绋嬪幓宸ヤ綔
             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());//鎻愬墠閿佸畾鎻愬崌鏈�
             wrkMast.setSystemMsg("");//娓呯┖娑堟伅
diff --git a/src/main/java/com/zy/asrs/service/impl/ShuttleMoveServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ShuttleMoveServiceImpl.java
index 1823d53..5c28591 100644
--- a/src/main/java/com/zy/asrs/service/impl/ShuttleMoveServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ShuttleMoveServiceImpl.java
@@ -269,6 +269,13 @@
                 News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮湁灏忚溅锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
                 return false;//鎻愬崌鏈哄唴鏃犲皬杞�
             }
+            // TODO
+            //鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夋墭鐩�
+            if (liftProtocol.getHasTray()) {
+                News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮湁鎵樼洏锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
+                return false;//鎻愬崌鏈哄唴鏃犲皬杞�
+            }
+
 
             //鍒ゆ柇鎻愬崌鏈烘ゼ灞�
             if (liftProtocol.getLev() != Utils.getLev(shuttleProtocol.getCurrentLocNo())) {
diff --git a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
index 7b825ed..05cb005 100644
--- a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
@@ -207,6 +207,8 @@
                 } else if (main.getIoType() == WrkIoType.OUT.id) {
                     main.setShuttleNo(wrkMast.getShuttleNo());
                     main.setWrkSts(WrkStsType.OUTBOUND_SHUTTLE_RUN_COMPLETE.sts);
+                    //閭f椂鍊欐墭鐩樺湪鎻愬崌鏈洪噷锛屽垯闇�瑕侀攣浣�
+                    main.setShuttleNo(1);
                 }
                 main.setModiTime(new Date());
                 if (!wrkMastService.updateById(main)) {

--
Gitblit v1.9.1