From 2f4e2a7a7e42c789a3129bffdb6ad307eff83f12 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 05 一月 2026 15:00:44 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 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 155d1b3..f9b28d0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -43,6 +43,8 @@
 import com.zy.core.thread.LedThread;
 import com.zy.core.thread.RgvThread;
 import com.zy.core.thread.SiemensDevpThread;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -77,6 +79,8 @@
     private WaitPakinMapper waitPakinMapper;
     @Autowired
     private LocMastService locMastService;
+    @Autowired
+    private ConfigService configService;
     @Autowired
     private StaDescService staDescService;
     @Autowired
@@ -4656,34 +4660,25 @@
             rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
             RgvTaskStatusType type;
             Integer targetPosition = 0;
+            String typeNo = null;
             if(wrkMastSta.getWrkSts() == 0){
                 type = RgvTaskStatusType.FETCH; //鍙栬揣
                 targetPosition = wrkMastSta.getStaStart();
+                typeNo = "2";
             }else{
                 type = RgvTaskStatusType.PUT; //鏀捐揣
                 targetPosition = wrkMastSta.getStaEnd();
+                typeNo = "3";
             }
-            Date now = new Date();
-            if (targetPosition == 1038) {
-                System.out.println("灏忚溅涓嬪彂鍛戒护鏃堕棿锛�" +
-                        new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(now));
-            }
-            EntityWrapper<BasRgvOpt> entityWrapper = new EntityWrapper<>();
-            entityWrapper.eq("rgv_no", rgvId)
-                    .orderBy("send_time");
-            BasRgvOpt basRgvOpt = basRgvOptService.selectOne(entityWrapper);
+            BasRgvOpt basRgvOpt = basRgvOptService.getBasRgvOpt(rgvId);
             // 闃叉閲嶅涓嬪彂鍛戒护
             if (basRgvOpt != null) {
-                // 鑾峰彇鏈�鏂拌褰曠殑 mode 瀵瑰簲鐨勪换鍔$被鍨�
-                RgvTaskStatusType latestTaskStatus = RgvTaskStatusType.valueOf(basRgvOpt.getMode());
-                // 鍒ゆ柇褰撳墠鍛戒护涓庢渶鏂拌褰曟槸鍚︾浉鍚�
-                if (latestTaskStatus == type && basRgvOpt.getPosSta().equals(wrkMastSta.getWorkSta())) {
+                if (typeNo.equals(basRgvOpt.getMode()) && basRgvOpt.getPosSta().equals(wrkMastSta.getWorkSta())) {
                     // 濡傛灉鏈�鏂拌褰曠殑 mode 鍜� posSta 涓庡綋鍓嶅懡浠ょ浉鍚岋紝璁や负鏄噸澶嶅懡浠�
                     log.error("鍛戒护閲嶅涓嬪彂锛屽綋鍓嶅懡浠や笌鏈�鏂拌褰曠浉鍚岋紝浠诲姟涓嶄笅鍙戯紒");
                     return false;
                 }
             }
-
             rgvCommand.setTaskNo(Math.toIntExact(wrkMastSta.getWrkNo())); // 宸ヤ綅宸ヤ綔鍙�
             rgvCommand.setTaskStatus(type); // 宸ヤ綅浠诲姟妯″紡:  鍙栬揣
             rgvCommand.setTargetPosition(targetPosition);   //宸ヤ綅鐩爣绔欑偣
@@ -5723,6 +5718,9 @@
      * agv浠诲姟鐢熸垚  Empty
      * */
     public synchronized void agvTaskCreateR() {
+
+        Config configAGVAUTOIN = configService.selectConfigByCode("AGVAUTOIN");
+
         // 鏍规嵁杈撻�佺嚎plc閬嶅巻
         for (DevpSlave devp : slaveProperties.getDevp()) {
             // 閬嶅巻鍑哄簱鍙�
@@ -5762,20 +5760,22 @@
                                     .le("row1", 26)
                                     .orderBy("io_time",true)
                             );
-                        }else if(inStaAgv.getStaNo() < 4000){
+                        }else if(inStaAgv.getStaNo() < 4000 && Boolean.parseBoolean(configAGVAUTOIN.getValue())){
                             locMastList = locMastService.selectList(new EntityWrapper<LocMast>()
                                     .eq("loc_sts", "R")
                                     .ge("row1", 28)
                                     .le("row1", 31)
                                     .orderBy("io_time",true));
                             floorNo = 2;
-                        }else{
+                        }else if(inStaAgv.getStaNo() < 5000){
                             locMastList = locMastService.selectList(new EntityWrapper<LocMast>()
                                     .eq("loc_sts", "R")
                                     .ge("row1", 32)
                                     .le("row1", 38)
                                     .orderBy("io_time",true));
                             floorNo = 3;
+                        }else{
+                            continue;
                         }
 
                         for (LocMast locMast : locMastList){

--
Gitblit v1.9.1