From 2028b51aeda2b6b23fda4183875b145d5e83822f Mon Sep 17 00:00:00 2001
From: zjj <zjj123456>
Date: 星期三, 19 六月 2024 11:06:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/gdykwcs' into gdykwcs

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   56 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 41 insertions(+), 15 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 0999197..7960526 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2332,12 +2332,15 @@
      * 灏忚溅鍦板浘鏇存柊  鏇存柊閿�
      * */
     public synchronized boolean rgvMapUpdate(BasRgvMap basRgvMapCurrent,Integer staStart,Integer staEnd,String sign){
+        log.info("灏忚溅鍦板浘鏇存柊锛乕鏍囪锛歿}];[BasRgvMap锛歿}];[staStart锛歿}];[staEnd锛歿}];",sign,JSON.toJSONString(basRgvMapCurrent),staStart,staEnd);
 
 //        List<Integer> integers = RouteUtils.RouteMapCurrentFar(basRgvMapCurrent.getNowRoute(),staStart,staEnd, basRgvMapCurrent.getLockStartRoute());
         //鏇存柊褰撳墠灏忚溅閿�
         try{
             Integer farCurrentStaNo = RouteUtils.RouteIndexFarMas(basRgvMapCurrent.getNowRoute(), staStart, staEnd, basRgvMapCurrent.getLockStartRoute());//鑾峰彇鏈�杩滅珯鐐�
+            log.info("灏忚溅鍦板浘鏇存柊锛佽幏鍙栨渶杩滅珯鐐�;[farCurrentStaNo锛歿}]",farCurrentStaNo);
             Integer fallMerge = RouteUtils.RouteIndexFarMas(basRgvMapCurrent.getRgvNo(), farCurrentStaNo); //鑾峰彇鍚堝苟骞叉秹椤�
+            log.info("灏忚溅鍦板浘鏇存柊锛佽幏鍙栧悎骞跺共娑夐」;[fallMerge锛歿}]",fallMerge);
             basRgvMapCurrent.setLockEndRoute(fallMerge);
             Integer i = basRgvMapMapper.updateById(basRgvMapCurrent);
 //            if (i>0){
@@ -2346,9 +2349,14 @@
 
             //鏇存柊鍙︿竴鍙板皬杞﹀湴鍥�
             Integer rgvNoOther = basRgvMapCurrent.getRgvNoOther(basRgvMapCurrent.getRgvNo());
+            log.info("灏忚溅鍦板浘鏇存柊锛佸彟涓�鍙板皬杞﹀彿;[rgvNoOther锛歿}]",rgvNoOther);
+
             BasRgvMap basRgvMapOther = basRgvMapMapper.selectById(rgvNoOther);
+            log.info("灏忚溅鍦板浘鏇存柊锛佸彟涓�鍙板皬杞�;[basRgvMapOther锛歿}]",JSON.toJSONString(basRgvMapOther));
+
             List<Integer> integers = RouteUtils.RouteMapCurrentFar(fallMerge, basRgvMapCurrent.getLockStartRoute());
             Integer lockEndRoute = RouteUtils.RouteMapOtherFarStnNo(integers, basRgvMapCurrent.getLockStartRoute());//鍙︿竴鍙板皬杞﹀彲娲诲姩鏈�杩滀綅缃�
+            log.info("灏忚溅鍦板浘鏇存柊锛佸彟涓�鍙板皬杞﹀彲娲诲姩鏈�杩滀綅缃�;[lockEndRoute锛歿}]",lockEndRoute);
             basRgvMapOther.setEndRoute(lockEndRoute);
             Integer i1 = basRgvMapMapper.updateById(basRgvMapOther);
 //            if (i1>0){
@@ -2356,7 +2364,7 @@
 //            }
             return true;
         }catch (Exception e){
-            log.error("灏忚溅鍦板浘鏇存柊鍑洪敊锛�");
+            log.error("灏忚溅鍦板浘鏇存柊鍑洪敊锛佸紓甯稿師鍥狅細"+e);
             return false;
         }
     }
