From 0134bfa28a0583c0f2b28e52a6c0aeee7098ecf9 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 03 四月 2025 13:04:28 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  328 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 180 insertions(+), 148 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 04841ba..3b91932 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -24,12 +24,16 @@
 import com.zy.core.enums.*;
 import com.zy.core.model.CrnSlave;
 import com.zy.core.model.DevpSlave;
+import com.zy.core.model.RgvSlave;
 import com.zy.core.model.Task;
 import com.zy.core.model.command.CrnCommand;
+import com.zy.core.model.command.RgvCommand;
 import com.zy.core.model.protocol.CrnProtocol;
+import com.zy.core.model.protocol.RgvProtocol;
 import com.zy.core.model.protocol.StaProtocol;
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.thread.BarcodeThread;
+import com.zy.core.thread.RgvThread;
 import com.zy.core.thread.SiemensDevpThread;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -78,6 +82,12 @@
     private ApiLogService apiLogService;
     @Autowired
     private CommonService commonService;
+    @Autowired
+    private BasRgvService basRgvService;
+    @Autowired
+    private WrkMastStaMapper wrkMastStaMapper;
+    @Autowired
+    private BasRgvMapMapper basRgvMapMapper;
 
     @Value("${wms.url}")
     private String wmsUrl;
@@ -90,6 +100,8 @@
     @Autowired
     private CrnController crnController;
 
+    @Value("${wms.rgvOpen}")
+    private boolean rgvOpen;
 
     public void generateStoreWrkFile() throws IOException, InterruptedException {
         try {
@@ -107,8 +119,8 @@
                     } else {
                         staProtocol = staProtocol.clone();
                     }
-                    Short workNo = staProtocol.getWorkNo();
-                    Short stano = staProtocol.getStaNo();
+                    Integer workNo = staProtocol.getWorkNo();
+                    Integer stano = staProtocol.getStaNo();
 
                     // 灏哄妫�娴嬪紓甯�
                     boolean back = false;
@@ -154,7 +166,7 @@
                         }
 //                        News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
                         staProtocol.setWorkNo(workNo);
-                        staProtocol.setStaNo(inSta.getStaNo().shortValue());
+                        staProtocol.setStaNo(inSta.getStaNo());
                         devpThread.setPakMk(staProtocol.getSiteId(), false);
                         MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                         TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo));
@@ -189,8 +201,8 @@
                                         log.info("鎵樼洏鐮侊細"+barcode+"浠诲姟妗e瓨鍦�");
                                         return;
                                     }else {
-                                        staProtocol.setWorkNo(taskWrk1.getWrkNo().shortValue());
-                                        staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+                                        staProtocol.setWorkNo(taskWrk1.getWrkNo());
+                                        staProtocol.setStaNo(staDesc.getCrnStn());
                                         MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                                     }
                                 }
@@ -222,8 +234,8 @@
                                     // 閫�鍥�
                                     log.error("鎵爜妫�娴嬬▼搴忓紓甯�"+inSta.getStaNo()+"寮傚父淇℃伅"+e1);
                                 }
-                                staProtocol.setWorkNo((short)9999);
-                                staProtocol.setStaNo(inSta.getStaNo().shortValue());
+                                staProtocol.setWorkNo(9999);
+                                staProtocol.setStaNo(inSta.getStaNo());
                                 devpThread.setPakMk(staProtocol.getSiteId(), false);
                                 MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
 //                                    TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo));
@@ -276,8 +288,8 @@
                                     log.error("鎵爜妫�娴嬬▼搴忓紓甯�"+inSta.getStaNo()+errMsg);
                                     log.error("鎵爜妫�娴嬬▼搴忓紓甯�,寮傚父淇℃伅"+e);
 
-                                    staProtocol.setWorkNo((short)9999);
-                                    staProtocol.setStaNo(inSta.getStaNo().shortValue());
+                                    staProtocol.setWorkNo(9999);
+                                    staProtocol.setStaNo(inSta.getStaNo());
                                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                                     MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
 //                                    TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo));
@@ -331,8 +343,8 @@
                                         taskWrkService.insert(taskWrk);
                                         StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
                                                 .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).eq("stn_no",staProtocol.getSiteId()));
-                                        staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
-                                        staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+                                        staProtocol.setWorkNo(taskWrk.getWrkNo());
+                                        staProtocol.setStaNo(staDesc.getCrnStn());
                                         MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                                     }
                                 }
@@ -345,8 +357,8 @@
                             // 閫�鍥�
                             log.error("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
 
-                            staProtocol.setWorkNo((short)9999);
-                            staProtocol.setStaNo(inSta.getStaNo().shortValue());
+                            staProtocol.setWorkNo(9999);
+                            staProtocol.setStaNo(inSta.getStaNo());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo));
@@ -394,8 +406,8 @@
                             }
                             log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:"+JSON.toJSONString(taskWrk));
 //                            R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false);
