From 63f731641998edc06c1e0409ab1901260d36154b Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期四, 11 一月 2024 18:05:20 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  295 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 265 insertions(+), 30 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 7c55bb3..93dec60 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -409,6 +409,118 @@
     }
 
     /**
+     * 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱  鎷嗗灈浣嶇疆
+     */
+    public synchronized void stnToCrnStnPick2() {
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            // 閬嶅巻鎷f枡鍏ュ簱鍙�
+            for (DevpSlave.Sta pickSta : devp.getPickSta2()) {
+
+                // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo());
+                if (staProtocol == null) {
+                    continue;
+                } else {
+                    staProtocol = staProtocol.clone();
+                }
+
+                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isPakMk() && staProtocol.getWorkNo()==0 && !staProtocol.isOutEnable() && staProtocol.isInEnable()) {
+                    WrkMast wrkMast = wrkMastMapper.selectPakInStep4(staProtocol.getSiteId(),"3");
+
+                    if (wrkMast == null) {
+                        WrkMast wrkMast1 = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"3");
+                        if (Cools.isEmpty(wrkMast1) && staProtocol.isEmptyMk()){
+                            WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 9999L);
+                            if (Cools.isEmpty(wrkMastSta)){
+                                WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staProtocol.getSiteId());
+                                wrkMastSta1.setType(2);
+                                wrkMastSta1.setWrkType(1);
+                                wrkMastStaMapper.insert(wrkMastSta1);
+                            }
+                            continue;
+                        }
+//                        log.error("绔欑偣鍙�"+staProtocol.getSiteId()+"鏈煡璇㈠埌宸ヤ綔妗f锛�");
+                        // 鏃犳嫞鏂欐暟鎹�
+                        continue;
+                    }
+                    if (staProtocol.isEmptyMk()){
+                        log.error("绔欑偣鍙�"+staProtocol.getSiteId()+"绌烘澘淇″彿寮傚父锛�");
+                        continue;
+                    }
+                    if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107)
+                            || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
+                        continue;
+                    }
+
+                    // 鑾峰彇鐩爣绔�
+                    Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+                            .eq("type_no", wrkMast.getIoType() - 50)
+                            .eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+                            .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
+                    StaDesc staDesc = staDescService.selectOne(wrapper);
+                    if (Cools.isEmpty(staDesc)) {
+                        log.error("鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
+                        continue;
+                    }
+
+                    try {
+                        // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
+                        if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
+                            throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
+                        }
+                        // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+                        if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
+                            throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
+                        }
+
+                        Date now = new Date();
+                        // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
+                        Integer staNo = staDesc.getCrnStn();
+                        // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
+                        wrkMast.setIoTime(now);
+                        wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+                        wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+                        wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
+                        wrkMast.setStaNo(staNo); // 鐩爣绔�
+                        wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
+                        wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+                        wrkMast.setModiTime(now);
+                        if (wrkMastMapper.updateById(wrkMast) == 0) {
+                            throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+                        }
+                        // 鏇存柊鏄庣粏妗o_time (鍘嗗彶妗e叧鑱斾娇鐢級
+                        wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now);
+                        // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+                        LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+                        locMast.setLocSts("Q");
+                        locMast.setModiTime(new Date());
+                        if (!locMastService.updateById(locMast)) {
+                            throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        continue;
+                    }
+
+                    // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
+                    staProtocol.setWorkNo(wrkMast.getWrkNo());
+                    staProtocol.setStaNo(wrkMast.getStaNo());
+                    devpThread.setPakMk(staProtocol.getSiteId(), false);
+                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                    if (!result) {
+                        log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+                    }
+
+                }
+
+            }
+
+        }
+    }
+
+    /**
      * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
      */
     public synchronized void crnStnToOutStn() {
@@ -3706,10 +3818,10 @@
      */
     public synchronized void stackingCompletionDriveTray2() {
         try {
-            int[] staNos=new int[]{133,135};//(2涓叆搴撶珯鐐癸紝1妤�2涓嚭搴撶爜鍨涚珯,鏍规嵁鐜板満淇敼)
+            int[] staNos=new int[]{131,135};//(2涓叆搴撶珯鐐癸紝1妤�2涓嚭搴撶爜鍨涚珯,鏍规嵁鐜板満淇敼)
             for (int staNo : staNos){
                 BasDevp basDevp = basDevpService.selectById(staNo);
-                if (basDevp.getWrkNo()<9990){
+                if (basDevp.getWrkNo()!=0){
                     continue;
                 }
                 WrkMast wrkMast = wrkMastMapper.selectWrkMastUnstackingOne202(staNo);
@@ -3738,11 +3850,16 @@
                 // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
                 if (staProtocol.isAutoing()
                         && staProtocol.isLoading()
-                        && staProtocol.getWorkNo() >= 9990
+                        && staProtocol.isInEnable()
+                        && staProtocol.getWorkNo() == 0
                 ) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) {
 
+                    //浠诲姟瀹屾垚
+                    boolean result1 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(3, staProtocol));
+                    Thread.sleep(100);
+
                     staProtocol.setWorkNo(wrkMast.getWrkNo());
-                    staProtocol.setStaNo(wrkMast.getStaNo());
+                    staProtocol.setStaNo(144);
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol));
                     if (!result) {
@@ -3750,6 +3867,10 @@
                     }
                     wrkMast.setWrkSts(52L);
                     wrkMastMapper.updateById(wrkMast);
+                    Thread.sleep(100);
+
+                    //浠诲姟瀹屾垚
+                    boolean result2 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(4, staProtocol));
 
                 }
             }
