From ea9caa1cc989e8b5166eafcf9174aae735dc19e8 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 26 六月 2023 10:13:06 +0800
Subject: [PATCH] 充电任务

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   69 ++++++++++++++++++----------------
 1 files changed, 36 insertions(+), 33 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 5ac7089..0ab1ebe 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1375,16 +1375,18 @@
                             //璁剧疆鍥涘悜绌挎杞︿负绌洪棽鐘舵��
                             shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE);
                         }
-                        //浠诲姟鍙锋竻闆�
-                        shuttleProtocol.setTaskNo((short) 0);
-                        //婧愬簱浣嶆竻闆�
-                        shuttleProtocol.setSourceLocNo(null);
-                        //鐩爣搴撲綅娓呴浂
-                        shuttleProtocol.setLocNo(null);
-                        //鏍囪澶嶄綅
-                        shuttleProtocol.setPakMk(true);
-                        //浠诲姟鎸囦护娓呴浂
-                        shuttleProtocol.setAssignCommand(null);
+                        if (wrkCharge.getWrkSts() != 57) {
+                            //浠诲姟鍙锋竻闆�
+                            shuttleProtocol.setTaskNo((short) 0);
+                            //婧愬簱浣嶆竻闆�
+                            shuttleProtocol.setSourceLocNo(null);
+                            //鐩爣搴撲綅娓呴浂
+                            shuttleProtocol.setLocNo(null);
+                            //鏍囪澶嶄綅
+                            shuttleProtocol.setPakMk(true);
+                            //浠诲姟鎸囦护娓呴浂
+                            shuttleProtocol.setAssignCommand(null);
+                        }
                         News.info("鍥涘悜绌挎杞﹀凡纭涓斾换鍔″畬鎴愮姸鎬�,澶嶄綅銆傚洓鍚戠┛姊溅鍙�={}", shuttleProtocol.getShuttleNo());
                     } else {
                         News.error("鍥涘悜绌挎杞﹀凡纭涓斾换鍔″畬鎴愮姸鎬�,澶嶄綅澶辫触锛屼絾鏈壘鍒板伐浣滄。銆傚洓鍚戠┛姊溅鍙�={}锛屽伐浣滃彿={}", shuttleProtocol.getShuttleNo(), shuttleProtocol.getTaskNo());
@@ -2449,33 +2451,26 @@
         for (ShuttleSlave shuttle : slaveProperties.getShuttle()) {
             WrkCharge wrkCharge = wrkChargeService.selectWorking(null, WrkChargeType.charge);
             if (wrkCharge == null) {
-                return;
+                continue;
             }
 
             ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkCharge.getShuttleNo());
             if (shuttleThread == null) {
-                return;
+                continue;
             }
             ShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
             if (shuttleProtocol == null) {
-                return;
+                continue;
             }
 
-            //褰撳墠绌挎杞﹀簱浣嶅彿
-            String currentLocNo = shuttleProtocol.getCurrentLocNo();
-            if (currentLocNo == null) {
-                return;
-            }
-            //灏忚溅褰撳墠灞傞珮
-            Integer currentLev = Utils.getLev(currentLocNo);
             //鑾峰彇鎻愬崌鏈�
             LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, 1);
             if (liftThread == null) {
-                return;
+                continue;
             }
             LiftProtocol liftProtocol = liftThread.getLiftProtocol();
             if (liftProtocol == null) {
-                return;
+                continue;
             }
             //鍏呯數搴撲綅鍙�
             String chargeLocNo = wrkCharge.getLocNo();
@@ -2483,6 +2478,14 @@
             Integer chargeLocNoLev = Utils.getLev(chargeLocNo);
 
             if (wrkCharge.getWrkSts() == 51) {
+                //褰撳墠绌挎杞﹀簱浣嶅彿
+                String currentLocNo = shuttleProtocol.getCurrentLocNo();
+                if (currentLocNo == null) {
+                    continue;
+                }
+                //灏忚溅褰撳墠灞傞珮
+                Integer currentLev = Utils.getLev(currentLocNo);
+
                 if (currentLev == chargeLocNoLev) {
                     //鍚屼竴灞傛棤闇�缁忚繃鎻愬崌鏈�
                     //鐩存帴璁$畻杞﹀埌鍏呯數搴撲綅
@@ -2492,7 +2495,7 @@
                     //鑾峰彇灏忚溅鍒板厖鐢靛簱浣嶈矾寰勬寚浠�
                     List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, chargeLocNo, NavigationMapType.NONE.id, assignCommand, shuttleThread);
                     if (commands == null) {
-                        return;//鏈壘鍒拌矾寰�
+                        continue;//鏈壘鍒拌矾寰�
                     }
                     //杩涜鍏呯數涓�
                     shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING);
