From c0f154bf627e355b2a1b5e89c41ae391b3b7e2a6 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期四, 07 五月 2026 10:02:08 +0800
Subject: [PATCH] 修改报警记录方式
---
version/db/new.sql | 4 ++
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvDataService.java | 1
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/VehFaultRec.java | 5 ++
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/VehFaultRecService.java | 5 ++
zy-acs-manager/src/main/resources/mapper/manager/VehFaultRecMapper.xml | 19 +++++++++
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/VehFaultRecServiceImpl.java | 12 ++++++
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/VehFaultRecMapper.java | 4 ++
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/FaultProcessor.java | 41 ++++++++++++++------
8 files changed, 78 insertions(+), 13 deletions(-)
diff --git a/version/db/new.sql b/version/db/new.sql
index 6339ce1..f8a0078 100644
--- a/version/db/new.sql
+++ b/version/db/new.sql
@@ -108,3 +108,7 @@
alter table sys_user_login
change system system_name varchar(255) null comment '鐧诲綍绯荤粺';
+
+
+ALTER TABLE `rcs_ctu_stable`.`man_veh_fault_rec`
+ ADD COLUMN `code` varchar(255) NULL COMMENT '鍦扮爜' AFTER `fault_data`;
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvDataService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvDataService.java
index 2f62b40..b41ac70 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvDataService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvDataService.java
@@ -143,6 +143,7 @@
assert detail.getErrorTime() != null;
if (DateUtils.diffToSeconds(detail.getErrorTime(), now) > 10) {
detail.setError(MapDataConstant.EMPTY_OF_ERROR);
+ faultProcessor.reset(agvId);
}
}
if (!agvDetailService.updateById(detail)) {
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 3a012b1..e794dc9 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
@@ -47,20 +47,29 @@
Long agvId = agvService.getAgvId(vehicle);
- 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.setState(VehFaultRecStateType.PENDING.name());
+ 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.setState(VehFaultRecStateType.PENDING.name());
+ vehFaultRec.setCode(agv_04_up.getQrCode());
- if (!vehFaultRecService.save(vehFaultRec)) {
- News.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) {
@@ -68,4 +77,10 @@
}
}
+ @Async
+ public void reset(Long agvId) {
+ vehFaultRecService.resetError(agvId);
+ }
+
+
}
\ No newline at end of file
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/VehFaultRec.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/VehFaultRec.java
index 0cca695..2786fe4 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/VehFaultRec.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/VehFaultRec.java
@@ -78,6 +78,11 @@
*/
@ApiModelProperty(value= "鏁呴殰绫诲瀷")
private String type;
+ /**
+ * 鍦伴潰鐮�
+ */
+ @ApiModelProperty(value= "鍦伴潰鐮�")
+ private String code;
/**
* 鍘熷鎶ユ枃
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/VehFaultRecMapper.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/VehFaultRecMapper.java
index 896eecc..8c82e9c 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/VehFaultRecMapper.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/VehFaultRecMapper.java
@@ -5,4 +5,8 @@
public interface VehFaultRecMapper extends BaseMapper<VehFaultRec> {
+ VehFaultRec getTopVehFaultRec(Long agvId, String faultNo);
+
+ int resetError(Long agvId);
+
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/VehFaultRecService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/VehFaultRecService.java
index dff1d2d..f971121 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/VehFaultRecService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/VehFaultRecService.java
@@ -5,4 +5,9 @@
public interface VehFaultRecService extends IService<VehFaultRec> {
+ VehFaultRec getTopVehFaultRec(Long agvId, String faultNo);
+
+ int resetError(Long agvId);
+
+
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/VehFaultRecServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/VehFaultRecServiceImpl.java
index 0fff936..652e635 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/VehFaultRecServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/VehFaultRecServiceImpl.java
@@ -9,4 +9,16 @@
@Service("vehFaultRecService")
public class VehFaultRecServiceImpl extends ServiceImpl<VehFaultRecMapper, VehFaultRec> implements VehFaultRecService {
+
+ @Override
+ public VehFaultRec getTopVehFaultRec(Long agvId, String faultNo) {
+ return baseMapper.getTopVehFaultRec(agvId, faultNo);
+ }
+
+ @Override
+ public int resetError(Long agvId) {
+ return baseMapper.resetError(agvId);
+ }
+
+
}
diff --git a/zy-acs-manager/src/main/resources/mapper/manager/VehFaultRecMapper.xml b/zy-acs-manager/src/main/resources/mapper/manager/VehFaultRecMapper.xml
index 4f1113c..7760f97 100644
--- a/zy-acs-manager/src/main/resources/mapper/manager/VehFaultRecMapper.xml
+++ b/zy-acs-manager/src/main/resources/mapper/manager/VehFaultRecMapper.xml
@@ -23,4 +23,23 @@
</where>
</sql>
+
+ <update id="resetError">
+ UPDATE man_veh_fault_rec
+ SET reset_time = now(),
+ duration = (UNIX_TIMESTAMP(reset_time) - UNIX_TIMESTAMP(happen_time))
+ WHERE agv_id = #{agvId}
+ and reset_time is null
+ </update>
+
+ <select id="getTopVehFaultRec" resultType="com.zy.acs.manager.manager.entity.VehFaultRec">
+ SELECT *
+ FROM man_veh_fault_rec
+ WHERE agv_id = #{agvId}
+ and fault_no = #{faultNo}
+ and reset_time is null
+ ORDER BY happen_time DESC LIMIT 1
+ </select>
+
+
</mapper>
--
Gitblit v1.9.1