From de364ecdcbee20a85e1e80025f8f686e359e88ef Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期四, 17 七月 2025 18:46:29 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  249 ++++++++++++++++++++++++++++++++-----------------
 1 files changed, 161 insertions(+), 88 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 a4ac528..66b3978 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -93,9 +93,9 @@
     @Autowired
     private WrkMastStaMapper wrkMastStaMapper;
     @Autowired
-    private BasRgvMapMapper basRgvMapMapper;
-    @Autowired
     private RgvOneSignMapper rgvOneSignMapper;
+    @Autowired
+    private BasRgvMapService basRgvMapService;
 
     @Value("${wms.url}")
     private String wmsUrl;
@@ -1310,7 +1310,11 @@
                 log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
                 continue;
             }
-            if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable()
+//            if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable()
+//                    && staDetl.getCanining() != null && staDetl.getCanining().equals("Y") && staDetl.getWrkNo().equals(wrkMast.getWrkNo())) {
+//                flag = true;
+//            }
+            if (staProtocol.isAutoing() && staProtocol.getWorkNo() > 0
                     && staDetl.getCanining() != null && staDetl.getCanining().equals("Y") && staDetl.getWrkNo().equals(wrkMast.getWrkNo())) {
                 flag = true;
             }
@@ -3552,7 +3556,13 @@
                             if (!rgvComplete){
                                 log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
                             }
-                            BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+
+                            RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                            int rgvSignTwoType = 0;
+                            if (!Cools.isEmpty(rgvSignTwo)){
+                                rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                            }
+                            BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType);
                             basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
                             rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
                             break;
@@ -3569,7 +3579,7 @@
 //                                    log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
 //                                    break;
 //                                }
-                                rgvAvoidanceXYWrkMast(rgvProtocol.getRgvNo());
+                                rgvAvoidanceXYWrkMast(rgvProtocol.getRgvNo(),wrkMastSta.getWrkNo().shortValue());
                                 continue;
                             }
                             if (wrkMastSta.getWrkType()==6){
@@ -3630,7 +3640,13 @@
                         }
                         wrkMastSta.setWrkSts(3);
                         wrkMastStaMapper.updateById(wrkMastSta);
-                        BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+
+                        RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                        int rgvSignTwoType = 0;
+                        if (!Cools.isEmpty(rgvSignTwo)){
+                            rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                        }
+                        BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType);
                         basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
                         rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
                     }else if (rgvProtocol.getTaskNo2()!=0 && (rgvProtocol.getStatusType2()==RgvStatusType.WAITING || rgvProtocol.getStatusType2()==RgvStatusType.FETCHWAITING)){
@@ -3639,7 +3655,13 @@
                             if (!rgvComplete){
                                 log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
                             }
-                            BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+
+                            RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                            int rgvSignTwoType = 0;
+                            if (!Cools.isEmpty(rgvSignTwo)){
+                                rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                            }
+                            BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType);
                             basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
                             rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
                             break;
@@ -3688,7 +3710,13 @@
                         }
                         wrkMastSta.setWrkSts(3);
                         wrkMastStaMapper.updateById(wrkMastSta);