@@ -2525,13 +2528,13 @@
                     //灏忚溅绉诲姩鍒版彁鍗囨満鍙g珯鐐癸紝璁$畻璺緞
                     List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, liftSiteLocNo, NavigationMapType.NONE.id, assignCommand, shuttleThread);
                     if (commands == null) {
-                        return;//鏈壘鍒拌矾寰�
+                        continue;//鏈壘鍒拌矾寰�
                     }
 
                     //鑾峰彇褰撳墠灏忚溅鎵�鍦ㄦゼ灞傜殑绔欑偣淇℃伅
                     BasDevp basDevp = basDevpService.queryByLocNo(liftSiteLocNo);
                     if (basDevp == null) {
-                        return;//鎵句笉鍒扮珯鐐逛俊鎭�
+                        continue;//鎵句笉鍒扮珯鐐逛俊鎭�
                     }
                     Short basDevpQrCode = Short.parseShort(basDevp.getQrCodeValue());//绔欑偣浜岀淮鐮�
 
@@ -2562,13 +2565,13 @@
 
                 //鍒ゆ柇鎻愬崌鏈烘槸鍚﹀浜庣┖闂茬姸鎬�
                 if (!liftProtocol.isIdle()) {
-                    return;
+                    continue;
                 }
 
                 //鍒ゆ柇灏忚溅鏄惁鍦ㄦ彁鍗囨満鍐�
                 if (shuttleProtocol.getCurrentCode().intValue() != liftProtocol.getBarcode().intValue()) {
                     //灏忚溅涓嶅湪鎻愬崌鏈哄唴
-                    return;
+                    continue;
                 }
 
                 //缁欐彁鍗囨満鍒嗛厤浠诲姟
@@ -2602,24 +2605,24 @@
 
                 Short liftLev = liftProtocol.getLev();
                 if (liftLev == null) {
-                    return;
+                    continue;
                 }
                 //鍒ゆ柇鎻愬崌鏈烘ゼ灞傛槸鍚﹀埌杈剧洰鏍囨ゼ灞�
                 if (liftLev.intValue() != chargeLocNoLev) {
-                    return;//娌℃湁鍒拌揪鐩爣妤煎眰
+                    continue;//娌℃湁鍒拌揪鐩爣妤煎眰
                 }
 
                 //姝ゆ椂杞﹀湪鎻愬崌鏈哄唴閮紝涓嬭揪涓�姝ユ寚浠よ杞︾Щ鍔ㄥ埌鎻愬崌鏈哄彛
                 Integer staNo = Utils.levToOutInStaNo(liftLev >= 2 ? liftLev + 1 : liftLev);//绔欑偣鍙�
                 BasDevp basDevp = basDevpService.selectById(staNo);
                 if (basDevp == null) {
-                    return;//绔欑偣涓嶅瓨鍦�
+                    continue;//绔欑偣涓嶅瓨鍦�
                 }
 
-                //鑾峰彇灏忚溅鍒板厖鐢靛簱浣嶈矾寰勬寚浠�
-                List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, chargeLocNo, NavigationMapType.NONE.id, assignCommand, shuttleThread);
+                //鑾峰彇鎻愬崌鏈哄彛鍒板厖鐢靛簱浣嶈矾寰勬寚浠�
+                List<ShuttleCommand> commands = this.shuttleAssignCommand(basDevp.getLocNo(), chargeLocNo, NavigationMapType.NONE.id, assignCommand, shuttleThread);
                 if (commands == null) {
-                    return;//鏈壘鍒拌矾寰�
+                    continue;//鏈壘鍒拌矾寰�
                 }
 
                 short startCode = liftProtocol.getBarcode();//鎻愬崌鏈哄唴閮ㄤ簩缁寸爜

--
Gitblit v1.9.1