From b3814333d786324bb81cca7d1bcf5ac8f2f1a7cf Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 23 七月 2025 08:35:33 +0800
Subject: [PATCH] 保存一个版本

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/FaultProcessor.java |   40 ++++++++++++++++++++++++++--------------
 1 files changed, 26 insertions(+), 14 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/FaultProcessor.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/FaultProcessor.java
index 00eed5b..8f4bd5e 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/FaultProcessor.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/FaultProcessor.java
@@ -44,25 +44,37 @@
             AgvErrorType errorType = AgvErrorType.query(agv_04_up.getHexFaultId());
 
             Long agvId = agvService.getAgvId(vehicle);
+            VehFaultRec vehFaultRec = vehFaultRecService.getTopVehFaultRec(agvId, String.valueOf(agv_04_up.getFaultId()));
+            if (null == vehFaultRec) {
+                vehFaultRec = new VehFaultRec();
+                vehFaultRec.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
+                vehFaultRec.setAgvId(agvId);
+                vehFaultRec.setFaultNo(String.valueOf(agv_04_up.getFaultId()));
+                vehFaultRec.setFaultHex(agv_04_up.getHexFaultId());
+                vehFaultRec.setFaultName(null != errorType ? errorType.desc : "undefined");
+                vehFaultRec.setFaultLev(agv_04_up.getFaultLevel());
+                vehFaultRec.setFaultData(GsonUtils.toJson(Cools.add("data1", agv_04_up.getData1()).add("data2", agv_04_up.getData2())));
+                vehFaultRec.setHappenTime(new Date());
+                vehFaultRec.setProtocol(RadixTools.bytesToHexStr(agv_04_up.writeToBytes()));
 
-            VehFaultRec vehFaultRec = new VehFaultRec();
-            vehFaultRec.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
-            vehFaultRec.setAgvId(agvId);
-            vehFaultRec.setFaultNo(String.valueOf(agv_04_up.getFaultId()));
-            vehFaultRec.setFaultHex(agv_04_up.getHexFaultId());
-            vehFaultRec.setFaultName(null != errorType ? errorType.desc : "undefined");
-            vehFaultRec.setFaultLev(agv_04_up.getFaultLevel());
-            vehFaultRec.setFaultData(GsonUtils.toJson(Cools.add("data1", agv_04_up.getData1()).add("data2", agv_04_up.getData2())));
-            vehFaultRec.setHappenTime(new Date());
-            vehFaultRec.setProtocol(RadixTools.bytesToHexStr(agv_04_up.writeToBytes()));
-
-            if (!vehFaultRecService.save(vehFaultRec)) {
-                log.error("{}鍙疯溅杈嗘晠闅滐紒璁板綍鏁呴殰淇℃伅澶辫触......", dto.getVehicle());
+                if (!vehFaultRecService.save(vehFaultRec)) {
+                    log.error("{}鍙疯溅杈嗘晠闅滐紒璁板綍鏁呴殰淇℃伅澶辫触......", dto.getVehicle());
+                }
+            } else {
+                vehFaultRec.setUpdateTime(new Date());
+                if (!vehFaultRecService.updateById(vehFaultRec)) {
+                    log.error("{}鍙疯溅杈嗘晠闅滐紒鏇存柊鏁呴殰淇℃伅澶辫触......", dto.getVehicle());
+                }
             }
-
         } catch (Exception e) {
             log.error("FaultProcessor", e);
         }
     }
 
+    @Async
+    public void reset(Long agvId) {
+        vehFaultRecService.resetError(agvId);
+    }
+
+
 }

--
Gitblit v1.9.1