From e150f2c426fe2bdfd86be1fe0c27215efaacdc83 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期二, 16 十二月 2025 09:09:05 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   84 ++++++++++++++--------------
 src/main/java/com/zy/core/MainProcess.java                  |   49 +++++++---------
 2 files changed, 63 insertions(+), 70 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 b94ec5b..8669c14 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2970,7 +2970,7 @@
             //濡傛灉绔欑偣鍙嚭绂佺敤锛屽垯涓嶇敓鎴愮┖鐩樺嚭搴撲换鍔�
             switch (site){
                 case 1108:staProtocol = devpThread.getStation().get(site - 2);break;
-                case 2031:staProtocol = devpThread2.getStation().get(site);break;
+                case 2031:staProtocol = devpThread2.getStation().get(site + 1);break;
             }
             if (staProtocol == null) {
                 return;
@@ -4455,34 +4455,34 @@
             }
             //閬嶅巻rgv鍏ュ簱鍙栬揣绔欑偣
             DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, rgvStn.getDevpPlcId());
-            StaProtocol staProtocol = devpThread.getStation().get(rgvStn.getStaNo2()); //鍊掓暟绗簩涓�
+            StaProtocol staProtocol = devpThread.getStation().get(rgvStn.getStaNo2()==1043?1044:1103); //鍊掓暟绗簩涓�
             StaProtocol staProtocol2 = null;  //杩炵画鍙栬揣浠诲姟绔欑偣
             RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, (int) rgvProtocol.getRgvNo());
-            WrkMastSta wrkMastSta3 = null;//杩炲彇涓や釜
-            Integer staNo = null;  //涓庤皟搴�
-            switch (rgvStn.getStaNo2()){
-                case 1043: staNo = 1044;break;
-                case 1104: staNo = 1103;break;
-            }
-            if(staNo != null ){
-                staProtocol2 = devpThread.getStation().get(staNo);
-                if (staProtocol2 == null) {
-                    News.infoNoLog(" - Rgv鍏ュ簱绔欎俊鎭�(staProtocol!=null缁х画鎵ц)锛歴taProtocol=" + staProtocol);
-                    continue;
-                } else {
-                    staProtocol2 = staProtocol2.clone();
-                }
-                BasDevp staDetl2 = basDevpService.selectById(rgvStn.getStaNo2());
-                if (staDetl2 == null) {
-                    News.error(" - 鍏ュ簱 ===>>Rgv绔欑偣鍦ㄦ暟鎹簱涓嶅瓨鍦�, 绔欑偣缂栧彿={}", rgvStn.getStaNo());
-                    continue;
-                }
-                if((staProtocol.getWorkNo()>9999 && staProtocol2.getWorkNo()>9999) || (staProtocol.getWorkNo()<10000 && staProtocol2.getWorkNo()<10000)){
-                    //褰撹繛缁彇璐х珯鐐逛负鐩稿悓绫诲瀷鏃舵墠鑳借繛缁彇
-                    wrkMastSta3 = wrkMastStaMapper.selectByWrkNo(staProtocol2.getWorkNo());
-                }
-
-            }
+//            WrkMastSta wrkMastSta3 = null;//杩炲彇涓や釜
+//            Integer staNo = null;  //涓庤皟搴�
+//            switch (rgvStn.getStaNo2()){
+//                case 1043: staNo = 1044;break;
+//                case 1104: staNo = 1103;break;
+//            }
+//            if(staNo != null ){
+//                staProtocol2 = devpThread.getStation().get(staNo);
+//                if (staProtocol2 == null) {
+//                    News.infoNoLog(" - Rgv鍏ュ簱绔欎俊鎭�(staProtocol!=null缁х画鎵ц)锛歴taProtocol=" + staProtocol);
+//                    continue;
+//                } else {
+//                    staProtocol2 = staProtocol2.clone();
+//                }
+//                BasDevp staDetl2 = basDevpService.selectById(rgvStn.getStaNo2());
+//                if (staDetl2 == null) {
+//                    News.error(" - 鍏ュ簱 ===>>Rgv绔欑偣鍦ㄦ暟鎹簱涓嶅瓨鍦�, 绔欑偣缂栧彿={}", rgvStn.getStaNo());
+//                    continue;
+//                }
+//                if((staProtocol.getWorkNo()>9999 && staProtocol2.getWorkNo()>9999) || (staProtocol.getWorkNo()<10000 && staProtocol2.getWorkNo()<10000)){
+//                    //褰撹繛缁彇璐х珯鐐逛负鐩稿悓绫诲瀷鏃舵墠鑳借繛缁彇
+//                    wrkMastSta3 = wrkMastStaMapper.selectByWrkNo(staProtocol2.getWorkNo());
+//                }
+//
+//            }
             if(rgvProtocol.getTaskNo2() > 9999 && staProtocol.getWorkNo() < 10000){
                 continue;
             }