-                            staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
-                            staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+                            staProtocol.setWorkNo(taskWrk.getWrkNo());
+                            staProtocol.setStaNo(staDesc.getCrnStn());
                             boolean offer = false;
                             try{
                                 offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
@@ -1112,7 +1124,160 @@
         }
         return taskWrk;
     }
+    /**
+     *  瀹屾垚灏忚溅浠诲姟
+     */
+    public synchronized void rgvCompleteWrkMastSta() {
+        try{
+            for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
+                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
+                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+                if (rgvProtocol == null) {
+                    continue;
+                }
+                BasRgv basRgv = basRgvService.selectById(rgvSlave.getId());
+                if (basRgv == null) {
+                    log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId());
+                    continue;
+                }
 
+                // 鍙湁褰揜GV绛夊緟WCS纭銆佽嚜鍔�
+                if (rgvProtocol.getStatusType() == RgvStatusType.WORKING
+                        && rgvProtocol.getModeType() == RgvModeType.AUTO
+                        && ((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 || rgvProtocol.getStatusType1()==RgvStatusType.FETCHWAITING)){
+                        if (rgvProtocol.getTaskNo1()==(short)32222){
+                            boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
+                            if (!rgvComplete){
+                                log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
+                            }
+                            BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+                            basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
+                            rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+                            break;
+                        }
+                        WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1().longValue());
+                        if (Cools.isEmpty(wrkMastSta) || wrkMastSta.getType()!=1 || wrkMastSta.getWrkSts()!=1){
+                            log.error("鏈煡鍒板皬杞︽墽琛屼换鍔℃垨鑰呮墽琛屼换鍔$姸鎬佷笉绗﹀悎锛�"+wrkMastSta);
+                            continue;
+                        }
+                       /* WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue());
+                        if (!Cools.isEmpty(wrkMast) && wrkMastSta.getWrkType()!=5){
+                            Thread.sleep(200);
+                            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+                            StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd());
+                            if (staProtocol == null) {
+                                continue;
+                            } else {
+                                staProtocol = staProtocol.clone();
+                            }
+                            if (!staProtocol.isAutoing() || !staProtocol.isLoading()){
+                                continue;
+                            }
+                            // 涓嬪彂绔欑偣淇℃伅
+                            staProtocol.setWorkNo(wrkMast.getWrkNo());
+                            staProtocol.setStaNo(wrkMast.getStaNo());
+                            if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol))) {
+                                continue;
+                            }
+                            log.error("灏忚溅浠诲姟瀹屾垚涓嬪彂杈撻�佺嚎浠诲姟锛�"+staProtocol);
+//                            try{
+//                                Thread.sleep(1000);
+//                                DevpThread devpThreadEnd = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+//                                StaProtocol staProtocolEnd = devpThreadEnd.getStation().get(wrkMastSta.getStaEnd());
+//                                log.error("灏忚溅浠诲姟瀹屾垚璇诲彇杈撻�佺嚎浠诲姟锛�"+staProtocolEnd);
+//                                if (staProtocolEnd.getWorkNo()==0 ){ //|| !staProtocolEnd.getWorkNo().equals(wrkMast.getWrkNo())
+//                                    staProtocolEnd.setWorkNo(wrkMast.getWrkNo());
+//                                    staProtocolEnd.setStaNo(wrkMast.getStaNo());
+//                                    if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocolEnd))) {
+//                                        continue;
+//                                    }
+//                                    log.error("灏忚溅浠诲姟瀹屾垚涓嬪彂杈撻�佺嚎浠诲姟绗簩娆★細"+staProtocolEnd);
+//                                }
+//                            }catch (Exception e){
+//
+//                            }
+                        }*/
+                        boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
+                        if (!rgvComplete){
+                            log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
+                            break;
+                        }
+                        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 || rgvProtocol.getStatusType2()==RgvStatusType.FETCHWAITING)){
+                        if (rgvProtocol.getTaskNo2()==(short)32222){
+                            boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
+                            if (!rgvComplete){
+                                log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
+                            }
+                            BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+                            basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
+                            rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+                            break;
+                        }
+                        WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo2().longValue());
+                        if (Cools.isEmpty(wrkMastSta) || wrkMastSta.getType()!=2){
+                            log.error("鏈煡鍒板皬杞︽墽琛屼换鍔℃垨鑰呮墽琛屼换鍔$姸鎬佷笉绗﹀悎锛�"+wrkMastSta);
+                            continue;
+                        }
+                        /*WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue());
+                        if (!Cools.isEmpty(wrkMast)  && wrkMastSta.getWrkType()!=5){
+                            Thread.sleep(200);
+                            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+                            StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd());
+                            if (!staProtocol.isAutoing() || !staProtocol.isLoading()){
+                                continue;
+                            }
+                            // 涓嬪彂绔欑偣淇℃伅
+                            staProtocol.setWorkNo(wrkMast.getWrkNo());
+                            staProtocol.setStaNo(wrkMast.getStaNo());
+                            if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol))) {
+                                continue;
+                            }
+                            log.error("灏忚溅浠诲姟瀹屾垚涓嬪彂杈撻�佺嚎浠诲姟锛�"+staProtocol);
+//                            try{
+//                                Thread.sleep(1000);
+//                                DevpThread devpThreadEnd = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+//                                StaProtocol staProtocolEnd = devpThreadEnd.getStation().get(wrkMastSta.getStaEnd());
+//                                log.error("灏忚溅浠诲姟瀹屾垚璇诲彇杈撻�佺嚎浠诲姟锛�"+staProtocolEnd);
+//                                if (staProtocolEnd.getWorkNo()==0 ){ //|| !staProtocolEnd.getWorkNo().equals(wrkMast.getWrkNo())
+//                                    staProtocolEnd.setWorkNo(wrkMast.getWrkNo());
+//                                    staProtocolEnd.setStaNo(wrkMast.getStaNo());
+//                                    if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocolEnd))) {
+//                                        continue;
+//                                    }
+//                                    log.error("灏忚溅浠诲姟瀹屾垚涓嬪彂杈撻�佺嚎浠诲姟绗簩娆★細"+staProtocolEnd);
+//                                }
+//                            }catch (Exception e){
+//
+//                            }
+                        }*/
+                        boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
+                        if (!rgvComplete){
+                            log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
+                            break;
+                        }
+                        wrkMastSta.setWrkSts(3);
+                        wrkMastStaMapper.updateById(wrkMastSta);
+                        BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+                        basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
+                        rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+                    }else {
+                        log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{},绛夊緟wcs纭浣嗘槸娌℃湁宸ヤ綔鍙凤紒",rgvProtocol.getRgvNo());
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("灏忚溅澶嶄綅绾跨▼鎶ラ敊锛�"+e);
+        }
+    }
     /**
      * 鍏ュ嚭搴�  ===>>  灏忚溅浣滀笟涓嬪彂
      */