-                        BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+
+                        RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                        int rgvSignTwoType = 0;
+                        if (!Cools.isEmpty(rgvSignTwo)){
+                            rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                        }
+                        BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType);
                         basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
                         rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
                     }else {
@@ -3840,7 +3868,13 @@
                         && rgvProtocol.getLoaded1()==0
                         && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0
                 ) {
-                    BasRgvMap basRgvMap = basRgvMapMapper.selectById(basRgv.getRgvNo());
+
+                    RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                    int rgvSignTwoType = 0;
+                    if (!Cools.isEmpty(rgvSignTwo)){
+                        rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                    }
+                    BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(basRgv.getRgvNo(),rgvSignTwoType);
                     if (basRgvMap == null) {
                         log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo());
                         return false;
@@ -3955,7 +3989,13 @@
                     && rgvProtocol.getLoaded1()==0
                     && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0
             ) {
-                BasRgvMap basRgvMap = basRgvMapMapper.selectById(basRgv.getRgvNo());
+
+                RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                int rgvSignTwoType = 0;
+                if (!Cools.isEmpty(rgvSignTwo)){
+                    rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                }
+                BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(basRgv.getRgvNo(),rgvSignTwoType);
                 if (basRgvMap == null) {
                     log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo());
                     return false;
@@ -4037,7 +4077,13 @@
                         && rgvProtocol.getLoaded1()==1
                         && rgvProtocol.getTaskNo1()!=0 && rgvProtocol.getTaskNo2()==0
             ) {// 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅涓�鏈夌墿  鏈夊伐浣滃彿//rgv鍙敤
-                BasRgvMap basRgvMap = basRgvMapMapper.selectById(basRgv.getRgvNo());
+
+                RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                int rgvSignTwoType = 0;
+                if (!Cools.isEmpty(rgvSignTwo)){
+                    rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                }
+                BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(basRgv.getRgvNo(),rgvSignTwoType);
                 if (basRgvMap == null) {
                     log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo());
                     return false;
@@ -4124,7 +4170,13 @@
                         && rgvProtocol.getTaskNo2()==0
                         && (rgvProtocol.getLoaded2()==3  || rgvProtocol.getLoaded2()==1 || rgvProtocol.getLoaded2()==4)////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗� 锛堝彧鑳芥媶鍙狅級 锛�2涓�灞傛湁鐗╀簩灞傛棤鐗�() 锛�3  1銆�2灞傞兘鏈夌墿  4锛氾紙锛夊彧鍏佽鎷嗙洏
                 ) {
-                    BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+
+                    RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                    int rgvSignTwoType = 0;
+                    if (!Cools.isEmpty(rgvSignTwo)){
+                        rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                    }
+                    BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(basRgv.getRgvNo(),rgvSignTwoType);
                     if (basRgvMap == null) {
                         log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo());
                         return false;
@@ -4232,7 +4284,13 @@
                     && rgvProtocol.getLoaded1()==1
                     && rgvProtocol.getTaskNo1()!=0 && rgvProtocol.getTaskNo2()==0
             ) {
-                BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+
+                RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                int rgvSignTwoType = 0;
+                if (!Cools.isEmpty(rgvSignTwo)){
+                    rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                }
+                BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType);
                 if (basRgvMap == null) {
                     log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo());
                     return false;
@@ -4345,7 +4403,13 @@
                         && rgvProtocol.getTaskNo2()==0
                         &&  (rgvProtocol.getLoaded2()==2  || rgvProtocol.getLoaded2()==3 ) ////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗�  锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3  1銆�2灞傞兘鏈夌墿  4锛氾紙锛夊彧鍏佽鎷嗙洏
                 ) {
-                    BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+
+                    RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                    int rgvSignTwoType = 0;
+                    if (!Cools.isEmpty(rgvSignTwo)){
+                        rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                    }
+                    BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType);
                     if (basRgvMap == null) {
                         log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo());
                         return false;
@@ -4453,7 +4517,13 @@
                         && rgvProtocol.getTaskNo2()==0
                         &&  (rgvProtocol.getLoaded2()==0  || rgvProtocol.getLoaded2()==1 ) //鐜板満淇敼锛氬彔鐩樻満锛�////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗╋紙鍙兘鎷嗗彔锛�   锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3  1銆�2灞傞兘鏈夌墿  4锛氾紙锛夊彧鍏佽鎷嗙洏
                 ) {
-                    BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+
+                    RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                    int rgvSignTwoType = 0;
+                    if (!Cools.isEmpty(rgvSignTwo)){
+                        rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                    }
+                    BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType);
                     if (basRgvMap == null) {
                         log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo());
                         return false;
@@ -4549,7 +4619,13 @@
                     && rgvProtocol.getLoaded1() == 0
                     && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0
             ) {
-                BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+
+                RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                int rgvSignTwoType = 0;
+                if (!Cools.isEmpty(rgvSignTwo)){
+                    rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                }
+                BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType);
                 if (basRgvMap == null) {
                     log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo());
                     return false;
@@ -4638,7 +4714,13 @@
                         && rgvProtocol.getTaskNo2()==0
                         &&  rgvProtocol.getLoaded2()==0  //鐜板満淇敼锛氬彔鐩樻満锛�////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗╋紙鍙兘鎷嗗彔锛�   锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3  1銆�2灞傞兘鏈夌墿  4锛氾紙锛夊彧鍏佽鎷嗙洏
                 ) {
-                    BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+
+                    RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                    int rgvSignTwoType = 0;
+                    if (!Cools.isEmpty(rgvSignTwo)){
+                        rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                    }
+                    BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType);
                     if (basRgvMap == null) {
                         log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo());
                         return false;
