From 6dba613b20244677543795eb91d18ce54d612c27 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 27 六月 2024 13:44:01 +0800
Subject: [PATCH] 靳总协议上行数据处理修改完善

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/AnnotationScan.java |  111 +++++++++++++++++++++++++++++--------------------------
 1 files changed, 58 insertions(+), 53 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/AnnotationScan.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/AnnotationScan.java
index f4ec4cb..3eea8c9 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/AnnotationScan.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/AnnotationScan.java
@@ -65,9 +65,9 @@
 					int onLineDataMinLength;
 					int headMinLength ;
 
-					HashMap<String, AnnotationDriverVo> driverMap = ProtocolCach.getDriverMap() ;
-					HashMap<String, AnnotationPrefixedDataAvailableVo> prefixedDataAvailableMap = ProtocolCach.getPrefixedDataAvailableMap() ;
-					HashMap<String, AnnotationOnLineVo> onLineMap = ProtocolCach.getOnLineMap() ;
+					HashMap<String, AnnotationDriverVo> driverMap = ProtocolCache.getDriverMap() ;
+					HashMap<String, AnnotationPrefixedDataAvailableVo> prefixedDataAvailableMap = ProtocolCache.getPrefixedDataAvailableMap() ;
+					HashMap<String, AnnotationOnLineVo> onLineMap = ProtocolCache.getOnLineMap() ;
 
 					for(String cName : classNames){
 						String className = cName.substring(0,  cName.lastIndexOf('.')) ;
@@ -75,14 +75,16 @@
 						if(clazz.isAnnotationPresent(AnnotationDriver.class)){
 							AnnotationDriver ann = clazz.getAnnotation(AnnotationDriver.class) ;
 							if(ann != null){
-								protocolName = ann.name() ;
-								if(!(protocolName.trim().equals(""))){
-									if(driverMap.containsKey(protocolName)){
-										throw new Exception("涓ラ噸閿欒锛屽崗璁┍鍔ㄥ悕绉�" + protocolName + "鍑虹幇浜嗛噸澶嶆敞瑙o紒") ;
+								if(ann.enable()){
+									protocolName = ann.name() ;
+									if(!(protocolName.trim().equals(""))){
+										if(driverMap.containsKey(protocolName)){
+											throw new Exception("涓ラ噸閿欒锛屽崗璁┍鍔ㄥ悕绉�" + protocolName + "鍑虹幇浜嗛噸澶嶆敞瑙o紒") ;
+										}
+										driverMap.put(protocolName, new AnnotationDriverVo(clazz)) ;
+									}else{
+										throw new Exception("涓ラ噸閿欒锛屽崗璁┍鍔ㄥ悕绉版敞瑙e�间负绌哄瓧绗︿覆") ;
 									}
-									driverMap.put(protocolName, new AnnotationDriverVo(clazz)) ;
-								}else{
-									throw new Exception("涓ラ噸閿欒锛屽崗璁┍鍔ㄥ悕绉版敞瑙e�间负绌哄瓧绗︿覆") ;
 								}
 							}
 						}
@@ -91,61 +93,64 @@
 						if(clazz.isAnnotationPresent(AnnotationPrefixedDataAvailable.class)){
 							AnnotationPrefixedDataAvailable ann = clazz.getAnnotation(AnnotationPrefixedDataAvailable.class) ;
 							if(ann != null){
-								protocolName = ann.protocolName() ;
-								if(!(protocolName.trim().equals(""))){
-									if(prefixedDataAvailableMap.containsKey(protocolName)){
-										throw new Exception("涓ラ噸閿欒锛� 涓婅鏁版嵁瀹屾暣鎬ф鏌ユ墍閰嶅崗璁┍鍔�" + protocolName + "鍑虹幇浜嗛噸澶嶆敞瑙o紒") ;
+								if(ann.enable()){
+									protocolName = ann.protocolName() ;
+									if(!(protocolName.trim().equals(""))){
+										if(prefixedDataAvailableMap.containsKey(protocolName)){
+											throw new Exception("涓ラ噸閿欒锛� 涓婅鏁版嵁瀹屾暣鎬ф鏌ユ墍閰嶅崗璁┍鍔�" + protocolName + "鍑虹幇浜嗛噸澶嶆敞瑙o紒") ;
+										}
+									}else{
+										throw new Exception("涓ラ噸閿欒锛屼笂琛屾暟鎹畬鏁存�ф鏌ユ墍閰嶅崗璁┍鍔ㄦ敞瑙e�间负绌哄瓧绗︿覆") ;
 									}
-								}else{
-									throw new Exception("涓ラ噸閿欒锛屼笂琛屾暟鎹畬鏁存�ф鏌ユ墍閰嶅崗璁┍鍔ㄦ敞瑙e�间负绌哄瓧绗︿覆") ;
-								}
 
-								priority = ann.priority() ;
-								if(priority == 0){
-									throw new Exception("涓ラ噸閿欒锛� 涓婅鏁版嵁瀹屾暣鎬ф鏌ユ墍閰嶄紭鍏堢骇娉ㄨВ涓嶈兘涓�0") ;
-								}
-								if(isRepeatPrefixedDataAvailablePriority(priority, prefixedDataAvailableMap)){
-									throw new Exception("涓ラ噸閿欒锛� 涓婅鏁版嵁瀹屾暣鎬ф鏌ユ墍閰嶄紭鍏堢骇娉ㄨВ(priority)鏁板��" + priority + "閲嶅") ;
-								}
+									priority = ann.priority() ;
+									if(priority == 0){
+										throw new Exception("涓ラ噸閿欒锛� 涓婅鏁版嵁瀹屾暣鎬ф鏌ユ墍閰嶄紭鍏堢骇娉ㄨВ涓嶈兘涓�0") ;
+									}
+									if(isRepeatPrefixedDataAvailablePriority(priority, prefixedDataAvailableMap)){
+										throw new Exception("涓ラ噸閿欒锛� 涓婅鏁版嵁瀹屾暣鎬ф鏌ユ墍閰嶄紭鍏堢骇娉ㄨВ(priority)鏁板��" + priority + "閲嶅") ;
+									}
 
-								onLineDataMinLength = ann.onLineDataMinLength() ;
-						/*姘旇薄鍗忚涓�0
-						if(onLineDataMinLength == 0){
-							throw new Exception("涓ラ噸閿欒锛� 涓婅鏁版嵁瀹屾暣鎬ф鏌ユ墍閰嶄笂绾挎暟鎹渶灏忛暱搴︽敞瑙d笉鑳戒负0") ;
-						}
-						*/
-								headMinLength = ann.headMinLength() ;
-						/*姘旇薄鍗忚涓�0
-						if(headMinLength == 0){
-							throw new Exception("涓ラ噸閿欒锛� 涓婅鏁版嵁瀹屾暣鎬ф鏌ユ墍閰嶄笂鎶ユ暟鎹殑澶撮儴鏈�灏忛暱搴︽敞瑙d笉鑳戒负0") ;
-						}
-						*/
-
-								prefixedDataAvailableMap.put(protocolName, new AnnotationPrefixedDataAvailableVo(clazz, protocolName, priority, onLineDataMinLength, headMinLength, ProtocolConstant.errorMaxLength)) ;
+									onLineDataMinLength = ann.onLineDataMinLength() ;
+									/*姘旇薄鍗忚涓�0
+									if(onLineDataMinLength == 0){
+										throw new Exception("涓ラ噸閿欒锛� 涓婅鏁版嵁瀹屾暣鎬ф鏌ユ墍閰嶄笂绾挎暟鎹渶灏忛暱搴︽敞瑙d笉鑳戒负0") ;
+									}
+									*/
+												headMinLength = ann.headMinLength() ;
+									/*姘旇薄鍗忚涓�0
+									if(headMinLength == 0){
+										throw new Exception("涓ラ噸閿欒锛� 涓婅鏁版嵁瀹屾暣鎬ф鏌ユ墍閰嶄笂鎶ユ暟鎹殑澶撮儴鏈�灏忛暱搴︽敞瑙d笉鑳戒负0") ;
+									}
+									*/
+									prefixedDataAvailableMap.put(protocolName, new AnnotationPrefixedDataAvailableVo(clazz, protocolName, priority, onLineDataMinLength, headMinLength, ProtocolConstant.errorMaxLength)) ;
+								}
 							}
 						}
 
 						if(clazz.isAnnotationPresent(AnnotationOnLine.class)){
 							AnnotationOnLine ann = clazz.getAnnotation(AnnotationOnLine.class) ;
 							if(ann != null){
-								protocolName = ann.protocolName() ;
-								if(!(protocolName.trim().equals(""))){
-									if(onLineMap.containsKey(protocolName)){
-										throw new Exception("涓ラ噸閿欒锛� 涓婄嚎鏁版嵁鍒嗘瀽鎵�閰嶅崗璁┍鍔�" + protocolName + "鍑虹幇浜嗛噸澶嶆敞瑙o紒") ;
+								if(ann.enable()){
+									protocolName = ann.protocolName() ;
+									if(!(protocolName.trim().equals(""))){
+										if(onLineMap.containsKey(protocolName)){
+											throw new Exception("涓ラ噸閿欒锛� 涓婄嚎鏁版嵁鍒嗘瀽鎵�閰嶅崗璁┍鍔�" + protocolName + "鍑虹幇浜嗛噸澶嶆敞瑙o紒") ;
+										}
+									}else{
+										throw new Exception("涓ラ噸閿欒锛屼笂绾挎暟鎹垎鏋愭墍閰嶅崗璁┍鍔ㄦ敞瑙e�间负绌哄瓧绗︿覆") ;
 									}
-								}else{
-									throw new Exception("涓ラ噸閿欒锛屼笂绾挎暟鎹垎鏋愭墍閰嶅崗璁┍鍔ㄦ敞瑙e�间负绌哄瓧绗︿覆") ;
-								}
 
-								priority = ann.priority() ;
-								if(priority == 0){
-									throw new Exception("涓ラ噸閿欒锛� 涓婄嚎鏁版嵁鍒嗘瀽鎵�閰嶄紭鍏堢骇娉ㄨВ涓嶈兘涓�0") ;
-								}
-								if(isRepeatOnLinePriority(priority, onLineMap)){
-									throw new Exception("涓ラ噸閿欒锛� 涓婄嚎鏁版嵁鍒嗘瀽鎵�閰嶄紭鍏堢骇娉ㄨВ(priority)鏁板��" + priority + "閲嶅") ;
-								}
+									priority = ann.priority() ;
+									if(priority == 0){
+										throw new Exception("涓ラ噸閿欒锛� 涓婄嚎鏁版嵁鍒嗘瀽鎵�閰嶄紭鍏堢骇娉ㄨВ涓嶈兘涓�0") ;
+									}
+									if(isRepeatOnLinePriority(priority, onLineMap)){
+										throw new Exception("涓ラ噸閿欒锛� 涓婄嚎鏁版嵁鍒嗘瀽鎵�閰嶄紭鍏堢骇娉ㄨВ(priority)鏁板��" + priority + "閲嶅") ;
+									}
 
-								onLineMap.put(protocolName, new AnnotationOnLineVo(clazz, protocolName, priority)) ;
+									onLineMap.put(protocolName, new AnnotationOnLineVo(clazz, protocolName, priority)) ;
+								}
 							}
 						}
 					}

--
Gitblit v1.8.0