From 1864f916e0359d0814416cf94feda3a3662ed193 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期五, 05 九月 2025 16:39:29 +0800
Subject: [PATCH] 1
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/FaultProcessor.java | 52 +++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 45 insertions(+), 7 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 de96d29..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
@@ -1,13 +1,22 @@
package com.zy.acs.manager.core.service;
+import com.zy.acs.common.domain.protocol.AGV_04_UP;
+import com.zy.acs.common.enums.error.AgvErrorType;
+import com.zy.acs.common.utils.GsonUtils;
+import com.zy.acs.framework.common.Cools;
+import com.zy.acs.framework.common.RadixTools;
import com.zy.acs.framework.common.SnowflakeIdWorker;
import com.zy.acs.manager.core.domain.VehicleFaultDto;
import com.zy.acs.manager.manager.entity.VehFaultRec;
+import com.zy.acs.manager.manager.service.AgvDetailService;
+import com.zy.acs.manager.manager.service.AgvService;
import com.zy.acs.manager.manager.service.VehFaultRecService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
+
+import java.util.Date;
/**
* Created by vincent on 8/19/2024
@@ -20,23 +29,52 @@
private VehFaultRecService vehFaultRecService;
@Autowired
private SnowflakeIdWorker snowflakeIdWorker;
+ @Autowired
+ private AgvService agvService;
+ @Autowired
+ private AgvDetailService agvDetailService;
@Async
- public void execute(VehicleFaultDto dto) {
+ public void execute(VehicleFaultDto<AGV_04_UP> dto) {
try {
+ String vehicle = dto.getVehicle();
+ AGV_04_UP agv_04_up = dto.getT();
+ Date errorTime = new Date(dto.getTimestamp());
- VehFaultRec vehFaultRec = new VehFaultRec();
- vehFaultRec.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
-// vehFaultRec.setFaultHex();
+ 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()));
- 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