@@ -4543,21 +4543,21 @@
             sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂
             if (sign){
 
-                if(wrkMastSta3 != null ){
-                    List<WrkMastSta> wrkMastStaPaking = wrkMastStaService.selectPakingWrk(wrkMastSta3.getStaStart());
-                    if(wrkMastStaPaking.size() < 1 && !wrkMastSta3.getWrkNo().equals(wrkMastSta.getWrkNo())){//宸叉湁鏍囪涓嶅啀鏍囪
-                        wrkMastSta3.setMk(1);
-                        basRgv.setPakAll("0");
-                        basRgvService.updateById(basRgv);
-
-                        try{
-                            wrkMastStaMapper.updateById(wrkMastSta3);
-                            log.error("閿佸畾鐩搁殧绔欑偣浠诲姟");
-                        }catch (Exception e){
-                            log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触");
-                        }
-                    }
-                }
+//                if(wrkMastSta3 != null ){
+//                    List<WrkMastSta> wrkMastStaPaking = wrkMastStaService.selectPakingWrk(wrkMastSta3.getStaStart());
+//                    if(wrkMastStaPaking.size() < 1 && !wrkMastSta3.getWrkNo().equals(wrkMastSta.getWrkNo())){//宸叉湁鏍囪涓嶅啀鏍囪
+//                        wrkMastSta3.setMk(1);
+//                        basRgv.setPakAll("0");
+//                        basRgvService.updateById(basRgv);
+//
+//                        try{
+//                            wrkMastStaMapper.updateById(wrkMastSta3);
+//                            log.error("閿佸畾鐩搁殧绔欑偣浠诲姟");
+//                        }catch (Exception e){
+//                            log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触");
+//                        }
+//                    }
+//                }
                 basRgv.setPakOut("0");//鍑哄簱涓嶅厑璁�
                 basRgvService.updateById(basRgv);
                 rgvThread.setPaking(false);//浠诲姟涓嬪彂閿佸畾
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 30150c6..61d0842 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -26,9 +26,9 @@
     private Thread thread;
     private Thread armThread;
     private Thread agvThread;
+    private Thread rgvTread;
     // 棰戠巼
     private int i = 0;
-    private int k = 0;
     private int q = 0;
     private boolean rgcWrk = true;
 
@@ -44,36 +44,32 @@
 
         agvThread = new Thread(this::agvDispatch);
         agvThread.start();
+
+        rgvTread = new Thread(this::rgvDispatch);
+        rgvTread.start();
     }
     private void crnAndDevRun() {
         while (!Thread.currentThread().isInterrupted()) {
             try {
-
                 // 闂撮殧
                 Thread.sleep(1000);
-
                 // 绯荤粺杩愯鐘舵�佸垽鏂�
                 if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
                     continue;
                 }
-
                 // 婕旂ず
 //                    mainService.crnDemoOfLocMove1();
                 //鍒锋柊RGV鍦板浘
                 mainService.refreshRgvMap();
-
                 // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
 //                    mainService.ioConvert();
-
                 // 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱
                 mainService.stnToCrnStnPick(3);
 //                    mainService.stnToCrnStnPick2();
-
                 // 鍏ュ簱  ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
                 mainService.generateStoreWrkFile(1); // 缁勬墭
 //                    mainService.generateStoreWrkFile0(2); // WMS鍏ュ簱
                 Thread.sleep(50);
-
                 // 鍑哄簱  ===>>  鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯
                 mainService.crnStnToOutStn(4);
                 // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
@@ -92,9 +88,7 @@
                 mainService.ledReset();
                 //鍫嗗灈鏈鸿鎺ヤ换鍔$敓鎴�
                 mainService.connectWrk(10);
-
 //                    mainService.outOfDevp(11);
-
                 if (i>10){
                     //绌烘墭鐩樿嚜鍔ㄥ嚭搴�
                     mainService.autoEmptyOut();
@@ -108,28 +102,27 @@
                 }
                 q++;
                 i++;
-
-                /////////////////////////////////////RGV璋冨害/////////////////////////////////////
-                k++;
-
-                // RGV  ===>>  灏忚溅浠诲姟浣滀笟涓嬪彂
-                try{
-                    //RGV灏忚溅鍑哄叆搴撳彇璐т笅鍙�
-                    mainService.rgvIoExecute(11);
-                    if(k > 2){
-                        mainService.rgvOutExecute();
-                        k = 0;
-                    }
-                }catch (Exception e){
-                    e.printStackTrace();
-                    log.error("RGV  ===>>  灏忚溅浠诲姟浣滀笟涓嬪彂寮傚父"+e);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+    private void rgvDispatch() {
+        while (!Thread.currentThread().isInterrupted()) {
+            try {
+                // 闂撮殧
+                Thread.sleep(400);
+                // 绯荤粺杩愯鐘舵�佸垽鏂�
+                if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
+                    continue;
                 }
-//                //瀹屾垚灏忚溅浠诲姟
-                mainService.rgvTaskComplete();
-
+                mainService.rgvIoExecute(11);//鍙栬揣
+                mainService.rgvOutExecute();//鏀捐揣
+                mainService.rgvTaskComplete();//浠诲姟瀹屾垚
 
             } catch (Exception e) {
                 e.printStackTrace();
+                log.error("RGV  ===>>  灏忚溅浠诲姟浣滀笟涓嬪彂寮傚父"+e);
             }
         }
     }

--
Gitblit v1.9.1