@@ -1156,9 +1321,6 @@
                         case 4://鍙栧彔鐩�
                             signWork = rgvRunWrkMastEmptyStaTake(rgvSlave);
                             break;
-                        case 5:////婊″彇
-                            signWork = rgvRunWrkMastEmptyStaTakeFull(rgvSlave);
-                            break;
                         case 6:////鎻愬崌
 //                            signWork = qwe();
                             break;
@@ -1178,9 +1340,6 @@
                                 break;
                             case 4://鍙栧彔鐩�
                                 signWork = rgvRunWrkMastEmptyStaTake(rgvSlave);
-                                break;
-                            case 5:////婊″彇
-                                signWork = rgvRunWrkMastEmptyStaTakeFull(rgvSlave);
                                 break;
                             case 6:////鎻愬崌
 //                            signWork = rgvRunWrkMastEmptyStaPut();
@@ -1247,16 +1406,6 @@
                     BasDevp basDevp = basDevpService.selectById(wrkMastSta.getStaEnd());
                     if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y") || basDevp.getWrkNo()!=0){
                         continue;
-                    }
-                    if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){
-                        if (basDevp.getLoadingSuper().equals("Y")){
-                            continue;
-                        }
-                    }
-                    if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){
-                        if (!basDevp.getEmptyMk().equals("Y")){
-                            continue;
-                        }
                     }
                     Date date = new Date();
 
@@ -1365,16 +1514,6 @@
                         if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y") || basDevp.getWrkNo()!=0){
                             continue;
                         }
-                        if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){
-                            if (basDevp.getLoadingSuper().equals("Y")){
-                                continue;
-                            }
-                        }
-                        if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){
-                            if (!basDevp.getEmptyMk().equals("Y")){
-                                continue;
-                            }
-                        }
                         Date date = new Date();
 
                         SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId());
@@ -1473,16 +1612,6 @@
                         if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y") || basDevp.getWrkNo()!=0){
                             continue;
                         }
-                        if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){
-                            if (basDevp.getLoadingSuper().equals("Y")){
-                                continue;
-                            }
-                        }
-                        if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){
-                            if (!basDevp.getEmptyMk().equals("Y")){
-                                continue;
-                            }
-                        }
                         Date date = new Date();
 
                         SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId());
@@ -1578,11 +1707,6 @@
                         if (!basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("Y")){
                             continue;
                         }
-                        if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){
-                            if (!basDevp.getEmptyMk().equals("Y")){
-                                continue;
-                            }
-                        }
                         Date date = new Date();
 
                         SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId());
