From 02e177602212dcf490f80e0c9e869846e02c4d20 Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期六, 28 十二月 2024 17:43:53 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  122 ++++++++++++++++++++++++----------------
 1 files changed, 74 insertions(+), 48 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 3b47be2..1370609 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3608,6 +3608,17 @@
     public synchronized boolean rgvIoExecute(Integer sign) {
         boolean rgvIoExecuteSign = false;
         try{
+            int rgvPoi = 101;
+            for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
+                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
+                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+                if (rgvProtocol == null) {
+                    continue;
+                }
+                if (rgvProtocol.getRgvNo()==1){
+                    rgvPoi = rgvProtocol.getRgvPosI();
+                }
+            }
             for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
                 // 鑾峰彇灏忚溅淇℃伅
                 boolean signWork = false;
@@ -4250,8 +4261,23 @@
                         && rgvProtocol.getStatusType1() == RgvStatusType.IDLE
                         && rgvProtocol.getStatusType2() == RgvStatusType.IDLE
                 ) {
-
-                    BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+                    if (rgvProtocol.getRgvNo()!=1){
+                        continue;
+                    }
+                    if (!rgvProtocol.getRgvPosI().equals(108)){
+                        continue;
+                    }
+                    Integer count108Y = wrkMastStaMapper.selectAllWrkCount108Y();
+                    if (count108Y==0){
+                        return;
+                    }
+                    Integer count108 = wrkMastStaMapper.selectAllWrkCount108();
+                    if (count108==0){
+                        return;
+                    }
+                    rgvAvoidanceXY(rgvProtocol.getRgvNo());
+                    return;
+//                    BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
 //                    Integer fallMerge = RouteUtils.RouteIndexFarMas(basRgvMap.getRgvNo(), basRgvMap.getEndRoute()); //鑾峰彇鍚堝苟骞叉秹椤�
 //                    List<Integer> route = RouteUtils.getRoute(basRgvMap.getStartRoute(),fallMerge);
 //                    List<WrkMastSta> wrkMastStaList = wrkMastStaMapper.selectNoInterfereList(route ,route);
@@ -4259,56 +4285,56 @@
 //                        log.info("灏忚溅瀛樺湪鍙墽琛屼换鍔★紝璺宠繃閬胯锛侊紒4214");
 //                        return;
 //                    }
-                    if (rgvProtocol.getRgvPosI().equals(basRgvMap.getStartRoute())){
-//                    if (!RouteUtils.RgvRunStaSign(rgvProtocol.getRgvPosI(),RouteUtils.RouteIndexFarMas(rgvProtocol.getRgvNo(),rgvRunSta[rgvProtocol.getRgvNo()-1]),rgvProtocol.getRgvNo())){
-//                    if (!RouteUtils.RgvRunStaSign(rgvProtocol.getRgvPosI(),rgvRunSta[rgvProtocol.getRgvNo()-1],rgvProtocol.getRgvNo())){
-                        if (rgvProtocol.getRgvNo()==1){
-                            signRgv1 = false;
-                        }else {
-                            signRgv2 = false;
-                        }
-                    }
-                    if (rgvProtocol.getRgvNo()==1 && (rgvProtocol.getRgvPosI().equals(101) || rgvProtocol.getRgvPosI().equals(102) )){
-                        signRgv1 = false;
-                        continue;
-                    } else if (rgvProtocol.getRgvNo()==2 && (rgvProtocol.getRgvPosI().equals(116) || rgvProtocol.getRgvPosI().equals(117) ) ){
-                        signRgv2 = false;
-                        continue;
-                    }
+//                    if (rgvProtocol.getRgvPosI().equals(basRgvMap.getStartRoute())){
+////                    if (!RouteUtils.RgvRunStaSign(rgvProtocol.getRgvPosI(),RouteUtils.RouteIndexFarMas(rgvProtocol.getRgvNo(),rgvRunSta[rgvProtocol.getRgvNo()-1]),rgvProtocol.getRgvNo())){
+////                    if (!RouteUtils.RgvRunStaSign(rgvProtocol.getRgvPosI(),rgvRunSta[rgvProtocol.getRgvNo()-1],rgvProtocol.getRgvNo())){
+//                        if (rgvProtocol.getRgvNo()==1){
+//                            signRgv1 = false;
+//                        }else {
+//                            signRgv2 = false;
+//                        }
+//                    }
+//                    if (rgvProtocol.getRgvNo()==1 && (rgvProtocol.getRgvPosI().equals(101) || rgvProtocol.getRgvPosI().equals(102) )){
+//                        signRgv1 = false;
+//                        continue;
+//                    } else if (rgvProtocol.getRgvNo()==2 && (rgvProtocol.getRgvPosI().equals(116) || rgvProtocol.getRgvPosI().equals(117) ) ){
+//                        signRgv2 = false;
+//                        continue;
+//                    }
                 }else {
                     signRgv = false;
                     break;
                 }
             }
