From 68242c8f3acc051368eeb1246b2fb6327a783bfc Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期二, 04 十一月 2025 09:05:39 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  133 +++++++++++++++++++++++++++----------------
 1 files changed, 83 insertions(+), 50 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 3a4dedc..3db0c17 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1079,7 +1079,7 @@
             //mark - 3 - ....
             this.locToLoc(crn, crnProtocol,mark);
             //棰勮皟搴�
-            this.crnRebackHp(crnProtocol, crnThread);
+//            this.crnRebackHp(crnProtocol, crnThread);
 
         }
 //        News.infoNoLog(""+mark+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂鎵ц瀹屾垚");
@@ -1102,6 +1102,9 @@
                 case 5: x =18; break;
             }
 
+            if(crnProtocol.getCrnNo() != 5){
+                return;
+            }
             // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�3,12
             if (wrkMastMapper.selectWorking(crnProtocol.getCrnNo()) != null) {
                 return;
@@ -2351,6 +2354,9 @@
                 if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) {
                     News.error("{}鍙稬ED鏄剧ず榛樿鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
                 }
+//                if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) {
+//                    News.error("{}鍙稬ED鏄剧ず榛樿鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+//                }
             }
         }
     }
@@ -2954,52 +2960,18 @@
                     log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�2", rgvSlave.getRgvNo());
                     continue;
                 }
-
-                // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅涓�鏃犵墿//rgv鍙敤
-                if (rgvProtocol.getStatusType() == RgvStatusType.IDLE &&
-                    rgvProtocol.getModeType() == RgvModeType.AUTO
-                    && !rgvProtocol.isLoaded1ing()  //鐜板満淇敼锛氬彔鐩樻満锛屼笉婊¢兘绠楁棤鐗╋紝鎬庝箞鍒ゆ柇闇�瑕佽窡鐢垫帶瀵规帴
-                    && rgvProtocol.getTaskNo1()==0
-                        && !rgvProtocol.isLoaded2ing()
-                        && rgvProtocol.getTaskNo2()==0
-                        &&rgvThread.isPakMk()
-                ) {
-                    BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
-
-                    Integer rgvNoOther = basRgvMap.getRgvNoOther((int) rgvProtocol.getRgvNo());
-                    RgvThread rgvThreadOther = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNoOther);
-                    RgvProtocol rgvProtocolOther = rgvThreadOther.getRgvProtocol();
-                    if (rgvProtocolOther == null) {
-                        continue;
-                    }else {
-                        rgvProtocolOther = rgvProtocolOther.clone();
-                    }
-                    if (rgvProtocolOther.getStatusType() == RgvStatusType.IDLE
-                        && rgvProtocolOther.getModeType() == RgvModeType.AUTO
-                        && !rgvProtocolOther.isLoaded1ing()
-                        && rgvProtocolOther.getTaskNo1()==0
-                        && !rgvProtocolOther.isLoaded2ing()
-                        && rgvProtocolOther.getTaskNo2()==0
-                        &&rgvThreadOther.isPakMk()
-                    ){
-                        //瀵瑰伐浣滄。杩涜鍒ゆ柇
-                        basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
-                        if (rgvProtocol.getTaskNo1() >0 && rgvProtocol.getTaskNo1()<=9000){
-                            WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1().intValue());
-                            rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), wrkMastSta.getStaEnd(),"2366");
-                        }else if (rgvProtocol.getTaskNo1() == 0){
-                            rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2366");
-                        }
-
-                    }
-
-
-
+                Integer site = rgvProtocol.getRgvNo() == 1 ? rgvProtocol.getRgvPosI1() : rgvProtocol.getRgvPosI2();
+                if (site == 0) {
+                    continue;
                 }
+                rgvSlave.setNowRoute(site); // 鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
+                if (!basRgvMapService.updateById(rgvSlave)) {
+                    log.error("灏忚溅鏇存柊鍦板浘澶辫触");
+                }
+
             }
         }catch (Exception e){
-            log.error("4109琛屾墽琛屽皬杞﹀垵濮嬪寲浠诲姟涓嬪彂澶辫触");
-            log.error("4109琛�"+e);
+            log.error("灏忚溅鏇存柊鍦板浘澶辫触");
         }
     }
 
