From 16425e5c62f3e65a0e529d7c0ab851fa49b88ef0 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 18 八月 2025 18:32:19 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/core/thread/RgvThread.java |   23 ++++++++++++++++++-----
 1 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index decfead..a7ef7c1 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -13,6 +13,7 @@
 import com.zy.asrs.service.BasRgvErrLogService;
 import com.zy.asrs.service.BasRgvOptService;
 import com.zy.asrs.service.BasRgvService;
+import com.zy.asrs.utils.NumUtils;
 import com.zy.core.ThreadHandler;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
@@ -53,6 +54,7 @@
     private boolean resetFlag2 = false;
     private boolean connectRgv = false;
     private boolean alarmChangeSign = false;
+    private int rgvIII = 1;
 
     public RgvThread(RgvSlave slave) {
         this.slave = slave;
@@ -61,6 +63,7 @@
     @Override
     @SuppressWarnings("InfiniteLoopStatement")
     public void run() {
+        rgvIII = this.slave.getId();
         connectRgv = this.connect();
         while(!connectRgv){
             try {
@@ -222,6 +225,7 @@
         rgvProtocol.setxSpeed((short) 0);
         rgvProtocol.setxDistance((short) 0);
         rgvProtocol.setxDuration((short) 0);
+        log.error("杩炴帴涓柇锛歊GV鍙凤細"+slave.getId());
     }
 
 //    /**
@@ -290,10 +294,12 @@
                 rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 10));
                 rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 12));
                 rgvProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 14));
-                long poi = siemensNet.getByteTransform().TransInt32(result.Content, 16);
+                int poi = siemensNet.getByteTransform().TransInt32(result.Content, 16);
                 if (poi>0){
-                    rgvProtocol.setRgvPos(poi);
+                    rgvProtocol.setRgvPos((long)poi);
+                    rgvProtocol.setRgvPosInt(poi);
                 }
+                log.info(rgvProtocol.getRgvNo()+"鍙峰皬杞﹁鍙栧畾浣嶅�硷細"+poi);
                 rgvProtocol.setInstantaneousSpeed(Double.valueOf(siemensNet.getByteTransform().TransInt16(resultV.Content, 0)));
                 rgvProtocol.setEndStaM(siemensNet.getByteTransform().TransInt16(resultE.Content, 0));
                 boolean[] statusAlarmList = siemensNet.getByteTransform().TransBool(resultError.Content, 0, 13);
@@ -308,7 +314,13 @@
                 alarmChangeSign = new HashSet<>(alarmList).equals(new HashSet<>(rgvProtocol.getAlarmList()));
                 rgvProtocol.setAlarmList(alarmList);
 
-//                rgvProtocol.setRgvPos((long)NumUtils.GetRandomIntInRange(1737000));
+//                rgvProtocol.setRgvPos((long) NumUtils.GetRandomIntInRange(1737000));
+                rgvProtocol.setRgvPos((long) (10000*rgvIII+rgvProtocol.getRgvNo()*10000));
+                if (rgvProtocol.getRgvPos()>1737000){
+                    rgvIII = rgvProtocol.getRgvNo();
+                    rgvProtocol.setRgvPos((long) (10000*rgvIII+rgvProtocol.getRgvNo()*10000));
+                }
+                rgvIII++;
                 OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
 
 
@@ -355,7 +367,8 @@
     private void rgvOpt(RgvCommand command) {
         try{
             BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class);
-            BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol, command);
+            BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol.getTaskNo1().intValue(), rgvProtocol.getRgvNo(), rgvProtocol.getRgvPosInt(), command);
+            log.info(rgvProtocol.getRgvNo()+"鍙峰皬杞﹀啓鍏ュ懡浠ゅ畾浣嶅�硷細"+rgvProtocol.getRgvPosInt());
             basRgvOptService.insert(basRgvOpt);
         }catch (Exception e){
             log.error("RGV鍐欏叆鍛戒护淇濆瓨澶辫触锛侊紒");
@@ -364,7 +377,7 @@
     private void rgvOpt(Long command) {
         try{
             BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class);
-            BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol, command);
+            BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol.getTaskNo1().intValue(), rgvProtocol.getRgvNo(), rgvProtocol.getRgvPosI(), command);
             basRgvOptService.insert(basRgvOpt);
         }catch (Exception e){
             log.error("RGV鍐欏叆鍛戒护淇濆瓨澶辫触锛侊紒");

--
Gitblit v1.9.1