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