@@ -3757,6 +3878,63 @@
 //            e.printStackTrace();
 //            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             log.error("鍏朵粬  ===>> 鐮佸灈瀹屾垚椹卞姩鎵樼洏杩涘叆涓嬩竴姝�"+e);
+        }
+    }
+
+    /**
+     * 鍏朵粬  ===>> 鐮佸灈瀹屾垚椹卞姩鎵樼洏杩涘叆涓嬩竴姝�
+     */
+    public synchronized void stackingCompletionDriveTrayOk2() {
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            // 閬嶅巻鎷f枡鍏ュ簱鍙�
+            for (DevpSlave.Sta pickSta : devp.getPickSta2()) {
+
+                // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo());
+                if (staProtocol == null) {
+                    continue;
+                } else {
+                    staProtocol = staProtocol.clone();
+                }
+
+                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isPakMk()  && staProtocol.getWorkNo()!=0 && staProtocol.isOutEnable()) {//
+                    WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo());
+
+                    if (wrkMast == null) {
+                        log.error("绔欑偣鍙�"+staProtocol.getSiteId()+"鏈煡璇㈠埌宸ヤ綔妗f锛�");
+                        // 鏃犳嫞鏂欐暟鎹�
+                        continue;
+                    }
+                    if (!wrkMast.getSheetNo().equals("2") || wrkMast.getIoType()<100 || wrkMast.getWrkSts()!=14){
+                        continue;
+                    }
+                    if (wrkMast.getIoType()==101){
+                        //浠诲姟瀹屾垚
+                        boolean result1 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(3, staProtocol));
+                        wrkMast.setSheetNo("3");
+                        wrkMastMapper.updateById(wrkMast);
+                    }else {
+                        if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107)
+                                || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
+                            continue;
+                        }
+                        //浠诲姟瀹屾垚
+                        boolean result1 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(3, staProtocol));
+                        wrkMast.setSheetNo("3");
+                        wrkMastMapper.updateById(wrkMast);
+
+                        try{
+                            Thread.sleep(100);
+                        }catch (Exception e){
+
+                        }
+
+                        boolean result2 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(4, staProtocol));
+
+                    }
+                }
+            }
         }
     }
     /**
@@ -3840,11 +4018,12 @@
                 // 鍙湁褰揜GV绛夊緟WCS纭銆佽嚜鍔�
                 if (rgvProtocol.getStatusType() == RgvStatusType.WORKING
                         && rgvProtocol.getModeType() == RgvModeType.AUTO
-                        && (rgvProtocol.getStatusType1()==RgvStatusType.WAITING || rgvProtocol.getStatusType2()==RgvStatusType.WAITING )
+                        && ((rgvProtocol.getStatusType1()==RgvStatusType.WAITING || rgvProtocol.getStatusType2()==RgvStatusType.WAITING ) ||
+                        (rgvProtocol.getStatusType1()==RgvStatusType.FETCHWAITING || rgvProtocol.getStatusType2()==RgvStatusType.FETCHWAITING ))
                 ) {
                     log.info("{}鍙峰皬杞︾瓑寰厀cs纭锛岀姸鎬亄}锛屽弬鏁皗}",rgvProtocol.getRgvNo(),rgvProtocol.getStatusType(),rgvProtocol);
-                    if (rgvProtocol.getTaskNo1()!=0&&rgvProtocol.getStatusType1()==RgvStatusType.WAITING){
-                        if (rgvProtocol.getTaskNo1()==9999){
+                    if (rgvProtocol.getTaskNo1()!=0 && (rgvProtocol.getStatusType1()==RgvStatusType.WAITING || rgvProtocol.getStatusType1()==RgvStatusType.FETCHWAITING)){
+                        if (rgvProtocol.getTaskNo1()==29999){
                             boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
                             if (!rgvComplete){
                                 log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
@@ -3864,13 +4043,25 @@
                             log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
                             break;
                         }
+
+                        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+                        StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd());
+                        WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue());
+                        if (!Cools.isEmpty(wrkMast)){
+                            // 涓嬪彂绔欑偣淇℃伅
+                            staProtocol.setWorkNo(wrkMastSta.getWrkNo().intValue());
+                            staProtocol.setStaNo(wrkMast.getStaNo());
+                            if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol))) {
+                                continue;
+                            }
+                        }
                         wrkMastSta.setWrkSts(3);
                         wrkMastStaMapper.updateById(wrkMastSta);
                         BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
                         basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
                         rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
-                    }else if (rgvProtocol.getTaskNo2()!=0 && rgvProtocol.getStatusType2()==RgvStatusType.WAITING){
-                        if (rgvProtocol.getTaskNo2()==9999){
+                    }else if (rgvProtocol.getTaskNo2()!=0 && (rgvProtocol.getStatusType2()==RgvStatusType.WAITING || rgvProtocol.getStatusType2()==RgvStatusType.FETCHWAITING)){
+                        if (rgvProtocol.getTaskNo2()==29999){
                             boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
                             if (!rgvComplete){
                                 log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
@@ -3889,6 +4080,17 @@
                         if (!rgvComplete){
                             log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
                             break;
+                        }
+                        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+                        StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd());
+                        WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue());
+                        if (!Cools.isEmpty(wrkMast)){
+                            // 涓嬪彂绔欑偣淇℃伅
+                            staProtocol.setWorkNo(wrkMastSta.getWrkNo().intValue());
+                            staProtocol.setStaNo(wrkMast.getStaNo());
+                            if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol))) {
+                                continue;
+                            }
                         }
                         wrkMastSta.setWrkSts(3);
                         wrkMastStaMapper.updateById(wrkMastSta);
@@ -3925,6 +4127,7 @@
                 if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
                         && rgvProtocol.getModeType() == RgvModeType.AUTO
                         && rgvProtocol.getLoaded1()==0
+                        && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0
                 ) {
                     BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
                     if (basRgvMap == null) {
@@ -3984,6 +4187,7 @@
                 // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅浜屾湁鐗�//rgv鍙敤
                 if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
                         && rgvProtocol.getModeType() == RgvModeType.AUTO
+                        && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0
                         && (rgvProtocol.getLoaded2()==3  || rgvProtocol.getLoaded2()==1 )////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗� 锛堝彧鑳芥媶鍙狅級 锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛�3  1銆�2灞傞兘鏈夌墿
                 ) {
                     BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
@@ -3999,7 +4203,7 @@
                             continue;
                         }
                         boolean sign = false;
-                        if (wrkMastSta.getStaStart()==0 && wrkMastSta.getStaEnd()!=0){//鏀�
+                        if ( wrkMastSta.getStaEnd()!=0){//鏀�
                             sign = rgvPutEmpty(rgvProtocol.getRgvNo(),wrkMastSta);//鎷嗙洏
                         }else {
                             continue;
@@ -4113,6 +4317,7 @@
                 // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅浜屾棤鐗�//rgv鍙敤
                 if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
                         && rgvProtocol.getModeType() == RgvModeType.AUTO
+                        && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0
                         &&  (rgvProtocol.getLoaded2()==0  || rgvProtocol.getLoaded2()==1 ) //鐜板満淇敼锛氬彔鐩樻満锛�////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗╋紙鍙兘鎷嗗彔锛�   锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3  1銆�2灞傞兘鏈夌墿
                 ) {
                     BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
@@ -4128,7 +4333,7 @@
                             continue;
                         }
                         boolean sign = false;
-                        if (wrkMastSta.getStaEnd()==0 && wrkMastSta.getStaStart()!=0){//鍙�
+                        if ( wrkMastSta.getStaStart()!=0){//鍙�
                             sign = rgvTakeEmpty(rgvProtocol.getRgvNo(),wrkMastSta);//鍙犵洏
                         }else {
                             continue;
@@ -4254,6 +4459,11 @@
                     if (rgvProtocol.getRgvPosI().equals(basRgvMap.getStartRoute())){
                         continue;
                     }
+                    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;
+                    }
                     rgvAvoidanceXY(rgvProtocol.getRgvNo());
                     rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
                 }
@@ -4303,26 +4513,51 @@
      * 灏忚溅XY绉诲姩  閬胯
      * */
     public synchronized boolean rgvAvoidanceXY(Integer rgvId){
-        try{
-            BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId);
-            //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-            RgvCommand rgvCommand = new RgvCommand();
-            rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
-            rgvCommand.setAckFinish1((short) 0);  // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
-            rgvCommand.setTaskNo1((short)9999); // 宸ヤ綅1宸ヤ綔鍙�
-            rgvCommand.setTaskMode1(RgvTaskModeType.X_MOVE); // 宸ヤ綅1浠诲姟妯″紡:  鍥炲師鐐�
-            rgvCommand.setDestinationStaNo1(basRgvMap.getLockStartRoute().shortValue());
-            rgvCommand.setCommand((short) 1);   //宸ヤ綅1浠诲姟纭
-            if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(9, rgvCommand))) {
-                //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱   step=4锛屽伐浣�1鍐欎换鍔★紱     step=5锛屽伐浣�2鍐欎换鍔�   step=9锛屽洖鍘熺偣 9999浠诲姟鍙�
-                log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
+        if (rgvId==1){
+            try{
+                BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId);
+                //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+                RgvCommand rgvCommand = new RgvCommand();
+                rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
+                rgvCommand.setAckFinish1((short) 0);  // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
+                rgvCommand.setTaskNo1((short)29999); // 宸ヤ綅1宸ヤ綔鍙�
+                rgvCommand.setTaskMode1(RgvTaskModeType.X_MOVE); // 宸ヤ綅1浠诲姟妯″紡:  鍥炲師鐐�
+                //basRgvMap.getLockStartRoute().shortValue()
+                rgvCommand.setSourceStaNo1( (short)101);
+                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浠诲姟鍙�
+                    log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
+                    return false;
+                } else {
+                    return true;
+                }
+            }catch (Exception e){
                 return false;
-            } else {
-                return true;
-            }
-        }catch (Exception e){
-            return false;
 
+            }
+        }else {
+            try{
+                BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId);
+                //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+                RgvCommand rgvCommand = new RgvCommand();
+                rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
+                rgvCommand.setAckFinish2((short) 0);  // 宸ヤ綅2浠诲姟瀹屾垚纭浣�
+                rgvCommand.setTaskNo2((short)29999); // 宸ヤ綅2宸ヤ綔鍙�
+                rgvCommand.setTaskMode2(RgvTaskModeType.X_MOVE); // 宸ヤ綅2浠诲姟妯″紡:  鍥炲師鐐�
+                rgvCommand.setSourceStaNo2((short)117);
+                rgvCommand.setCommand((short) 2);   //宸ヤ綅2浠诲姟纭
+                if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(5, rgvCommand))) {
+                    //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱   step=4锛屽伐浣�1鍐欎换鍔★紱     step=5锛屽伐浣�2鍐欎换鍔�   step=9锛屽洖鍘熺偣 9999浠诲姟鍙�
+                    log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
+                    return false;
+                } else {
+                    return true;
+                }
+            }catch (Exception e){
+                return false;
+
+            }
         }
     }
 
@@ -4509,7 +4744,7 @@
     public synchronized boolean rgvComplete(Integer rgvId){
         try{
             //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-            if (!MessageQueue.offer(SlaveType.Crn, rgvId, new Task(3, new RgvCommand()))) {
+            if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(3, new RgvCommand()))) {
                 //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱   step=4锛屽伐浣�1鍐欎换鍔★紱     step=5锛屽伐浣�2鍐欎换鍔�
                 log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}",rgvId);
                 return false;

--
Gitblit v1.9.1