From 405a34a73ddad9367c1a40b03a5f8cec914ad683 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 03 七月 2023 13:30:22 +0800
Subject: [PATCH] 命令下发保存二进制报文

---
 src/main/java/com/zy/core/thread/ShuttleThread.java |   45 ++++++++++++++++++++++++---------------------
 1 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/ShuttleThread.java b/src/main/java/com/zy/core/thread/ShuttleThread.java
index 3f5bacd..7b303b0 100644
--- a/src/main/java/com/zy/core/thread/ShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/ShuttleThread.java
@@ -279,7 +279,6 @@
             News.error("鍥涘悜绌挎杞﹀啓鍏ュ懡浠や负绌�");
             return false;
         }
-
         BasShuttleService shuttleService = SpringUtils.getBean(BasShuttleService.class);
         if (shuttleService == null) {
             News.error("绯荤粺閿欒");
@@ -291,8 +290,27 @@
             News.error("鍥涘悜绌挎杞︿笉瀛樺湪");
             return false;
         }
-
         command.setShuttleNo(slave.getId().shortValue());
+        short[] array = getCommandArr(command);//鑾峰彇鍛戒护鎶ユ枃
+        OperateResult result = modbusTcpNet.Write("0", array);;
+        if (result != null && result.IsSuccess) {
+            try {
+                Thread.sleep(3000);//鍛戒护涓嬪彂鍚庝紤鐪�1s
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            }
+            News.info("鍥涘悜绌挎杞﹀懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
+            OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
+            return true;
+        } else {
+            OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ洓鍚戠┛姊溅plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+            News.error("鍐欏叆鍥涘悜绌挎杞lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+            return false;
+        }
+    }
+
+    //鑾峰彇鍛戒护鎶ユ枃
+    private short[] getCommandArr(ShuttleCommand command) {
         // 寮�濮嬩换鍔�
         short[] array = new short[17];
         //鎺у埗鎸囦护瀛�
@@ -326,7 +344,6 @@
             array[7] = middleToDistDistances[1];
         }
 
-        array[8] = basShuttle.getRunSpeed().shortValue();//鍥涘悜绌挎杞﹁繍琛岄�熷害锛屼粠绯荤粺鏁版嵁搴撹鍑�
         if (command.getRunDirection() != null) {
             //灏忚溅杩愯鏂瑰悜
             array[8] = command.getRunDirection();
@@ -363,25 +380,9 @@
             //灏忚溅闆疯揪澶囩敤
             array[15] = command.getRadarTmp();
         }
-
         //鎸囦护缁撴潫浣�
         array[16] = command.getCommandEnd();
-
-        OperateResult result = modbusTcpNet.Write("0", array);;
-        if (result != null && result.IsSuccess) {
-            try {
-                Thread.sleep(3000);//鍛戒护涓嬪彂鍚庝紤鐪�1s
-            } catch (InterruptedException e) {
-                throw new RuntimeException(e);
-            }
-            News.info("鍥涘悜绌挎杞﹀懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
-            OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
-            return true;
-        } else {
-            OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ洓鍚戠┛姊溅plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-            News.error("鍐欏叆鍥涘悜绌挎杞lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
-            return false;
-        }
+        return array;
     }
 
     /**
@@ -834,6 +835,7 @@
             //淇濆瓨鏁版嵁鍒版暟鎹簱鍋氭祦姘�
             BasShuttleOptService shuttleOptService = SpringUtils.getBean(BasShuttleOptService.class);
             if (shuttleOptService != null) {
+                short[] commandArr = getCommandArr(command);//鑾峰彇鍛戒护鎶ユ枃
                 BasShuttleOpt opt = new BasShuttleOpt(
                         assignCommand.getTaskNo().intValue(),
                         assignCommand.getShuttleNo().intValue(),
@@ -844,7 +846,8 @@
                         null,
                         null,
                         null,
-                        JSON.toJSONString(command)
+                        JSON.toJSONString(command),
+                        JSON.toJSONString(commandArr)
                 );
                 shuttleOptService.insert(opt);
             }

--
Gitblit v1.9.1