From 4bf5695d8277ee797d2fec6526c2ce708a553721 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 05 一月 2026 10:40:15 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/system/service/impl/ConfigServiceImpl.java  |    4 ++
 src/main/java/com/zy/system/mapper/ConfigMapper.java             |    3 +
 src/main/resources/mapper/BasRgvOptMapper.xml                    |    9 ++++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java      |   31 ++++++++-------
 src/main/java/com/zy/asrs/mapper/BasRgvOptMapper.java            |    3 +
 src/main/java/com/zy/system/service/ConfigService.java           |    1 
 src/main/java/com/zy/core/MainProcess.java                       |    1 
 src/main/resources/mapper/ConfigMapper.xml                       |    6 ++
 src/main/java/com/zy/asrs/service/BasRgvOptService.java          |    2 
 src/main/java/com/zy/asrs/service/impl/BasRgvOptServiceImpl.java |    4 ++
 10 files changed, 45 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/BasRgvOptMapper.java b/src/main/java/com/zy/asrs/mapper/BasRgvOptMapper.java
index 97fbeb1..f8f5a61 100644
--- a/src/main/java/com/zy/asrs/mapper/BasRgvOptMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/BasRgvOptMapper.java
@@ -3,10 +3,11 @@
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.zy.asrs.entity.BasRgvOpt;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 @Mapper
 @Repository
 public interface BasRgvOptMapper extends BaseMapper<BasRgvOpt> {
-
+    BasRgvOpt getBasRgvOpt(@Param("rgvNo") Integer rgvNo);
 }
diff --git a/src/main/java/com/zy/asrs/service/BasRgvOptService.java b/src/main/java/com/zy/asrs/service/BasRgvOptService.java
index 29dd8eb..be15f38 100644
--- a/src/main/java/com/zy/asrs/service/BasRgvOptService.java
+++ b/src/main/java/com/zy/asrs/service/BasRgvOptService.java
@@ -4,5 +4,5 @@
 import com.zy.asrs.entity.BasRgvOpt;
 
 public interface BasRgvOptService extends IService<BasRgvOpt> {
-
+    BasRgvOpt getBasRgvOpt(Integer rgvNo);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/BasRgvOptServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasRgvOptServiceImpl.java
index fb27c6c..384264f 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasRgvOptServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasRgvOptServiceImpl.java
@@ -9,4 +9,8 @@
 @Service("basRgvOptService")
 public class BasRgvOptServiceImpl extends ServiceImpl<BasRgvOptMapper, BasRgvOpt> implements BasRgvOptService {
 
+    @Override
+    public BasRgvOpt getBasRgvOpt(Integer rgvNo){
+        return this.baseMapper.getBasRgvOpt(rgvNo);
+    }
 }
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..900401f 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,26 @@
             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 +5719,9 @@
      * agv浠诲姟鐢熸垚  Empty
      * */
     public synchronized void agvTaskCreateR() {
+
+        Config configAGVAUTOIN = configService.selectConfigByCode("AGVAUTOIN");
+
         // 鏍规嵁杈撻�佺嚎plc閬嶅巻
         for (DevpSlave devp : slaveProperties.getDevp()) {
             // 閬嶅巻鍑哄簱鍙�
@@ -5762,20 +5761,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){
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 7402bd7..b1d46b0 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -31,6 +31,7 @@
     private int i = 0;
     private int q = 0;
     private boolean rgcWrk = true;
+    private int k = 0;
 
     /**
      * =====>>  寮�濮嬪伐浣�
diff --git a/src/main/java/com/zy/system/mapper/ConfigMapper.java b/src/main/java/com/zy/system/mapper/ConfigMapper.java
index 9ec6ab3..74fb35f 100644
--- a/src/main/java/com/zy/system/mapper/ConfigMapper.java
+++ b/src/main/java/com/zy/system/mapper/ConfigMapper.java
@@ -3,10 +3,11 @@
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.zy.system.entity.Config;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 @Mapper
 @Repository
 public interface ConfigMapper extends BaseMapper<Config> {
-
+    Config selectConfigByCode(@Param("code") String code);
 }
diff --git a/src/main/java/com/zy/system/service/ConfigService.java b/src/main/java/com/zy/system/service/ConfigService.java
index 7e31e9a..2e5cd00 100644
--- a/src/main/java/com/zy/system/service/ConfigService.java
+++ b/src/main/java/com/zy/system/service/ConfigService.java
@@ -4,5 +4,6 @@
 import com.zy.system.entity.Config;
 
 public interface ConfigService extends IService<Config> {
+    Config selectConfigByCode(String code);
 
 }
diff --git a/src/main/java/com/zy/system/service/impl/ConfigServiceImpl.java b/src/main/java/com/zy/system/service/impl/ConfigServiceImpl.java
index 0a8661c..6483e9f 100644
--- a/src/main/java/com/zy/system/service/impl/ConfigServiceImpl.java
+++ b/src/main/java/com/zy/system/service/impl/ConfigServiceImpl.java
@@ -8,5 +8,9 @@
 
 @Service("configService")
 public class ConfigServiceImpl extends ServiceImpl<ConfigMapper, Config> implements ConfigService {
+    @Override
+    public Config selectConfigByCode(String code){
+        return this.baseMapper.selectConfigByCode(code);
+    };
 
 }
diff --git a/src/main/resources/mapper/BasRgvOptMapper.xml b/src/main/resources/mapper/BasRgvOptMapper.xml
index febd94a..2c243a0 100644
--- a/src/main/resources/mapper/BasRgvOptMapper.xml
+++ b/src/main/resources/mapper/BasRgvOptMapper.xml
@@ -24,4 +24,13 @@
 
     </resultMap>
 
+    <select id="getBasRgvOpt" resultMap="BaseResultMap">
+        SELECT TOP 1 *
+        FROM bas_rgv_opt
+        WHERE rgv_no = #{rgvNo}
+        ORDER BY send_time DESC
+    </select>
+
+
+
 </mapper>
diff --git a/src/main/resources/mapper/ConfigMapper.xml b/src/main/resources/mapper/ConfigMapper.xml
index 8673fe5..998340e 100644
--- a/src/main/resources/mapper/ConfigMapper.xml
+++ b/src/main/resources/mapper/ConfigMapper.xml
@@ -12,5 +12,9 @@
         <result column="status" property="status" />
 
     </resultMap>
-
+    <select id="selectConfigByCode" resultMap="BaseResultMap">
+        select top 1 * from sys_config
+        where 1=1
+        and code=#{code}
+    </select>
 </mapper>

--
Gitblit v1.9.1