From 5d1df2b22fd4e0b31f80385664393cd3d73a21ed Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 19 八月 2025 09:58:39 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/core/thread/RgvThread.java              |   44 ++++++----------------
 src/main/java/com/zy/asrs/controller/RgvController.java      |    7 +++
 src/main/java/com/zy/asrs/utils/Utils.java                   |   48 ++++-------------------
 src/main/webapp/views/index.html                             |    3 -
 src/main/java/com/zy/asrs/domain/param/RingThroughParam.java |    2 +
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java  |    2 -
 6 files changed, 30 insertions(+), 76 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 6bcaa10..62e85d8 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -355,12 +355,14 @@
 //            double[] doubles = Utils.RingThroughXY2(perimeter, NumUtils.GetRandomIntInRange(183));
 //            double[] doubles = Utils.RingThroughXYRgv(perimeter, perimeter-rgvProtocol.RgvPos.doubleValue());
             double[] doubles = Utils.getRgvPosNew(perimeter, rgvProtocol.RgvPos.doubleValue());
-//            double[] doubles = Utils.RingThroughXY2(183.0, 100*i );
 
             ringThroughParam.setValueX(doubles[0]);
             ringThroughParam.setValueY(doubles[1]);
             ringThroughParam.setModeColor(rgvProtocol.modeType.color);
             ringThroughParam.setStatusColor(rgvProtocol.statusType.color);
+            if (rgvProtocol.getModeType() == RgvModeType.AUTO){
+                ringThroughParam.setAnimation(2);
+            }
             result.add(ringThroughParam);
         }
         return R.ok().add(result);
@@ -373,6 +375,9 @@
         List<RingThroughParam> result = new ArrayList<>();
         List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<>());
         for (BasDevpPosition basDevpPosition : basDevpPositions){
+            if (basDevpPosition.getDevRegion() == 0){
+                continue;
+            }
             RingThroughParam ringThroughParam = new RingThroughParam();
 
             ringThroughParam.setModeColor("#FFFFFF");
diff --git a/src/main/java/com/zy/asrs/domain/param/RingThroughParam.java b/src/main/java/com/zy/asrs/domain/param/RingThroughParam.java
index f920c86..9adcedc 100644
--- a/src/main/java/com/zy/asrs/domain/param/RingThroughParam.java
+++ b/src/main/java/com/zy/asrs/domain/param/RingThroughParam.java
@@ -14,4 +14,6 @@
     private String modeColor;
 
     private String statusColor;
+
+    private int animation = 0;//鍏夋晥
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 860e32e..075ff8b 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -3,7 +3,6 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.common.R;
-import com.zy.asrs.domain.param.RingThroughParam;
 import com.zy.asrs.entity.BasDevpPosition;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.entity.param.WcsDataSynchronizationParam;
@@ -14,7 +13,6 @@
 import com.zy.asrs.service.OpenService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.asrs.utils.SortTheExecutionOfTheCarUtil;
-import com.zy.asrs.utils.Utils;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.RgvSlave;
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 5f467fb..0b35a96 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -145,14 +145,12 @@
             case 110:
             case 111:
                 rgvPosNew[0] = rgvPosNew[0] - 70;
-                rgvPosNew[1] = rgvPosNew[1];
                 break;
             case 112:
             case 113:
             case 114:
             case 115:
                 rgvPosNew[0] = rgvPosNew[0] + 50;
-                rgvPosNew[1] = rgvPosNew[1];
                 break;
             case 116:
             case 117:
@@ -172,11 +170,9 @@
             case 131:
             case 132:
             case 133:
-                rgvPosNew[0] = rgvPosNew[0];
                 rgvPosNew[1] = rgvPosNew[1] + 50;
                 break;
             case 134:
-                rgvPosNew[0] = rgvPosNew[0];
                 rgvPosNew[1] = rgvPosNew[1] - 70;
                 break;
         }