-            if (signRgv &&  (signRgv1 || signRgv2)){
-                for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
-                    RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
-                    RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
-                    if (rgvProtocol == null) {
-                        continue;
-                    }
-
-                    // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅涓�鏃犵墿//rgv鍙敤
-                    if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
-                            && rgvProtocol.getModeType() == RgvModeType.AUTO
-                            && rgvProtocol.getLoaded1()==0  //鐜板満淇敼锛氬彔鐩樻満锛屼笉婊¢兘绠楁棤鐗╋紝鎬庝箞鍒ゆ柇闇�瑕佽窡鐢垫帶瀵规帴
-                            && rgvProtocol.getTaskNo1()==0
-                            && rgvProtocol.getTaskNo2()==0
-                            && rgvProtocol.getStatusType1() == RgvStatusType.IDLE
-                            && rgvProtocol.getStatusType2() == RgvStatusType.IDLE
-                    ) {
-                        if (rgvProtocol.getRgvNo()==1 && (rgvProtocol.getRgvPosI().equals(101) || rgvProtocol.getRgvPosI().equals(102) )){
-                            continue;
-                        } else if (rgvProtocol.getRgvNo()==2 && (rgvProtocol.getRgvPosI().equals(116) || rgvProtocol.getRgvPosI().equals(117) ) ){
-                            continue;
-                        }
-                        BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
-                        rgvAvoidanceXY(rgvProtocol.getRgvNo());
-                        rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
-
-                    }
-                }
-            }
+//            if (signRgv &&  (signRgv1 || signRgv2)){
+//                for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
+//                    RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
+//                    RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+//                    if (rgvProtocol == null) {
+//                        continue;
+//                    }
+//
+//                    // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅涓�鏃犵墿//rgv鍙敤
+//                    if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
+//                            && rgvProtocol.getModeType() == RgvModeType.AUTO
+//                            && rgvProtocol.getLoaded1()==0  //鐜板満淇敼锛氬彔鐩樻満锛屼笉婊¢兘绠楁棤鐗╋紝鎬庝箞鍒ゆ柇闇�瑕佽窡鐢垫帶瀵规帴
+//                            && rgvProtocol.getTaskNo1()==0
+//                            && rgvProtocol.getTaskNo2()==0
+//                            && rgvProtocol.getStatusType1() == RgvStatusType.IDLE
+//                            && rgvProtocol.getStatusType2() == RgvStatusType.IDLE
+//                    ) {
+//                        if (rgvProtocol.getRgvNo()==1 && (rgvProtocol.getRgvPosI().equals(101) || rgvProtocol.getRgvPosI().equals(102) )){
+//                            continue;
+//                        } else if (rgvProtocol.getRgvNo()==2 && (rgvProtocol.getRgvPosI().equals(116) || rgvProtocol.getRgvPosI().equals(117) ) ){
+//                            continue;
+//                        }
+//                        BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+//                        rgvAvoidanceXY(rgvProtocol.getRgvNo());
+//                        rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+//
+//                    }
+//                }
+//            }
         }catch (Exception e){
             log.error("4109琛屾墽琛屽皬杞﹀垵濮嬪寲浠诲姟涓嬪彂澶辫触");
             log.error("4109琛�"+e);
@@ -4364,7 +4390,7 @@
                 rgvCommand.setTaskNo1((short)32222); // 宸ヤ綅1宸ヤ綔鍙�
                 rgvCommand.setTaskMode1(RgvTaskModeType.X_MOVE); // 宸ヤ綅1浠诲姟妯″紡:  鍥炲師鐐�
                 //basRgvMap.getLockStartRoute().shortValue()
-                rgvCommand.setSourceStaNo1( (short)101);
+                rgvCommand.setSourceStaNo1( (short)107);
                 rgvCommand.setCommand((short) 1);   //宸ヤ綅1浠诲姟纭
                 if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(4, rgvCommand))) {
                     //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱   step=4锛屽伐浣�1鍐欎换鍔★紱     step=5锛屽伐浣�2鍐欎换鍔�   step=9锛屽洖鍘熺偣 9999浠诲姟鍙�

--
Gitblit v1.9.1