From 14d7f0df63340ede75458c0e91b902376ef4dd64 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 20 十一月 2024 11:26:32 +0800
Subject: [PATCH] 1、优化代码;2、修改长级测试中发现的bug;3、通信中间件配置文件配置项修改

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java
index 9f58c9b..2d4b816 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java
@@ -59,18 +59,17 @@
 		String upCode = null ;
 		try{
 			CommonV1 cp = new CommonV1() ;
-			cp.checkHead(upBuffer) ;
+			Boolean p206TrueUgFalse = cp.protocolType_p206TrueUgFalse(upBuffer) ;
+			//鍒版澶勪簡锛宲206TrueUgFalse涓嶅彲鑳戒负绌轰簡
 			cp.checkTail(upBuffer) ;
-			String crcStr = cp.checkCrc_str(upBuffer) ;
+			String crcStr = cp.checkCrc_str(upBuffer, p206TrueUgFalse) ;
 			if(crcStr != null){
 				return new MidResult[]{(new MidResultError(ProtocolConstantV206V1.protocolName, rtuAddr, "涓ラ噸閿欒锛屼笂琛屾暟鎹瓹RC妫�鏌ュけ璐ワ紝" + crcStr, null))} ;
 			}
-			rtuAddr = cp.parseRtuAddr(upBuffer) ;
-			upCode = cp.parseCode(upBuffer) ;
+			upCode = cp.parseCode(upBuffer, p206TrueUgFalse) ;
 			if(upCode == null){
 				return new MidResult[]{(new MidResultError(ProtocolConstantV206V1.protocolName, rtuAddr, "涓ラ噸閿欒锛屾湭鑳戒粠涓婅鏁版嵁涓В鏋愬嚭鍔熻兘鐮侊紒", null))} ;
 			}
-			//Integer dataLen = cp.parseFrameLen(upBuffer) ;
 			Data upData = new Data() ;
 			upData.setRtuAddr(rtuAddr) ;
 			upData.setProtocol(ProtocolConstantV206V1.protocolName);
@@ -87,6 +86,7 @@
 			upData.setSubData(dV1) ;
 			
 			this.upCpParams.setValue(ProtocolConstantV206V1.protocolName,
+					ProtocolConstantV206V1.protocolVer,
 					rtuAddr, 
 					upCode,
 					upHex, 
@@ -102,6 +102,9 @@
 						reportOrResponse_trueOrFalse = flag ;
 						rtuAddrInData = dV1.getRtuAddr() ;
 					}
+					@Override
+					public void notify(NotifyInfo ...infos) {
+					}
 				});
 			}
 				
@@ -109,7 +112,10 @@
 			isFail = true ;
 			return new MidResult[]{(new MidResultError(ProtocolConstantV206V1.protocolName, rtuAddr, "涓ラ噸閿欒锛屽垎鏋怰tu鏁版嵁鍑洪敊锛佹暟鎹负锛�" + upHex + (e.getMessage() == null?"":("锛屽嚭閿欎俊鎭細" + e.getMessage())), e))} ;
 		} finally{
-			callback.callback(rtuAddr, upCode, CodeV1.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr);
+			if(upCode != null){
+				//CRC楠岃瘉澶辫触鏃讹紝upCode涓簄ull锛屾鏃朵笉杩涜鍥炶皟
+				callback.callback(rtuAddr, upCode, CodeV1.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr);
+			}
 		}
 	}
 
@@ -136,6 +142,7 @@
 			this.downCpParams.setValue(
 					RtuResultSendWebUrl,
 					ProtocolConstantV206V1.protocolName,
+					command.protocolVersion==null?ProtocolConstantV206V1.protocolVer:command.protocolVersion,
 					rtuAddr, 
 					command.getId(),
 					commandCode, 

--
Gitblit v1.8.0