@@ -184,48 +180,22 @@
 
     }
     public static double[] getRgvPosNew(double a, double b) {
-        // 瀹氫箟鍖洪棿鍙婂搴旂殑鍑犱綍鍙傛暟锛堟柊澧炲渾寮у弬鏁帮級
-        // 缁撴瀯锛歿start, end, 绫诲瀷, 鍙傛暟...}
-        // 绫诲瀷璇存槑锛�0-鐩寸嚎锛�1-鍦嗗姬锛堥渶瑕佸渾蹇冨潗鏍囷級
         Object[][] intervals = {
+//                // 寮х嚎鍖洪棿锛堟嫄鐐�116-115锛夛紝鎺у埗鐐瑰亣璁句负(1125, 882)
+//                {680103, 731550, 1115, 882, 1215, 775, 1125, 882},
                 // 鐩寸嚎鍖洪棿锛�0-134400锛�
 //                {璧风偣, 缁堢偣, 绫诲瀷, x1, y1, x2, y2,
                 {0.0, 120000.0, 0, 390.0, 750.0, 60.0, 750.0},
-//                // 寮х嚎鍖洪棿锛侊紒锛佺洿绾垮尯闂达紒锛侊紒
-//                {120000.0, 127500.0, 2, 60.0, 750.0, 10.0, 800.0, 10.0, 750.0}, // 淇缁堢偣鍧愭爣
-                {120000.0, 127500.0, 2, 60.0, 750.0, 10.0, 800.0, 60.0, 800.0}, // 淇缁堢偣鍧愭爣
-//                {120000.0, 127500.0, 0, 25.0, 775.0, 45.0, 822.0},
-                // 寮х嚎鍖洪棿锛侊紒锛佺洿绾垮尯闂达紒锛侊紒
-//                {127500.0, 134900.0, 2, 10.0, 800.0, 60.0, 850.0, 10.0, 850.0}, // 淇缁堢偣鍧愭爣
-                {127500.0, 134900.0, 2, 10.0, 800.0, 60.0, 850.0, 60.0, 800.0}, // 淇缁堢偣鍧愭爣
-//                {127500.0, 134900.0, 0, 45.0, 822.0, 65.0, 882.0},
-                // 鐩寸嚎鍖洪棿
-                {134900.0, 680103.0,0, 60.0, 850.0, 1100.0, 850.0},
-
-//                // 寮х嚎鍖洪棿锛堟嫄鐐�116-115锛夛紝鎺у埗鐐瑰亣璁句负(1125, 882)
-//                {680103, 731550, 1115, 882, 1215, 775, 1125, 882},
-
                 // 鍦嗗姬鍖洪棿锛堟嫄鐐�116-115锛夋柊鍙傛暟锛氬渾蹇�(1115,775)
-//                {680103.0, 731550.0, 2, 1100.0, 850.0, 1200.0, 750.0, 1200.0, 850.0}, // 淇缁堢偣鍧愭爣
-                {680103.0, 731550.0, 2, 1100.0, 850.0, 1200.0, 750.0, 1100.0, 750.0}, // 淇缁堢偣鍧愭爣
-
-                // 鐩寸嚎鍖洪棿
+                {120000.0, 127500.0, 2, 60.0, 750.0, 10.0, 800.0, 60.0, 800.0}, // 淇缁堢偣鍧愭爣
+                {127500.0, 134900.0, 2, 10.0, 800.0, 60.0, 850.0, 60.0, 800.0},
+                {134900.0, 680103.0,0, 60.0, 850.0, 1100.0, 850.0},
+                {680103.0, 731550.0, 2, 1100.0, 850.0, 1200.0, 750.0, 1100.0, 750.0},
                 {731550.0, 972950.0,0, 1200.0, 750.0, 1200.0, 100.0},
-                // 寮х嚎鍖洪棿锛堟嫄鐐�112-椤剁偣锛夛紝鎺у埗鐐瑰亣璁句负(1215, 80)锛侊紒锛佺洿绾垮尯闂达紒锛侊紒
-//                {972950.0, 1016193.0, 2, 1200.0, 100.0, 1150.0, 50.0, 1200.0, 50.0}, // 淇缁堢偣鍧愭爣
-                {972950.0, 1016193.0, 2, 1200.0, 100.0, 1150.0, 50.0, 1150.0, 100.0}, // 淇缁堢偣鍧愭爣
-//                {972950.0, 1016193.0,0, 1215.0, 125.0, 1164.0, 80.0},
-                // 寮х嚎鍖洪棿锛堟嫄鐐�-椤剁偣-111锛夛紝鎺у埗鐐瑰亣璁句负(1164, 125)锛侊紒锛佺洿绾垮尯闂达紒锛侊紒
-//                {1016193.0, 1063563.0, 2, 1150.0, 50.0, 1100.0, 100.0, 1100.0, 50.0}, // 淇缁堢偣鍧愭爣
-                {1016193.0, 1063563.0, 2, 1150.0, 50.0, 1100.0, 100.0, 1150.0, 100.0}, // 淇缁堢偣鍧愭爣
-//                {1016193.0, 1063563.0,0, 1164.0, 80.0, 1115.0, 125.0},
-                // 鐩寸嚎鍖洪棿
+                {972950.0, 1016193.0, 2, 1200.0, 100.0, 1150.0, 50.0, 1150.0, 100.0},
+                {1016193.0, 1063563.0, 2, 1150.0, 50.0, 1100.0, 100.0, 1150.0, 100.0},
                 {1063563.0, 1315250.0,0, 1100.0, 100.0, 1100.0, 700.0},
-                // 寮х嚎鍖洪棿锛堟嫄鐐�101-杞集锛夛紝鎺у埗鐐瑰亣璁句负(1115, 750)
-//                {1315250.0, 1322829.0, 2, 1100.0, 700.0, 1050.0, 750.0, 1100.0, 750.0}, // 淇缁堢偣鍧愭爣
-                {1315250.0, 1322829.0, 2, 1100.0, 700.0, 1050.0, 750.0, 1050.0, 700.0}, // 淇缁堢偣鍧愭爣
-//                {1315250.0, 1322829.0,0, 1115.0, 720.0, 1100.0, 750.0},
-                // 鐩寸嚎鍖洪棿
+                {1315250.0, 1322829.0, 2, 1100.0, 700.0, 1050.0, 750.0, 1050.0, 700.0},
                 {1322829.0, 1737000.0,0, 1050.0, 750.0, 390.0, 750.0},
         };
 
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index a7ef7c1..bc3d44d 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -54,7 +54,6 @@
     private boolean resetFlag2 = false;
     private boolean connectRgv = false;
     private boolean alarmChangeSign = false;
-    private int rgvIII = 1;
 
     public RgvThread(RgvSlave slave) {
         this.slave = slave;
@@ -63,7 +62,6 @@
     @Override
     @SuppressWarnings("InfiniteLoopStatement")
     public void run() {
-        rgvIII = this.slave.getId();
         connectRgv = this.connect();
         while(!connectRgv){
             try {
@@ -226,31 +224,19 @@
         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 initRgv() {
-//        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);
-//        rgvProtocol.setRgvPos(slave.getId()*100000L);
-//        rgvProtocol.setTaskNo2((short)0);
-//        rgvProtocol.setStatus2((short)0);
-//        rgvProtocol.setLoaded2((short)0);
-//        rgvProtocol.setAlarm((short)0);
-//        rgvProtocol.setxSpeed((short) 0);
-//        rgvProtocol.setxDistance((short) 0);
-//        rgvProtocol.setxDuration((short) 0);
-//    }
 
     @Override
     public boolean connect() {
@@ -315,12 +301,6 @@
                 rgvProtocol.setAlarmList(alarmList);
 
 //                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()));
 
 
diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html
index ab00cb4..e415f32 100644
--- a/src/main/webapp/views/index.html
+++ b/src/main/webapp/views/index.html
@@ -84,8 +84,6 @@
             /* 3D鏁堟灉 */
             transform: translateZ(0);
             border: 10px solid rgba(255, 255, 255, 0.8);
-            /* 娣诲姞娴佸厜鍔ㄧ敾 */
-            animation: pulse 2s infinite;
         }
 
         @keyframes pulse {
@@ -267,6 +265,7 @@
             <div v-for="bus in tableDataRgv" class="bus" :style="{
                 top: convertToCSSPositionWithOffset(bus.valueX, bus.valueY).y + 'px',
                 left: convertToCSSPositionWithOffset(bus.valueX, bus.valueY).x + 'px',
+                animation: 'pulse ' +  bus.animation + 's infinite',
                 borderColor: bus.modeColor, backgroundColor: bus.statusColor}">{{ bus.index }}
             </div>
 

--
Gitblit v1.9.1