@@ -1603,98 +1727,6 @@
                         log.info(date+"鍙犵洏浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta);
                         log.info(date+"鍙犵洏浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp);
                         sign = rgvTakeEmpty(rgvProtocol.getRgvNo(),wrkMastSta);//鍙犵洏
-                    }else {
-                        continue;
-                    }
-                    if (sign){
-                        boolean signMap = rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), basRgvMap.getStartRoute());
-                        if (signMap){
-                            wrkMastSta.setWrkSts(1);
-                            try{
-                                wrkMastStaMapper.updateById(wrkMastSta);
-                            }catch (Exception e){
-                                log.error("鏇存柊灏忚溅浠诲姟澶辫触");
-                            }
-                            return true;
-                        }else {
-                            log.error("3879琛岋紝璐х墿鎼繍浠诲姟锛氬伐浣滃彿{}鎵�灞炰换鍔′笅鍙戝悗鍦板浘鍚屾澶辫触",wrkMastSta.getWrkNo());
-                        }
-                    }else {
-                        log.error("宸ヤ綔鍙穥}鎵�灞炰换鍔′笅鍙戝け璐�",wrkMastSta.getWrkNo());
-                    }
-                    break;
-                }
-            }
-//            }
-        }catch (Exception e){
-            log.error("3989琛屾墽琛屽皬杞﹀彇绌烘澘浠诲姟涓嬪彂澶辫触");
-            log.error("3989琛�"+e);
-        }
-        return false;
-    }
-
-    public synchronized boolean rgvRunWrkMastEmptyStaTakeFull(RgvSlave rgvSlave) {//婊″彇
-        try{
-//            for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
-            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
-            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
-            if (rgvProtocol == null) {
-                return false;
-            }
-            BasRgv basRgv = basRgvService.selectById(rgvSlave.getId());
-            if (basRgv == null) {
-                log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId());
-                return false;
-            }
-
-            // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅浜屾棤鐗�//rgv鍙敤
-            if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
-                    && rgvProtocol.getStatusType1() == RgvStatusType.IDLE
-                    && rgvProtocol.getStatusType2() == RgvStatusType.IDLE
-                    && rgvProtocol.getModeType() == RgvModeType.AUTO
-                    && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0
-                    &&  rgvProtocol.getLoaded2()==0  //鐜板満淇敼锛氬彔鐩樻満锛�////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗╋紙鍙兘鎷嗗彔锛�   锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3  1銆�2灞傞兘鏈夌墿  4锛氾紙锛夊彧鍏佽鎷嗙洏
-            ) {
-                BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
-                if (basRgvMap == null) {
-                    log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo());
-                    return false;
-                }
-                List<Integer> route = RouteUtils.getRoute(basRgvMap.getStartRoute(), basRgvMap.getEndRoute());
-                basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
-                List<WrkMastSta> wrkMastStaList = wrkMastStaMapper.selectNoInterfereList(route, route);
-                WrkMast wrkMast = wrkMastMapper.selectBy122ManQu(122,110,15L);
-                if (!Cools.isEmpty(wrkMast)){
-                    WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(wrkMast.getWrkNo().longValue());
-                    if (!Cools.isEmpty(wrkMastSta) && wrkMastSta.getType()==2 && wrkMastSta.getWrkType()==5 ){
-                        wrkMastStaList.add(wrkMastSta);
-                    }
-                }
-                for (WrkMastSta wrkMastSta : wrkMastStaList){
-                    if (wrkMastSta.getType()!=2 || wrkMastSta.getWrkType()!=5){// 2:绌烘澘  || 宸ヤ綔绫诲瀷  1:鍙栵紙鍙犵洏锛�  2锛氭媶鐩�  5锛氭弧鍙�  6锛氭弧鏀�
-                        continue;
-                    }
-                    boolean sign = false;
-                    if (wrkMastSta.getStaStart()!=0){//婊″彇
-                        BasDevp basDevp = basDevpService.selectById(wrkMastSta.getStaStart());
-                        if (!basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("Y")){
-                            continue;
-                        }
-                        Date date = new Date();
-
-                        SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId());
-                        StaProtocol staProtocol = devpThread.getStation().get(basDevp.getDevNo());
-                        if (staProtocol == null) {
-                            log.info(date+"婊″彇浠诲姟涓嬪彂锛氭湭鏌ヨ鍒扮珯鐐逛俊鎭細"+wrkMastSta);
-                            continue;
-                        }
-                        if (!staProtocol.isAutoing() || staProtocol.isLoading()){
-                            continue;
-                        }
-
-                        log.info(date+"婊″彇浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta);
-                        log.info(date+"婊″彇浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp);
-                        sign = rgvTakeEmptyFull(rgvProtocol.getRgvNo(),wrkMastSta);
                     }else {
                         continue;
                     }

--
Gitblit v1.9.1