From 656aa4f953eb52502a6414965e46642c31b6e8ee Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 29 四月 2025 15:33:09 +0800
Subject: [PATCH] 设备会在多种功能码上报数据中携带报警与状态数据,这样数据库保存设备报警与状态数据可能很多,为此修改逻辑,当前实现为一设备一个小时内只保存一条报警与状态数据。

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/PrefixedDataAvailablePool.java |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/PrefixedDataAvailablePool.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/PrefixedDataAvailablePool.java
index bb9761b..ba5b121 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/PrefixedDataAvailablePool.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/PrefixedDataAvailablePool.java
@@ -24,22 +24,21 @@
 		List<PrefixedDataAvailable> list = pool.get(className) ;
 		if(list == null){
 			list = new ArrayList<>() ;
-		}else{
+			pool.put(className, list) ;
+		}else if(list.size() > 0){
 			obj = list.get(0) ;
+			list.remove(0) ;
 		}
 		
-		if(obj != null){
-			list.remove(0) ;
-			return obj ;
-		}else{
+		if(obj == null){
 			try {
 				obj = (PrefixedDataAvailable)clazz.getDeclaredConstructor().newInstance() ;
 				//obj = (PrefixedDataAvailable)clazz.newInstance();
 			} catch (Exception e) {
 				throw new Exception( "鐢�" + className + "鐢熸垚瀹炰緥澶辫触锛�");
 			}
-			return obj ;
 		}
+		return obj ;
 	}
 	
 	/**

--
Gitblit v1.8.0