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 |   64 ++++++++++++++++++++++---------
 1 files changed, 45 insertions(+), 19 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 470d8ca..7960526 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -721,7 +721,7 @@
                         wrkMast.setCrnEndTime(new Date());
                         if (wrkMastMapper.updateById(wrkMast) != 0) {
                             // 澶嶄綅鍫嗗灈鏈�
-                            log.error("鍑哄簱浠诲姟瀹屾垚涓嬪彂鍫嗗灈鏈哄浣�", wrkMast.getWrkNo());
+                            log.error("鍑哄簱浠诲姟瀹屾垚涓嬪彂鍫嗗灈鏈哄浣�,{}", wrkMast.getWrkNo());
                             crnThread.setResetFlag(true);
                         } else {
                             News.error(""+mark+" - 1"+" - 鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
@@ -1368,7 +1368,7 @@
             }
             //  鐘舵�侊細绛夊緟纭 骞朵笖  浠诲姟瀹屾垚浣� = 1
             if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
-                News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔");
+                News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔锛屼换鍔″彿:"+crnProtocol.getTaskNo());
 
                     // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
                     WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue());
@@ -1767,13 +1767,13 @@
                 // 鑾峰彇鍙夎溅绔欑偣
                 StaProtocol staProtocol = devpThread.getStation().get(staNo);
                 if (staProtocol == null) { continue; }
-                if (staProtocol.getWorkNo() != 0) {
+                if (staProtocol.getWorkNo() != 0 || staProtocol.isErr()) {
                     reset = false;
                     break;
                 }
             }
             // 鑾峰彇led绾跨▼
-            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getDevpPlcId());
+            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
             // led鏄剧ず榛樿鍐呭
             if (reset) {
                 if (ledThread == null) {
@@ -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