From c9d334e61ff33aa2f90b71e34d5a7a0340765bfe Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期二, 27 五月 2025 18:44:37 +0800
Subject: [PATCH] #ZH

---
 src/main/java/com/zy/core/cache/CrnErrCache.java |  101 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 101 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/core/cache/CrnErrCache.java b/src/main/java/com/zy/core/cache/CrnErrCache.java
new file mode 100644
index 0000000..f1af02f
--- /dev/null
+++ b/src/main/java/com/zy/core/cache/CrnErrCache.java
@@ -0,0 +1,101 @@
+package com.zy.core.cache;
+
+import com.zy.core.model.protocol.CrnErrProtocol;
+import com.zy.core.model.protocol.RgvErrProtocol;
+
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * Created by IX on 2025/02/21
+ */
+public class CrnErrCache {
+    // 鏈湴缂撳瓨锛岄敭涓� currentPosition锛屽�间负 DeviceStatus
+    private static final ConcurrentHashMap<Integer, CrnErrProtocol> cache = new ConcurrentHashMap<>();
+
+    /**
+     * 鏇存柊璁惧鐘舵��
+     */
+    public static void updateCrnStatus(CrnErrProtocol status) {
+        try {
+            cache.put(status.getCrnNo(), status);
+        } finally {
+        }
+    }
+
+
+    /**
+     * 鏇存柊璁惧鐘舵��
+     */
+    public static void updateCrnErr(Integer crnNo,String error) {
+        try {
+            CrnErrProtocol crnErrProtocol = cache.get(crnNo);
+            if (crnErrProtocol == null){
+                crnErrProtocol = new CrnErrProtocol();
+                crnErrProtocol.setCrnNo(crnNo);
+            }
+            if (!crnErrProtocol.getError().equals(error)){
+                crnErrProtocol.setError(error);
+                cache.put(crnErrProtocol.getCrnNo(), crnErrProtocol);
+            }
+        } finally {
+        }
+    }
+
+
+    /**
+     * 鏇存柊璁惧鐘舵��
+     */
+    public static void updateCrnErr(Integer crnNo) {
+        try {
+            CrnErrProtocol crnErrProtocol = cache.get(crnNo);
+            if (crnErrProtocol == null){
+                crnErrProtocol = new CrnErrProtocol();
+                crnErrProtocol.setCrnNo(crnNo);
+            }
+            if (!crnErrProtocol.getError().equals("-")){
+                crnErrProtocol.setError("-");
+                cache.put(crnErrProtocol.getCrnNo(), crnErrProtocol);
+            }
+        } finally {
+        }
+    }
+
+
+
+
+    /**
+     * 鏇存柊璁惧鐘舵��
+     */
+    public static String getErrorCrn(Integer crnNo) {
+        try {
+            CrnErrProtocol crnErrProtocol = cache.get(crnNo);
+            if (crnErrProtocol == null){
+                crnErrProtocol = new CrnErrProtocol();
+                crnErrProtocol.setCrnNo(crnNo);
+            }
+            return crnErrProtocol.getError();
+        } finally {
+        }
+    }
+
+    /**
+     * 鑾峰彇璁惧鐘舵��
+     */
+    public static CrnErrProtocol getCrnStatus(Integer crnNo) {
+        try {
+            return cache.get(crnNo);
+        } finally {
+        }
+    }
+
+    /**
+     * 鑾峰彇鎵�鏈夎澶囩姸鎬�
+     */
+    public static ConcurrentHashMap<Integer, CrnErrProtocol> getAllCrnStatus() {
+        try {
+            return new ConcurrentHashMap<>(cache); // 杩斿洖鍓湰
+        } finally {
+        }
+    }
+
+}

--
Gitblit v1.9.1