From c2976b80e8850be2d28dc2132c6659856b871f3c Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期四, 08 五月 2025 21:10:42 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java |   49 +++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 45 insertions(+), 4 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java
index 3297dbb..5913d26 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java
@@ -1,7 +1,7 @@
 package com.dy.common.mw.protocol.p206V2;
 
 import com.dy.common.mw.protocol.*;
-import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1;
+import com.dy.common.mw.protocol.p206V2.parse.TransparentDown;
 import com.dy.common.util.DateTime;
 
 @AnnotationDriver(enable = true,
@@ -61,6 +61,7 @@
 		boolean isFail = false ;
 		String upCode = null ;
 		Short protocolVersion = null ;
+		Object[] codeDataGrp = {null};
 		try{
 			CommonV2 cp = new CommonV2() ;
 			Boolean p206TrueUgFalse = cp.protocolType_p206TrueUgFalse(upBuffer) ;
@@ -102,13 +103,14 @@
 			}else{
 				return codeParse.parse(isLowPower, this.upCpParams, new CodeParseCallback(){
 					@Override
-					public void callback(Boolean flag) {
+					public void callback(Boolean flag, Object codeData) {
 						reportOrResponse_trueOrFalse = flag ;
 						rtuAddrInData = dV2.getRtuAddr() ;
+						codeDataGrp[0] = codeData ;
 					}
 					@Override
 					public void notify(NotifyInfo ...infos) {
-						notify.notify(rtuAddr, ProtocolConstantV206V1.protocolName, ProtocolConstantV206V1.protocolVer, infos);
+						notify.notify(rtuAddr, ProtocolConstantV206V2.protocolName, ProtocolConstantV206V2.protocolVer, infos);
 					}
 				});
 			}
@@ -117,7 +119,7 @@
 			isFail = true ;
 			return new MidResult[]{(new MidResultError(ProtocolConstantV206V2.protocolName, rtuAddr, "涓ラ噸閿欒锛屽垎鏋怰tu鏁版嵁鍑洪敊锛佹暟鎹负锛�" + upHex + (e.getMessage() == null?"":("锛屽嚭閿欎俊鎭細" + e.getMessage())), e))} ;
 		} finally{
-			callback.callback(rtuAddr, upCode, CodeV2.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr);
+			callback.callback(rtuAddr, upCode, CodeV2.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr, codeDataGrp[0]);
 		}
 	}
 
@@ -166,5 +168,44 @@
 		}
 	}
 
+	/**
+	 * 鏋勯�犱笅琛岄�忎紶鏁版嵁锛堝懡浠わ級
+	 * @param isLowPower 鏄惁鍦ㄤ綆鍔熻�楃幆澧冧笅杩愯
+	 * @param command 鍛戒护
+	 * @return MidResult[]
+	 */
+	@Override
+	public MidResult[] transparentCommand(Boolean isLowPower, Command command, Object... params){
+		this.clear();
+		String RtuResultSendWebUrl = command.getRtuResultSendWebUrl() ;
+		if(RtuResultSendWebUrl == null || RtuResultSendWebUrl.trim().equals("")){
+			return new MidResult[]{(new MidResultError(ProtocolConstantV206V2.protocolName, null, "涓ラ噸閿欒锛屽懡浠や腑rtu杩斿洖鍛戒护缁撴灉鍙戝悜鐩殑鍦皐eb URL涓虹┖锛屼笉鑳芥瀯寤轰换浣曞懡浠わ紒", null))} ;
+		}
+		String rtuAddr = command.getRtuAddr() ;
+		if(rtuAddr == null || rtuAddr.trim().equals("")){
+			return new MidResult[]{(new MidResultError(ProtocolConstantV206V2.protocolName, null, "涓ラ噸閿欒锛屽懡浠や腑Rtu鍦板潃涓虹┖锛屼笉鑳芥瀯寤轰换浣曞懡浠わ紒", null))} ;
+		}
+		try {
+			String commandCode = command.getCode() ;
+
+			this.downCpParams.setValue(
+					RtuResultSendWebUrl,
+					ProtocolConstantV206V2.protocolName,
+					command.protocolVersion==null?ProtocolConstantV206V2.protocolVer:command.protocolVersion,
+					rtuAddr,
+					command.getId(),
+					commandCode,
+					command.getParam(),
+					command.getAttachment());
+
+			if(commandCode == null){
+				return new MidResult[]{(new MidResultError(ProtocolConstantV206V2.protocolName, rtuAddr,  "涓ラ噸閿欒锛屽懡浠や腑鍔熻兘鐮佷负绌猴紝涓嶈兘鏋勫缓浠讳綍鍛戒护锛�", null))} ;
+			}else{
+				return new TransparentDown().parse(isLowPower, this.downCpParams, null);
+			}
+		} catch (Exception e) {
+			return new MidResult[]{(new MidResultError(ProtocolConstantV206V2.protocolName, rtuAddr,  "涓ラ噸閿欒锛屾瀯閫犱笅琛屾暟鎹嚭閿欙紒鍛戒护涓猴細" + command.toString(), e))} ;
+		}
+	}
 
 }
\ No newline at end of file

--
Gitblit v1.8.0