@@ -2540,7 +2548,7 @@
     /**
      * 鎵ц灏忚溅鎼繍浠诲姟
      */
-    public synchronized void rgvRunWrkMastFullSta() {
+    public synchronized boolean rgvRunWrkMastFullSta() {
         boolean wrkEnable = false;
         try{
             List<BasRgvMap> basRgvMaps = basRgvMapService.selectList(new EntityWrapper<>());
@@ -2574,42 +2582,60 @@
                     basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
                     List<WrkMastSta> wrkMastStaList = wrkMastStaMapper.selectNoInterfereList(route, route);
                     for (WrkMastSta wrkMastSta : wrkMastStaList){
-                        if (wrkMastSta.getType()!=0 || wrkMastSta.getWrkType()!=3){//1:婊$増   3锛氬彇鏀�
+                        if (wrkMastSta.getType()!=0 || wrkMastSta.getWrkType()!=3 || wrkMastSta.getWrkSts()!=0){//1:婊$増   3锛氬彇鏀�
                             continue;
+                        }
+                        //鍒ゆ柇宸ヤ綔缁撴潫浣嶇疆鐘舵��
+                        BasDevp devNo = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", wrkMastSta.getStaEnd()));
+                        if (!Cools.isEmpty(devNo)){
+                            if (devNo.getAutoing().equals("Y") && !devNo.getWrkNo().equals(0) && !devNo.getLoading().equals("N")){
+                                continue;
+                            }
+                            if (!devNo.getAutoing().equals("Y") || !devNo.getWrkNo().equals(0) || !devNo.getLoading().equals("N")){
+                                continue;
+                            }
+                            if (devNo.getDevNo()==113){
+                                if (!devNo.getOutEnable().equals("Y")){
+                                    continue;
+                                }
+                            }
                         }
                         boolean sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂
                         wrkEnable = true;
                         if (sign){
+                            wrkMastSta.setWrkSts(1);
+                            try{
+                                wrkMastStaMapper.updateById(wrkMastSta);
+                                log.error("鏇存柊灏忚溅浠诲姟鎴愬姛");
+                            }catch (Exception e){
+                                log.error("鏇存柊灏忚溅浠诲姟澶辫触");
+                            }
                             rgvThread.setPakMk(false);
                             boolean signMap = rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), wrkMastSta.getStaEnd(),"2526");
                             if (signMap){
-                                Thread.sleep(300);
-                                wrkMastSta.setWrkSts(1);
-                                try{
-                                    wrkMastStaMapper.updateById(wrkMastSta);
-                                    return;
-                                }catch (Exception e){
-                                    log.error("鏇存柊灏忚溅浠诲姟澶辫触");
-                                }
-                                break;
+                                return wrkEnable;
+//                                break;
                             }else {
                                 log.error("3864琛岋紝璐х墿鎼繍浠诲姟锛氬伐浣滃彿{}鎵�灞炰换鍔′笅鍙戝悗鍦板浘鍚屾澶辫触",wrkMastSta.getWrkNo());
+                                Thread.sleep(500);
                             }
                         } else {
                             log.error("宸ヤ綔鍙穥}鎵�灞炰换鍔′笅鍙戝け璐�",wrkMastSta.getWrkNo());
+                            Thread.sleep(500);
                         }
                         break;
                     }
                 }
 
             }
-            if (!wrkEnable){
-                rgvRunWrkMastEmptyStaAvoidance();
-            }
+//            if (!wrkEnable){
+//                rgvRunWrkMastEmptyStaAvoidance();
+//            }
         }catch (Exception e){
             log.error("3875琛屾墽琛屽皬杞︽惉杩愪换鍔′笅鍙戝け璐�");
             log.error("3875琛�"+e);
         }
+        return wrkEnable;
     }
     /**
      * 鎵ц灏忚溅鎼繍浠诲姟

--
Gitblit v1.9.1