From ccdcd79a48aabb15d9ce9525a3535c01e69475c8 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期五, 31 十月 2025 11:34:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jshdwcs' into jshdwcs

---
 src/main/java/com/zy/core/model/DevpSlave.java              |    1 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   59 +++++++++++++++++++++++++++++
 src/main/java/com/zy/core/MainProcess.java                  |    5 +-
 src/main/resources/application.yml                          |   15 +++++++
 4 files changed, 78 insertions(+), 2 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..498d42e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4764,6 +4764,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搴撲綅==銆嬭緭閫佺嚎绔欑偣
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index ae31c63..7d05137 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -170,8 +170,9 @@
                 mainService.agvTaskAssignment3();//0===銆�1  杈撻�佺嚎绔欑偣==銆嬭緭閫佺嚎绔欑偣  3
 
 
-                mainService.agvTaskCreateFull();//浠诲姟鐢熸垚
-                mainService.agvTaskCreateEmpty();//浠诲姟鐢熸垚
+                mainService.agvTaskCreateFull();//浠诲姟鐢熸垚  鍑哄簱鍙�==銆婣GV搴撲綅
+                mainService.agvTaskCreateEmpty();//浠诲姟鐢熸垚  鍑哄簱鍙�==銆婣GV搴撲綅
+                mainService.agvTaskCreateR();//浠诲姟鐢熸垚  AGV搴撲綅==銆嬪叆搴撳彛
 
             } catch (Exception e) {
                 e.printStackTrace();
diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java
index 0a0e7ca..ac84e0d 100644
--- a/src/main/java/com/zy/core/model/DevpSlave.java
+++ b/src/main/java/com/zy/core/model/DevpSlave.java
@@ -20,6 +20,7 @@
     private Integer slot;
 
     private List<Sta> inSta = new ArrayList<>();
+    private List<Sta> inStaAgv = new ArrayList<>();
 
     private List<Sta> emptyInSta = new ArrayList<>();
 
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 7f5307a..6ef6c0f 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -474,6 +474,10 @@
       staNo: 1041
       led: ${wcs-slave.led[0].id}
 
+    outStaAgvFull[0]:
+      staNo: 1041
+      led: ${wcs-slave.led[0].id}
+
 
   # 杈撻�佺嚎1
   devp[1]:
@@ -531,6 +535,17 @@
     outSta[1]:
       staNo: 4006
       led: ${wcs-slave.led[5].id}
+
+    # 鍏ュ簱鍙�1
+    inStaAgv[0]:
+      staNo: 2034
+      led: ${wcs-slave.led[5].id}
+    outStaAgvEmpty[0]:
+      staNo: 2033
+      led: ${wcs-slave.led[5].id}
+    outStaAgvFull[0]:
+      staNo: 4006
+      led: ${wcs-slave.led[5].id}
 #    outSta[2]:
 #      staNo: 156
 #      led: ${wcs-slave.led[4].id}

--
Gitblit v1.9.1