From d074cb16f7b3ba11363766dd78802da60f4ec07d Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期四, 23 四月 2026 09:39:47 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/core/thread/RgvThread.java |   94 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 65 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 5e213cf..0f879e2 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -5,7 +5,7 @@
 import HslCommunication.Profinet.Siemens.SiemensPLCS;
 import HslCommunication.Profinet.Siemens.SiemensS7Net;
 import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.core.common.DateUtils;
 import com.core.common.SpringUtils;
 import com.zy.asrs.entity.BasCircularShuttle;
@@ -57,6 +57,7 @@
     private boolean resetFlag2 = false;
     private boolean connectRgv = false;
     private boolean alarmChangeSign = false;
+    private boolean csSign = true;//娴嬭瘯鏍囪
 
     public RgvThread(RgvSlave slave) {
         this.slave = slave;
@@ -156,7 +157,7 @@
                     try {
                         // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
                         BasCircularShuttleService basCircularShuttleService = SpringUtils.getBean(BasCircularShuttleService.class);
-                        BasCircularShuttle basCircularShuttle = basCircularShuttleService.selectOne(new EntityWrapper<BasCircularShuttle>().eq("rgv_no",  slave.getId()));
+                        BasCircularShuttle basCircularShuttle = basCircularShuttleService.getOne(new QueryWrapper<BasCircularShuttle>().eq("rgv_no",  slave.getId()));
                         if (basCircularShuttle.getStatus() != 0){
                             continue;
                         }
@@ -210,34 +211,28 @@
      * 鍒濆鍖朢GV鐘舵��
      */
     private void initRgv() {
+       if (csSign){
+           initRgvCS();
+       } else {
+           initRgvT();
+       }
+    }
+
+    /**
+     * 鍒濆鍖朢GV鐘舵��
+     */
+    private void initRgvT() {
         if (null == rgvProtocol) {
             rgvProtocol = new RgvProtocol();
         }
         rgvProtocol.setRgvNo(slave.getId());
-//        rgvProtocol.setMode((short) -1);
-//        rgvProtocol.setStatus((short)-1);
-//        rgvProtocol.setTaskNo1((short)0);
-//        rgvProtocol.setStatus1((short)-1);
-//        rgvProtocol.setLoaded1((short)0);
-//        rgvProtocol.setWalkPos((short)0);
-//        rgvProtocol.setRgvPos(0L);
-//        rgvProtocol.setTaskNo2((short)0);
-//        rgvProtocol.setStatus2((short)-1);
-//        rgvProtocol.setLoaded2((short)0);
-//        rgvProtocol.setAlarm((short)0);
-//        rgvProtocol.setxSpeed((short) 0);
-//        rgvProtocol.setxDistance((short) 0);
-//        rgvProtocol.setxDuration((short) 0);
-        rgvProtocol.setMode((short) 3);
-        rgvProtocol.setStatus((short)0);
+        rgvProtocol.setMode((short) -1);
+        rgvProtocol.setStatus((short)-1);
         rgvProtocol.setTaskNo1((short)0);
-        rgvProtocol.setStatus1((short)0);
+        rgvProtocol.setStatus1((short)-1);
         rgvProtocol.setLoaded1((short)0);
         rgvProtocol.setWalkPos((short)0);
-        if (rgvProtocol.getRgvPos()==null ||  rgvProtocol.getRgvPos()==0){
-            rgvProtocol.setRgvPos(1L+rgvProtocol.getRgvNo()*10000);
-        }
-        rgvProtocol.setRgvPos(rgvProtocol.getRgvPos()+1000);
+        rgvProtocol.setRgvPos(0L);
         rgvProtocol.setTaskNo2((short)0);
         rgvProtocol.setStatus2((short)-1);
         rgvProtocol.setLoaded2((short)0);
@@ -245,6 +240,47 @@
         rgvProtocol.setxSpeed((short) 0);
         rgvProtocol.setxDistance((short) 0);
         rgvProtocol.setxDuration((short) 0);
+        log.error("杩炴帴涓柇锛歊GV鍙凤細"+slave.getId());
+        try {
+            // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
+            BasRgvService basRgvService = SpringUtils.getBean(BasRgvService.class);
+            BasRgv basRgv = new BasRgv();
+            basRgv.setRgvNo(slave.getId());
+            basRgv.setRgvSts((int)rgvProtocol.getMode());
+            basRgv.setLoaded2(rgvProtocol.getLoaded2().intValue());
+            if (!basRgvService.updateById(rgvProtocol.toSqlModel(basRgv))){
+                log.error("RGV plc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
+            }
+        } catch (Exception ignore) {
+        }
+    }
+
+    /**
+     * 鍒濆鍖朢GV鐘舵��
+     */
+    private void initRgvCS() {
+        if (null == rgvProtocol) {
+            rgvProtocol = new RgvProtocol();
+            rgvProtocol.setRgvNo(slave.getId());
+            rgvProtocol.setMode((short) 3);
+            rgvProtocol.setStatus((short)0);
+            rgvProtocol.setTaskNo1((short)0);
+            rgvProtocol.setStatus1((short)0);
+            rgvProtocol.setLoaded1((short)0);
+            rgvProtocol.setWalkPos((short)0);
+            if (rgvProtocol.getRgvPos()==null ||  rgvProtocol.getRgvPos()==0){
+                rgvProtocol.setRgvPos(1L+rgvProtocol.getRgvNo()*10000);
+            }
+//        rgvProtocol.setRgvPos(rgvProtocol.getRgvPos()+1000);
+            rgvProtocol.setRgvPos(rgvProtocol.getRgvPos());
+            rgvProtocol.setTaskNo2((short)0);
+            rgvProtocol.setStatus2((short)-1);
+            rgvProtocol.setLoaded2((short)0);
+            rgvProtocol.setAlarm((short)0);
+            rgvProtocol.setxSpeed((short) 0);
+            rgvProtocol.setxDistance((short) 0);
+            rgvProtocol.setxDuration((short) 0);
+        }
 //        log.error("杩炴帴涓柇锛歊GV鍙凤細"+slave.getId());
         try {
             // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
@@ -340,7 +376,7 @@
                         if (!alarmChangeSign && !alarmList.isEmpty()){
                             BasRgvErrLogService basRgvErrLogService = SpringUtils.getBean(BasRgvErrLogService.class);
                             BasRgvErrLog basRgvErrLog = new BasRgvErrLog(rgvProtocol.getAlarmList(), rgvProtocol.getTaskNo1(), rgvProtocol.getRgvNo());
-                            basRgvErrLogService.insert(basRgvErrLog);
+                            basRgvErrLogService.save(basRgvErrLog);
                         }
                     } catch (Exception e){
                         log.error("RGV寮傚父淇℃伅淇濆瓨澶辫触锛侊紒");
@@ -371,7 +407,7 @@
             BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class);
             BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol.getTaskNo1().intValue(), rgvProtocol.getRgvNo(), rgvProtocol.getRgvPosInt(), command);
             log.info(rgvProtocol.getRgvNo()+"鍙峰皬杞﹀啓鍏ュ懡浠ゅ畾浣嶅�硷細"+rgvProtocol.getRgvPosInt());
-            basRgvOptService.insert(basRgvOpt);
+            basRgvOptService.save(basRgvOpt);
         }catch (Exception e){
             log.error("RGV鍐欏叆鍛戒护淇濆瓨澶辫触锛侊紒");
         }
@@ -380,7 +416,7 @@
         try{
             BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class);
             BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol.getTaskNo1().intValue(), rgvProtocol.getRgvNo(), rgvProtocol.getRgvPosI(), command);
-            basRgvOptService.insert(basRgvOpt);
+            basRgvOptService.save(basRgvOpt);
         }catch (Exception e){
             log.error("RGV鍐欏叆鍛戒护淇濆瓨澶辫触锛侊紒");
         }
@@ -432,7 +468,7 @@
                     new Date(),
                     null
             );
-            bean.insert(basRgvOpt);
+            bean.save(basRgvOpt);
         } catch (Exception ignore) {}
 
         if (result != null && result.IsSuccess) {
@@ -494,7 +530,7 @@
                     new Date(),
                     null
             );
-            bean.insert(basRgvOpt);
+            bean.save(basRgvOpt);
         } catch (Exception ignore) {}
 
         if (result != null && result.IsSuccess) {
@@ -579,7 +615,7 @@
                     new Date(),
                     null
             );
-            bean.insert(basRgvOpt);
+            bean.save(basRgvOpt);
         } catch (Exception ignore) {}
 
         if (result != null && result.IsSuccess) {

--
Gitblit v1.9.1