@@ -4732,7 +4814,13 @@
                         || (rgvProtocol.getTaskNo1()>0 && rgvProtocol.getLoaded1()==1))
                         && rgvProtocol.getTaskNo2()==0
                 ) {
-                    BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+
+                    RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                    int rgvSignTwoType = 0;
+                    if (!Cools.isEmpty(rgvSignTwo)){
+                        rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                    }
+                    BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType);
                     if (basRgvMap == null) {
                         log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo());
                         return false;
@@ -4925,7 +5013,13 @@
                         || (rgvProtocol.getTaskNo1()>0 && rgvProtocol.getLoaded1()==1))
                         && rgvProtocol.getTaskNo2()==0
                 ) {
-                    BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvSlave.getId());
+
+                    RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo");
+                    int rgvSignTwoType = 0;
+                    if (!Cools.isEmpty(rgvSignTwo)){
+                        rgvSignTwoType = rgvSignTwo.getRgvOneSign();
+                    }
+                    BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvSlave.getId(),rgvSignTwoType);
                     basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
                     rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
                 }
@@ -4940,9 +5034,11 @@
      * 灏忚溅XY绉诲姩  閬胯
      * */
     public synchronized boolean rgvAvoidanceXY(Integer rgvId){
+        if (rgvId>20){
+            rgvId = rgvId-20;
+        }
         if (rgvId==1){
             try{
-                BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId);
                 //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
                 RgvCommand rgvCommand = new RgvCommand();
                 rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
@@ -4965,7 +5061,6 @@
             }
         }else {
             try{
-                BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId);
                 //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
                 RgvCommand rgvCommand = new RgvCommand();
                 rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
@@ -4991,14 +5086,16 @@
     /*
      * 灏忚溅XY绉诲姩  閬胯
      * */
-    public synchronized boolean rgvAvoidanceXYWrkMast(Integer rgvId){
+    public synchronized boolean rgvAvoidanceXYWrkMast(Integer rgvId,short wrkNo1){
+        if (rgvId>20){
+            rgvId = rgvId-20;
+        }
         if (rgvId==2){
             try{
-                BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId);
                 //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
                 RgvCommand rgvCommand = new RgvCommand();
                 rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
-                rgvCommand.setTaskNo1((short) 0); // 宸ヤ綔鍙�
+                rgvCommand.setTaskNo1(wrkNo1); // 宸ヤ綔鍙�
                 rgvCommand.setAckFinish1((short) 1);  // 浠诲姟瀹屾垚纭浣�
                 rgvCommand.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡
                 rgvCommand.setSourceStaNo1((short)0);     // 婧愮珯
@@ -5008,7 +5105,7 @@
                 rgvCommand.setTaskMode2(RgvTaskModeType.X_MOVE); // 宸ヤ綅2浠诲姟妯″紡:  鍥炲師鐐�
                 rgvCommand.setSourceStaNo2((short)121);
                 rgvCommand.setCommand((short) 2);   //宸ヤ綅2浠诲姟纭
-                if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(8, rgvCommand))) {
+                if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(10, rgvCommand))) {
                     //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱   step=4锛屽伐浣�1鍐欎换鍔★紱     step=5锛屽伐浣�2鍐欎换鍔�   step=9锛屽洖鍘熺偣 9999浠诲姟鍙�
                     log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
                     return false;
@@ -5021,11 +5118,10 @@
             }
         }else {
             try{
-                BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId);
                 //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
                 RgvCommand rgvCommand = new RgvCommand();
                 rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
-                rgvCommand.setTaskNo1((short) 0); // 宸ヤ綔鍙�
+                rgvCommand.setTaskNo1(wrkNo1); // 宸ヤ綔鍙�
                 rgvCommand.setAckFinish1((short) 1);  // 浠诲姟瀹屾垚纭浣�
                 rgvCommand.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡
                 rgvCommand.setSourceStaNo1((short)0);     // 婧愮珯
@@ -5035,7 +5131,7 @@
                 rgvCommand.setTaskMode2(RgvTaskModeType.X_MOVE); // 宸ヤ綅2浠诲姟妯″紡:  鍥炲師鐐�
                 rgvCommand.setSourceStaNo2((short)118);
                 rgvCommand.setCommand((short) 2);   //宸ヤ綅2浠诲姟纭
-                if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(5, rgvCommand))) {
+                if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(10, rgvCommand))) {
                     //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱   step=4锛屽伐浣�1鍐欎换鍔★紱     step=5锛屽伐浣�2鍐欎换鍔�   step=9锛屽洖鍘熺偣 9999浠诲姟鍙�
                     log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
                     return false;
@@ -5053,9 +5149,11 @@
      * 灏忚溅XY绉诲姩  閬胯
      * */
     public synchronized boolean rgvAvoidanceXY(Integer rgvId,WrkMastSta wrkMastSta){
+        if (rgvId>20){
+            rgvId = rgvId-20;
+        }
         if (rgvId==1){
             try{
-                BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId);
                 //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
                 RgvCommand rgvCommand = new RgvCommand();
                 rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
@@ -5078,7 +5176,6 @@
             }
         }else {
             try{
-                BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId);
                 //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
                 RgvCommand rgvCommand = new RgvCommand();
                 rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
@@ -5106,6 +5203,9 @@
     * 灏忚溅鍙栬揣鑷冲伐浣嶄换鍔�
     * */
     public synchronized boolean rgvTakeFullAll(Integer rgvId,WrkMastSta wrkMastSta){
+        if (rgvId>20){
+            rgvId = rgvId-20;
+        }
         try{
             //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
             RgvCommand rgvCommand = new RgvCommand();
@@ -5128,64 +5228,13 @@
         }
     }
 
-
-    /*
-     * 灏忚溅鍙栬揣鑷冲伐浣嶄换鍔�
-     * */
-    public synchronized boolean rgvTakeFullPut(Integer rgvId,WrkMastSta wrkMastSta){
-        try{
-            //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-            RgvCommand rgvCommand = new RgvCommand();
-            rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
-            rgvCommand.setAckFinish1((short) 0);  // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
-            rgvCommand.setTaskNo1(wrkMastSta.getWrkNo().shortValue()); // 宸ヤ綅1宸ヤ綔鍙�
-            rgvCommand.setTaskMode1(RgvTaskModeType.FETCH); // 宸ヤ綅1浠诲姟妯″紡:  鍗曞彇
-            rgvCommand.setSourceStaNo1(wrkMastSta.getStaStart().shortValue());   //宸ヤ綅1璧风偣
-            rgvCommand.setDestinationStaNo1(wrkMastSta.getStaEnd().shortValue());   //宸ヤ綅1鐩爣绔欑偣
-            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鍐欎换鍔�
-                log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
-                return false;
-            } else {
-                return true;
-            }
-        }catch (Exception e){
-            return false;
-        }
-    }
-
-
-    /*
-     * 灏忚溅鏀捐揣鑷冲伐浣嶄换鍔�
-     * */
-    public synchronized boolean rgvTakeFullTake(Integer rgvId,WrkMastSta wrkMastSta){
-        try{
-            //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-            RgvCommand rgvCommand = new RgvCommand();
-            rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
-            rgvCommand.setAckFinish1((short) 0);  // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
-            rgvCommand.setTaskNo1(wrkMastSta.getWrkNo().shortValue()); // 宸ヤ綅1宸ヤ綔鍙�
-            rgvCommand.setTaskMode1(RgvTaskModeType.PUT); // 宸ヤ綅1浠诲姟妯″紡:  鍗曟斁
-            rgvCommand.setSourceStaNo1(wrkMastSta.getStaStart().shortValue());   //宸ヤ綅1璧风偣
-            rgvCommand.setDestinationStaNo1(wrkMastSta.getStaEnd().shortValue());   //宸ヤ綅1鐩爣绔欑偣
-            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鍐欎换鍔�
-                log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
-                return false;
-            } else {
-                return true;
-            }
-        }catch (Exception e){
-            return false;
-        }
-    }
-
     /*
      * 灏忚溅鍙栬揣鑷冲伐浣嶄换鍔�
      * */
     public synchronized boolean rgvTakeFull(Integer rgvId,WrkMastSta wrkMastSta){
+        if (rgvId>20){
+            rgvId = rgvId-20;
+        }
         try{
             //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
             RgvCommand rgvCommand = new RgvCommand();
@@ -5211,6 +5260,9 @@
     * 灏忚溅鏀捐揣鑷宠緭閫佺嚎浠诲姟
     * */
     public synchronized boolean rgvPutFull(Integer rgvId,WrkMastSta wrkMastSta){
+        if (rgvId>20){
+            rgvId = rgvId-20;
+        }
         try{
             //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
             RgvCommand rgvCommand = new RgvCommand();
@@ -5236,6 +5288,9 @@
      * 灏忚溅鍙栫┖鏉胯嚦宸ヤ綅浠诲姟  鍙犵洏
      * */
     public synchronized boolean rgvTakeEmpty(Integer rgvId,WrkMastSta wrkMastSta){
+        if (rgvId>20){
+            rgvId = rgvId-20;
+        }
         try{
             //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
             RgvCommand rgvCommand = new RgvCommand();
@@ -5261,6 +5316,9 @@
      * 灏忚溅鏀剧┖鏉胯嚦杈撻�佺嚎浠诲姟   //鎷嗙洏
      * */
     public synchronized boolean rgvPutEmpty(Integer rgvId,WrkMastSta wrkMastSta){
+        if (rgvId>20){
+            rgvId = rgvId-20;
+        }
         try{
             //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
             RgvCommand rgvCommand = new RgvCommand();
@@ -5286,6 +5344,9 @@
      * 灏忚溅鍙栫┖鏉胯嚦宸ヤ綅浠诲姟  婊″彇
      * */
     public synchronized boolean rgvTakeEmptyFull(Integer rgvId,WrkMastSta wrkMastSta){
+        if (rgvId>20){
+            rgvId = rgvId-20;
+        }
         try{
             //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
             RgvCommand rgvCommand = new RgvCommand();
@@ -5311,6 +5372,9 @@
      * 灏忚溅鏀剧┖鏉胯嚦杈撻�佺嚎浠诲姟   //婊℃斁
      * */
     public synchronized boolean rgvPutEmptyFull(Integer rgvId,WrkMastSta wrkMastSta){
+        if (rgvId>20){
+            rgvId = rgvId-20;
+        }
         try{
             //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
             RgvCommand rgvCommand = new RgvCommand();
@@ -5336,6 +5400,9 @@
      * 灏忚溅澶嶄綅
      * */
     public synchronized boolean rgvComplete(Integer rgvId){
+        if (rgvId>20){
+            rgvId = rgvId-20;
+        }
         try{
             //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
             if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(3, new RgvCommand()))) {
@@ -5356,6 +5423,9 @@
      * 灏忚溅澶嶄綅
      * */
     public synchronized boolean rgvComplete(Integer rgvId,Short taskNo1){
+        if (rgvId>20){
+            rgvId = rgvId-20;
+        }
         try{
             RgvCommand rgvCommand = new RgvCommand();
             rgvCommand.setTaskNo1(taskNo1);
@@ -5381,7 +5451,9 @@
         if (rgvOpen){
             return true;
         }
-
+        if (basRgvMapCurrent.getRgvNo()>2){
+            return true;
+        }
 //        List<Integer> integers = RouteUtils.RouteMapCurrentFar(basRgvMapCurrent.getNowRoute(),staStart,staEnd, basRgvMapCurrent.getLockStartRoute());
         //鏇存柊褰撳墠灏忚溅閿�
         try{
@@ -5389,16 +5461,17 @@
 //            Integer farCurrentStaNo = RouteUtils.RouteIndexFarMas(staEnd, staStart, staEnd, basRgvMapCurrent.getLockStartRoute());//鑾峰彇鏈�杩滅珯鐐�
             Integer fallMerge = RouteUtils.RouteIndexFarMas(basRgvMapCurrent.getRgvNo(), farCurrentStaNo); //鑾峰彇鍚堝苟骞叉秹椤�
             basRgvMapCurrent.setLockEndRoute(fallMerge);
-            basRgvMapMapper.updateById(basRgvMapCurrent);
+
+            basRgvMapService.updateById(basRgvMapCurrent);
 
             //鏇存柊鍙︿竴鍙板皬杞﹀湴鍥�
             Integer rgvNoOther = basRgvMapCurrent.getRgvNoOther();
-            BasRgvMap basRgvMapOther = basRgvMapMapper.selectById(rgvNoOther);
+            BasRgvMap basRgvMapOther = basRgvMapService.selectById(rgvNoOther);
             List<Integer> integers = RouteUtils.RouteMapCurrentFar(fallMerge, basRgvMapCurrent.getLockStartRoute());
             Integer lockEndRoute = RouteUtils.RouteMapOtherFarStnNo(integers, basRgvMapCurrent.getLockStartRoute());//鍙︿竴鍙板皬杞﹀彲娲诲姩鏈�杩滀綅缃�
             Integer lockEndRouteL = RouteUtils.RouteIndexFarMasL(rgvNoOther, lockEndRoute);//鍙︿竴鍙板皬杞﹀彲娲诲姩鏈�杩滀綅缃�
             basRgvMapOther.setEndRoute(lockEndRouteL);
-            basRgvMapMapper.updateById(basRgvMapOther);
+            basRgvMapService.updateById(basRgvMapOther);
             return true;
         }catch (Exception e){
             log.error("灏忚溅鍦板浘鏇存柊鍑洪敊锛�");

--
Gitblit v1.9.1