@@ -3330,6 +3302,7 @@
                     }
                     BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
                     basRgvMap.setNowRoute(rgvProtocol.getRgvNo() == 1?rgvProtocol.getRgvPosI1():rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
+                    basRgvMapService.updateById(basRgvMap);
                     Integer workNo = 0;
                     if(rgvProtocol.getTaskNo2() > 9999|| rgvProtocol.getTaskNo1() > 9999){
                         workNo = rgvProtocol.getTaskNo1() !=0 ? rgvProtocol.getTaskNo1() : rgvProtocol.getTaskNo2();
@@ -3396,6 +3369,7 @@
                     }
                     BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
                     basRgvMap.setNowRoute(rgvProtocol.getRgvNo() == 1?rgvProtocol.getRgvPosI1():rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
+                    basRgvMapService.updateById(basRgvMap);
                     Integer workNo = 0;
                     if(basRgv.getPakToCrn().equals("1")){
                         workNo = rgvProtocol.getTaskNo1() !=0 ? rgvProtocol.getTaskNo1():rgvProtocol.getTaskNo2();  //姝e父鎯呭喌鍑哄簱鏀捐揣浼樺厛宸ヤ綅1鏀�
@@ -3491,11 +3465,11 @@
                 basRgvService.updateById(basRgv);
                 rgvThread.setPakMk(true);
             }
-            List<WrkMastSta> wrkMastStaPakingNum = wrkMastStaService.selectPakingWrkNum(basRgv.getRgvNo());
-            if(wrkMastStaPakingNum.size() <1){
-                basRgv.setPakAll("1"); //闃叉鏃犲叾浠栦换鍔℃椂锛岃繛缁彇璐ф棤娉曟仮澶�
-                basRgvService.updateById(basRgv);
-            }
+//            List<WrkMastSta> wrkMastStaPakingNum = wrkMastStaService.selectPakingWrkNum(basRgv.getRgvNo());
+//            if(wrkMastStaPakingNum.size() <1){
+//                basRgv.setPakAll("1"); //闃叉鏃犲叾浠栦换鍔℃椂锛岃繛缁彇璐ф棤娉曟仮澶�
+//                basRgvService.updateById(basRgv);
+//            }
 
         }
     }
@@ -4714,7 +4688,7 @@
                     // 鍒ゆ柇閲嶅宸ヤ綔妗�
                     List<BasAgvMast> basAgvMastList = basAgvMastService.selectList(new EntityWrapper<BasAgvMast>().eq("source_sta_no", outStaAgv.getStaNo()));
                     if (!basAgvMastList.isEmpty()) {
-                        News.info("{}鍙风珯鐐瑰瓨鍦ㄤ换鍔℃墽琛屼腑锛岃绛夊緟浠诲姟鎵ц瀹屾瘯锛歿}", outStaAgv.getStaNo(), barcode);
+//                        News.info("{}鍙风珯鐐瑰瓨鍦ㄤ换鍔℃墽琛屼腑锛岃绛夊緟浠诲姟鎵ц瀹屾瘯锛歿}", outStaAgv.getStaNo(), barcode);
                         continue;
                     }
 
@@ -4764,6 +4738,65 @@
         }
     }
 
+    /*
+     * agv浠诲姟鐢熸垚  Empty
+     * */
+    public synchronized void agvTaskCreateR() {
+        // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            // 閬嶅巻鍑哄簱鍙�
+            for (DevpSlave.Sta inStaAgv : devp.getInStaAgv())  {
+                // 鑾峰彇鍏ュ簱绔欎俊鎭�
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                StaProtocol staProtocol = devpThread.getStation().get(inStaAgv.getStaNo());
+                if (staProtocol == null) {
+                    continue;
+                } else {
+                    staProtocol = staProtocol.clone();
+                }
+
+                // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+                if (staProtocol.isLoading()){
+                    continue;
+                }
+
+                if (staProtocol.isAutoing()) {
+
+                    // 鍒ゆ柇閲嶅宸ヤ綔妗�
+                    List<BasAgvMast> basAgvMastList = basAgvMastService.selectList(new EntityWrapper<BasAgvMast>().eq("sta_no", inStaAgv.getStaNo()));
+                    if (!basAgvMastList.isEmpty()) {
+                        News.info("{}鍙风珯鐐瑰瓨鍦ㄤ换鍔℃墽琛屼腑锛岀瓑寰呬换鍔℃墽琛屽畬姣�!!!", inStaAgv.getStaNo());
+                        continue;
+                    }
+                    // 浠诲姟鐢熸垚鍖� --------------------------------------------------------------------------
+
+                    BasAgvMast basAgvMast = new BasAgvMast();
+                    try {
+                        List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<LocMast>()
+                                .eq("loc_sts", "R")
+                                .ge("row1", 23)
+                                .le("row1", 32)
+                                .orderBy("io_time",true)
+                        );
+
+                        for (LocMast locMast : locMastList){
+                            basAgvMast.setTaskNo(inStaAgv.getStaNo());
+                            basAgvMast.setSourceLocNo(locMast.getLocNo());
+                            basAgvMast.setStaNo(inStaAgv.getStaNo());
+                            basAgvMast.setDevpId(devp.getId());
+                            basAgvMast.setIoType(0);//AGV搴撲綅==銆嬭緭閫佺嚎绔欑偣  0
+                            basAgvMastService.insert(basAgvMast);
+                            break;
+                        }
+
+                    } catch (Exception e) {
+                        News.error(JSON.toJSONString(e.getMessage()));
+                    }
+                }
+            }
+        }
+    }
+
 
     /*
      * agv浠诲姟涓嬪彂:AGV搴撲綅==銆嬭緭閫佺嚎绔欑偣

--
Gitblit v1.9.1