From 959dcca95276888cd9c092d93d276ef9aa580aef Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 30 四月 2025 16:26:19 +0800
Subject: [PATCH] 1、增加远程透传命令; 2、表阀一体机协议优化;

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/TransparentDown.java        |   47 ++++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Up.java          |    5 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9C_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_68_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_21_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Up.java          |    4 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java                    |   45 ++++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_23_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_85_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_10_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java                     |   43 +++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_26_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/TransparentDown.java   |   47 ++++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_86_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_88_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_31_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_93_A3_Up.java       |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/CommandType.java                         |    8 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java           |   11 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java       |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java                     |   40 +++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_99_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_22_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_24_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_87_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Driver.java                              |   13 +
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_25_Up.java          |    4 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java                           |   13 +
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/NumUtil.java                                    |    3 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java           |   47 +++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/WebDownTransparentComTask.java |   69 ++++++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/TransparentDown.java        |   47 ++++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_30_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9A_Up.java          |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java          |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java       |   25 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransSv.java         |   29 ++
 51 files changed, 542 insertions(+), 90 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/CommandType.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/CommandType.java
index 84869f0..345acb7 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/CommandType.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/CommandType.java
@@ -13,7 +13,13 @@
 	 * 鍙兘鏄紓姝ワ紝鍛戒护缁撴灉閫氳繃鐩稿叧鐨勪俊鎭彂甯冮�氶亾鍙戝竷鍑哄幓
 	 */
 	public static final String outerCommand = "outerCommand" ;
-	
+
+	/**
+	 * 閽堝Rtu澶栭儴閫忎紶鍛戒护
+	 * 鍙兘鏄紓姝ワ紝鍛戒护缁撴灉閫氳繃鐩稿叧鐨勪俊鎭彂甯冮�氶亾鍙戝竷鍑哄幓
+	 */
+	public static final String outerTransCommand = "outerTransCommand" ;
+
 	/**
 	 * 鏈懡浠ゆ槸涓�涓埆鐨勫懡浠ょ殑缁撴灉锛堢粨鏋滀互鍛戒护鐨勬柟寮忚〃绀猴級
 	 */
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Driver.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Driver.java
index 3e7a3e3..b812d84 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Driver.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Driver.java
@@ -173,5 +173,16 @@
 	 */
 	public abstract MidResult[] createCommand(Boolean isLowPower, Command command, Object... params);
 	
-	
+
+	/**
+	 * 鏋勯�犱笅琛岄�忎紶鏁版嵁锛堝懡浠わ級
+	 * @param isLowPower 鏄惁鍦ㄤ綆鍔熻�楃幆澧冧笅杩愯
+	 * @param command 鍛戒护
+	 * @return MidResult[]
+	 */
+	public MidResult[] transparentCommand(Boolean isLowPower, Command command, Object... params){
+		return null ;
+	}
+
+
 }
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 b1c73a6..b6a4038 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
@@ -1,6 +1,7 @@
 package com.dy.common.mw.protocol.p206V1;
 
 import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V1.parse.TransparentDown;
 import com.dy.common.util.DateTime;
 
 @AnnotationDriver(enable = true,
@@ -168,5 +169,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(ProtocolConstantV206V1.protocolName, null, "涓ラ噸閿欒锛屽懡浠や腑rtu杩斿洖鍛戒护缁撴灉鍙戝悜鐩殑鍦皐eb URL涓虹┖锛屼笉鑳芥瀯寤轰换浣曞懡浠わ紒", null))} ;
+		}
+		String rtuAddr = command.getRtuAddr() ;
+		if(rtuAddr == null || rtuAddr.trim().equals("")){
+			return new MidResult[]{(new MidResultError(ProtocolConstantV206V1.protocolName, null, "涓ラ噸閿欒锛屽懡浠や腑Rtu鍦板潃涓虹┖锛屼笉鑳芥瀯寤轰换浣曞懡浠わ紒", null))} ;
+		}
+		try {
+			String commandCode = command.getCode() ;
+
+			this.downCpParams.setValue(
+					RtuResultSendWebUrl,
+					ProtocolConstantV206V1.protocolName,
+					command.protocolVersion==null?ProtocolConstantV206V1.protocolVer:command.protocolVersion,
+					rtuAddr,
+					command.getId(),
+					commandCode,
+					command.getParam(),
+					command.getAttachment());
+
+			if(commandCode == null){
+				return new MidResult[]{(new MidResultError(ProtocolConstantV206V1.protocolName, rtuAddr,  "涓ラ噸閿欒锛屽懡浠や腑鍔熻兘鐮佷负绌猴紝涓嶈兘鏋勫缓浠讳綍鍛戒护锛�", null))} ;
+			}else{
+				return new TransparentDown().parse(isLowPower, this.downCpParams, null);
+			}
+		} catch (Exception e) {
+			return new MidResult[]{(new MidResultError(ProtocolConstantV206V1.protocolName, rtuAddr,  "涓ラ噸閿欒锛屾瀯閫犱笅琛屾暟鎹嚭閿欙紒鍛戒护涓猴細" + command.toString(), e))} ;
+		}
+	}
 
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/TransparentDown.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/TransparentDown.java
new file mode 100644
index 0000000..a083fbe
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/TransparentDown.java
@@ -0,0 +1,47 @@
+package com.dy.common.mw.protocol.p206V1.parse;
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V1.CodeV1;
+import com.dy.common.mw.protocol.p206V1.ParseParamsForDownV1;
+import com.dy.common.util.ByteUtil;
+import com.dy.common.util.NumUtil;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/4/30 14:58
+ * @Description 閫忎紶涓嬭鍛戒护
+ */
+public class TransparentDown implements CodeParse {
+    @Override
+    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+        ParseParamsForDownV1 para = (ParseParamsForDownV1) params ;
+        if(para.attachment == null || para.attachment.toString().length() == 0){
+            throw new Exception("閫忎紶涓嬭鍛戒护锛屾暟鎹」attachment涓嶈兘涓虹┖") ;
+        }
+        if(!NumUtil.isHex(para.attachment.toString())){
+            throw new Exception("閫忎紶涓嬭鍛戒护锛屾暟鎹」attachment涓嶆槸16杩涘埗") ;
+        }
+        byte[] bs = ByteUtil.hex2Bytes(para.attachment.toString()) ;
+
+        MidResultToRtu midRs = new MidResultToRtu() ;
+        midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
+        midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+        midRs.protocolVersion = para.protocolVersion; //鍗忚鐗堟湰鍙�
+        midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+        midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+        midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+        midRs.downCodeName = CodeV1.getCodeName(para.commandCode) ;//涓嬭鍛戒护鍔熻兘鐮佸悕绉�;
+        midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+        midRs.downBufHex = para.attachment.toString() ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+        midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+        midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+        midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+        if(isLowPower != null && isLowPower.booleanValue()){
+            //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+            midRs.isQuickSend = true ;
+        }
+
+        return new MidResult[]{midRs} ;
+    }
+}
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 614e5b6..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,
@@ -110,7 +110,7 @@
 					}
 					@Override
 					public void notify(NotifyInfo ...infos) {
-						notify.notify(rtuAddr, ProtocolConstantV206V1.protocolName, ProtocolConstantV206V1.protocolVer, infos);
+						notify.notify(rtuAddr, ProtocolConstantV206V2.protocolName, ProtocolConstantV206V2.protocolVer, infos);
 					}
 				});
 			}
@@ -168,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
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/TransparentDown.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/TransparentDown.java
new file mode 100644
index 0000000..446bf7d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/TransparentDown.java
@@ -0,0 +1,47 @@
+package com.dy.common.mw.protocol.p206V2.parse;
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V2.CodeV2;
+import com.dy.common.mw.protocol.p206V2.ParseParamsForDownV2;
+import com.dy.common.util.ByteUtil;
+import com.dy.common.util.NumUtil;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/4/30 14:58
+ * @Description 閫忎紶涓嬭鍛戒护
+ */
+public class TransparentDown implements CodeParse {
+    @Override
+    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+        ParseParamsForDownV2 para = (ParseParamsForDownV2) params ;
+        if(para.attachment == null || para.attachment.toString().length() == 0){
+            throw new Exception("閫忎紶涓嬭鍛戒护锛屾暟鎹」attachment涓嶈兘涓虹┖") ;
+        }
+        if(!NumUtil.isHex(para.attachment.toString())){
+            throw new Exception("閫忎紶涓嬭鍛戒护锛屾暟鎹」attachment涓嶆槸16杩涘埗") ;
+        }
+        byte[] bs = ByteUtil.hex2Bytes(para.attachment.toString()) ;
+
+        MidResultToRtu midRs = new MidResultToRtu() ;
+        midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
+        midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+        midRs.protocolVersion = para.protocolVersion; //鍗忚鐗堟湰鍙�
+        midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+        midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+        midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+        midRs.downCodeName = CodeV2.getCodeName(para.commandCode) ;//涓嬭鍛戒护鍔熻兘鐮佸悕绉�;
+        midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+        midRs.downBufHex = para.attachment.toString() ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+        midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+        midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+        midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+        if(isLowPower != null && isLowPower.booleanValue()){
+            //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+            midRs.isQuickSend = true ;
+        }
+
+        return new MidResult[]{midRs} ;
+    }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java
index 394daf3..b27c2be 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java
@@ -1,8 +1,7 @@
 package com.dy.common.mw.protocol.p206V202404;
 
 import com.dy.common.mw.channel.tcp.TcpIoSessionAttrIdIsRtuAddr;
-import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1;
-import com.dy.common.mw.protocol.p206V2.ProtocolConstantV206V2;
+
 import com.dy.common.util.ByteUtil;
 import com.dy.common.util.ByteUtilUnsigned;
 import com.dy.common.util.CRC16;
@@ -17,8 +16,8 @@
      * @param ioSession 浼氳瘽
      */
     public void setThisProtocolArr2IoSession(IoSession ioSession){
-        ioSession.setAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrProtocolName, ProtocolConstantV206V1.protocolName) ;
-        ioSession.setAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrProtocolName, ProtocolConstantV206V1.protocolVer) ;
+        ioSession.setAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrProtocolName, ProtocolConstantV206V202404.protocolName) ;
+        ioSession.setAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrProtocolName, ProtocolConstantV206V202404.protocolVer) ;
     }
     /**
      * 妫�鏌ュご
@@ -123,8 +122,8 @@
      * @throws Exception 寮傚父
      */
     public int parseDataLen4Ug(byte[] bs)throws Exception{
-        int len = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V2.UG_dataLenIndex_start) ;
-        return len - ProtocolConstantV206V2.UG_lenCmd - ProtocolConstantV206V2.UG_lenRtuAddr ;
+        int len = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V202404.UG_dataLenIndex_start) ;
+        return len - ProtocolConstantV206V202404.UG_lenCmd - ProtocolConstantV206V202404.UG_lenRtuAddr ;
     }
 
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java
index 9e09ff8..3250f98 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java
@@ -1,8 +1,7 @@
 package com.dy.common.mw.protocol.p206V202404;
 
 import com.dy.common.mw.protocol.*;
-import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1;
-import com.dy.common.mw.protocol.p206V2.ProtocolConstantV206V2;
+import com.dy.common.mw.protocol.p206V202404.parse.TransparentDown;
 import com.dy.common.util.DateTime;
 
 @AnnotationDriver(enable = true,
@@ -42,7 +41,7 @@
 	 */
 	@Override
 	public void scanAnnotationCode() throws Exception{
-		super.doScanAnnotationCode(this, ProtocolConstantV206V1.protocolName, scanRootPackage) ;
+		super.doScanAnnotationCode(this, ProtocolConstantV206V202404.protocolName, scanRootPackage) ;
 	}
 
 	/**
@@ -108,7 +107,7 @@
 					}
 					@Override
 					public void notify(NotifyInfo ...infos) {
-						notify.notify(rtuAddr, ProtocolConstantV206V1.protocolName, ProtocolConstantV206V1.protocolVer, infos);
+						notify.notify(rtuAddr, ProtocolConstantV206V202404.protocolName, ProtocolConstantV206V202404.protocolVer, infos);
 					}
 				});
 			}
@@ -167,4 +166,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(ProtocolConstantV206V202404.protocolName, null, "涓ラ噸閿欒锛屽懡浠や腑rtu杩斿洖鍛戒护缁撴灉鍙戝悜鐩殑鍦皐eb URL涓虹┖锛屼笉鑳芥瀯寤轰换浣曞懡浠わ紒", null))} ;
+		}
+		String rtuAddr = command.getRtuAddr() ;
+		if(rtuAddr == null || rtuAddr.trim().equals("")){
+			return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, null, "涓ラ噸閿欒锛屽懡浠や腑Rtu鍦板潃涓虹┖锛屼笉鑳芥瀯寤轰换浣曞懡浠わ紒", null))} ;
+		}
+		try {
+			String commandCode = command.getCode() ;
+
+			this.downCpParams.setValue(
+					RtuResultSendWebUrl,
+					ProtocolConstantV206V202404.protocolName,
+					command.protocolVersion==null?ProtocolConstantV206V202404.protocolVer:command.protocolVersion,
+					rtuAddr,
+					command.getId(),
+					commandCode,
+					command.getParam(),
+					command.getAttachment());
+
+			if(commandCode == null){
+				return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr,  "涓ラ噸閿欒锛屽懡浠や腑鍔熻兘鐮佷负绌猴紝涓嶈兘鏋勫缓浠讳綍鍛戒护锛�", null))} ;
+			}else{
+				return new TransparentDown().parse(isLowPower, this.downCpParams, null);
+			}
+		} catch (Exception e) {
+			return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr,  "涓ラ噸閿欒锛屾瀯閫犱笅琛屾暟鎹嚭閿欙紒鍛戒护涓猴細" + command.toString(), e))} ;
+		}
+	}
+
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Up.java
index 3cf6aa3..195fd54 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Up.java
@@ -2,7 +2,6 @@
 
 
 import com.dy.common.mw.protocol.*;
-import com.dy.common.mw.protocol.p206V1.DataV1;
 import com.dy.common.mw.protocol.p206V202404.*;
 import com.dy.common.mw.protocol.p206V202404.upVos.DataCd02Vo;
 import com.dy.common.util.ByteUtil;
@@ -87,9 +86,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd02Vo cdData = new DataCd02Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V202404.dataIndex, 1) ;
         cdData.projectNo = 0 + bs[ProtocolConstantV206V202404.dataIndex + 1];
         cdData.status = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V202404.dataIndex + 2, 1) ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_10_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_10_Up.java
index b56f2b1..5f88ef0 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_10_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_10_Up.java
@@ -54,9 +54,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd10Vo cdData = new DataCd10Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Up.java
index 54b50ca..2d8a59c 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Up.java
@@ -54,9 +54,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Up.java
index ed54f55..c7183b0 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Up.java
@@ -53,9 +53,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_21_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_21_Up.java
index 567e4c0..6d23b98 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_21_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_21_Up.java
@@ -53,9 +53,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_22_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_22_Up.java
index 66ecd86..f0795f7 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_22_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_22_Up.java
@@ -53,9 +53,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_23_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_23_Up.java
index 178b53e..48d4751 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_23_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_23_Up.java
@@ -53,9 +53,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_24_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_24_Up.java
index eec746e..17390ca 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_24_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_24_Up.java
@@ -53,9 +53,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_25_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_25_Up.java
index 904cea9..8e1a93a 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_25_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_25_Up.java
@@ -53,9 +53,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_26_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_26_Up.java
index 98a9279..e3367ef 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_26_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_26_Up.java
@@ -53,9 +53,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_30_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_30_Up.java
index 8a8b274..5806887 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_30_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_30_Up.java
@@ -53,9 +53,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_31_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_31_Up.java
index 7753b04..9ddaf45 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_31_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_31_Up.java
@@ -53,9 +53,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Up.java
index 2fe05fd..6fc6a63 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Up.java
@@ -54,9 +54,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd50Vo cdData = new DataCd50Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Up.java
index e0eeb3d..c94c869 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Up.java
@@ -58,7 +58,7 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
 
         int index = ProtocolConstantV206V202404.dataIndex ;
         String controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
@@ -78,7 +78,7 @@
                 list.add(vo) ;
                 vo = this.doParseData(bs, index, bsLen, dataCode, controllerType, projectNo) ;
             }
-            dV1.subData = list ;
+            dV202404.subData = list ;
         }else{
             //鏃犺褰�
         }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Up.java
index 72d80ca..710539d 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Up.java
@@ -54,9 +54,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd56Vo cdData = new DataCd56Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Up.java
index 2ba3341..8c2a11f 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Up.java
@@ -54,9 +54,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd80_5BVo cdData = new DataCd80_5BVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
 
         GlParse.parseCd80And5B(bs, cdData);
     }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Up.java
index a2931fa..b17bf64 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Up.java
@@ -57,7 +57,7 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
 
         int index = ProtocolConstantV206V202404.dataIndex ;
         String controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
@@ -77,7 +77,7 @@
                 list.add(vo) ;
                 vo = this.doParseData(bs, index, bsLen, dataCode, controllerType, projectNo) ;
             }
-            dV1.subData = list ;
+            dV202404.subData = list ;
         }else{
             //鏃犺褰�
         }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java
index c217215..eb8179b 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java
@@ -58,7 +58,7 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
 
         int index = ProtocolConstantV206V202404.dataIndex ;
         String controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
@@ -78,7 +78,7 @@
                 list.add(vo) ;
                 vo = this.doParseData(bs, index, bsLen, dataCode, controllerType, projectNo) ;
             }
-            dV1.subData = list ;
+            dV202404.subData = list ;
         }else{
             //鏃犺褰�
         }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_68_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_68_Up.java
index c2cfdd0..7d12f44 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_68_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_68_Up.java
@@ -54,9 +54,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd68Vo cdData = new DataCd68Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java
index c34538b..0476360 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java
@@ -92,9 +92,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd80_5BVo cdData = new DataCd80_5BVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
 
         GlParse.parseCd80And5B(bs, cdData);
     }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java
index dc72d25..4dad85f 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java
@@ -95,9 +95,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd81Vo cdData = new DataCd81Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
 
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java
index c22c9ad..0b05fc4 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java
@@ -89,9 +89,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd83Vo cdData = new DataCd83Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java
index f7d8b76..a3cf043 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java
@@ -91,9 +91,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd84Vo cdData = new DataCd84Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_85_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_85_Up.java
index 23c3078..a328e05 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_85_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_85_Up.java
@@ -92,9 +92,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd85Vo cdData = new DataCd85Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
 
         GlParse.parseCd85(bs, cdData) ;
     }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_86_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_86_Up.java
index a0ceac1..c32965e 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_86_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_86_Up.java
@@ -54,9 +54,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd86Vo cdData = new DataCd86Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_87_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_87_Up.java
index 9032398..de6d0ea 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_87_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_87_Up.java
@@ -54,9 +54,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd87Vo cdData = new DataCd87Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_88_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_88_Up.java
index 55eace5..f42bb49 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_88_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_88_Up.java
@@ -54,9 +54,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd88Vo cdData = new DataCd88Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Up.java
index 141284c..ba3d091 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Up.java
@@ -86,9 +86,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd8AVo cdData = new DataCd8AVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java
index 502752e..f6196f2 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java
@@ -62,9 +62,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd92_A2Vo cdData = new DataCd92_A2Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_93_A3_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_93_A3_Up.java
index 9d82d8e..ae7d890 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_93_A3_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_93_A3_Up.java
@@ -62,9 +62,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd93_A3Vo cdData = new DataCd93_A3Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
 
         GlParse.parseCd93A3(bs, cdData) ;
     }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Up.java
index f3f0b62..587daa5 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Up.java
@@ -54,9 +54,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Up.java
index 5cf02d2..db31c5b 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Up.java
@@ -54,9 +54,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_99_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_99_Up.java
index 641b48a..b6a089f 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_99_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_99_Up.java
@@ -53,9 +53,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9A_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9A_Up.java
index 7f548d9..ba8796c 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9A_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9A_Up.java
@@ -53,9 +53,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCd9AVo cdData = new DataCd9AVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9C_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9C_Up.java
index 2c2da4e..5513438 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9C_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9C_Up.java
@@ -53,9 +53,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java
index b9cd484..e78ba9a 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java
@@ -99,9 +99,9 @@
      * @throws Exception 寮傚父
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
-        DataV202404 dV1 = (DataV202404)data.getSubData() ;
+        DataV202404 dV202404 = (DataV202404)data.getSubData() ;
         DataCdC2Vo cdData = new DataCdC2Vo(CodeV202404.getCodeName(dataCode)) ;
-        dV1.subData = cdData ;
+        dV202404.subData = cdData ;
         int index = ProtocolConstantV206V202404.dataIndex ;
         cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/TransparentDown.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/TransparentDown.java
new file mode 100644
index 0000000..fa6620a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/TransparentDown.java
@@ -0,0 +1,47 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.util.ByteUtil;
+import com.dy.common.util.NumUtil;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/4/30 14:58
+ * @Description 閫忎紶涓嬭鍛戒护
+ */
+public class TransparentDown implements CodeParse {
+    @Override
+    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+        ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+        if(para.attachment == null || para.attachment.toString().length() == 0){
+            throw new Exception("閫忎紶涓嬭鍛戒护锛屾暟鎹」attachment涓嶈兘涓虹┖") ;
+        }
+        if(!NumUtil.isHex(para.attachment.toString())){
+            throw new Exception("閫忎紶涓嬭鍛戒护锛屾暟鎹」attachment涓嶆槸16杩涘埗") ;
+        }
+        byte[] bs = ByteUtil.hex2Bytes(para.attachment.toString()) ;
+
+        MidResultToRtu midRs = new MidResultToRtu() ;
+        midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
+        midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+        midRs.protocolVersion = para.protocolVersion; //鍗忚鐗堟湰鍙�
+        midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+        midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+        midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+        midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//涓嬭鍛戒护鍔熻兘鐮佸悕绉�;
+        midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+        midRs.downBufHex = para.attachment.toString() ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+        midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+        midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+        midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+        if(isLowPower != null && isLowPower.booleanValue()){
+            //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+            midRs.isQuickSend = true ;
+        }
+
+        return new MidResult[]{midRs} ;
+    }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/NumUtil.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/NumUtil.java
index eaf5d63..a81e0ab 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/NumUtil.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/NumUtil.java
@@ -43,13 +43,12 @@
 		return true;
 	}
 	/**
-	 * 鍒ゆ柇鏄惁鏄暣鏁�
+	 * 鍒ゆ柇鏄惁涓�16杩涘埗
 	 * 
 	 * @param str String
 	 * @return boolean
 	 */
 	public static boolean isHex(String str) {
-		// 鍒ゆ柇鏄惁鏄暟瀛�
 		if(str == null || str.trim().equals(""))
 			return false ;
 		if(str.length()%2 != 0)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java
index d56a6d3..41de437 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java
@@ -197,6 +197,19 @@
     }
 
     /**
+     * 鍒涘缓澶栭儴閫忎紶鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
+     * @param code 鍛戒护code
+     * @return
+     */
+    protected Command createOuterTransparentCommand(String comId, String code) {
+        Command com = new Command();
+        com.id = comId;
+        com.code = code ;
+        com.type = CommandType.outerTransCommand;
+        return com ;
+    }
+
+    /**
      * 鍒涘缓鍐呴儴
      * @param code 鍛戒护code
      * @return
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/WebDownTransparentComTask.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/WebDownTransparentComTask.java
new file mode 100644
index 0000000..478f127
--- /dev/null
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/WebDownTransparentComTask.java
@@ -0,0 +1,69 @@
+package com.dy.rtuMw.server.tasks;
+
+import com.dy.common.mw.core.CoreTask;
+import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.Driver;
+import com.dy.common.mw.protocol.MidResult;
+import com.dy.common.mw.protocol.ProtocolCache;
+import com.dy.rtuMw.server.ServerProperties;
+import com.dy.rtuMw.server.forTcp.TcpSessionCache;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+/**
+ * 浠巜eb涓氬姟绯荤粺鍙戝悜RTU鐨勫懡浠や换鍔�
+ * @author Administrator
+ *
+ */
+public class WebDownTransparentComTask extends CoreTask {
+	
+	private static Logger log = LogManager.getLogger(WebDownTransparentComTask.class.getName());
+
+	@Override
+	public Integer execute() {
+		Command com = (Command)this.data ;
+		try {
+			log.info("涓嬪彂杩滅▼閫忎紶鍛戒护" + com.getCode() + "鐨勬牳蹇冧换鍔″紑濮嬫墽琛�");
+			this.deal(com);
+		} catch (Exception e) {
+			log.error("澶勭悊涓嬭閫忎紶鍛戒护鍑洪敊" + (e.getMessage()==null?"!":("锛�" + e.getMessage())) ,e);
+		}
+		return null ;
+	}
+	
+	/**
+	 * 澶勭悊鍛戒护
+	 * @param com 鍛戒护
+	 * @throws Exception
+	 */
+	private void deal(Command com) throws Exception{
+		String rtuAddr = com.getRtuAddr() ;
+		//鍓嶉潰宸茬粡鍒ゆ柇rtuAddr涓虹┖鎯呭喌锛岃嚦姝ゅ叾涓嶄负绌�
+		Driver dri = null ;
+		Object[] objs =  TcpSessionCache.getTcpProtocolNameVersion(rtuAddr) ;
+		if(objs == null || objs.length == 0 || objs[0] == null){
+			//RTU鏈浘涓婄嚎
+			int count = ProtocolCache.driverCount() ;
+			if(count == 1){
+				//鍙湁涓�涓崗璁�
+				dri = ProtocolCache.getFirstDriver() ;
+			}
+		}else{
+			String protocolName = (String)objs[0];
+			com.protocolVersion = (Short)objs[1];
+			dri = ProtocolCache.getDriver(protocolName, com.protocolVersion) ;
+		}
+		if(dri == null){
+			log.error("涓ラ噸閿欒锛屾湭鑳藉緱鍒癛TU(" + rtuAddr + ")椹卞姩绫诲疄渚嬶紒");
+		}else{
+			MidResult[] actions = dri.transparentCommand(ServerProperties.isLowPower, com)  ;
+			log.info("涓嬪彂杩滅▼閫忎紶鍛戒护" + com.getCode() + "鐢卞崗璁┍鍔ㄥ鐞嗗畬鎴�");
+			if(actions != null){
+				for(MidResult act : actions){
+					act.action();
+				}
+			}
+		}
+	}
+
+}
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
index f50db60..3c4781f 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
@@ -14,6 +14,7 @@
 import com.dy.common.mw.protocol.CommandType;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.rtuMw.server.tasks.WebDownTransparentComTask;
 import com.dy.rtuMw.server.upgrade.UpgradeUnit;
 import jakarta.servlet.ServletOutputStream;
 import jakarta.servlet.http.HttpServletRequest;
@@ -233,11 +234,18 @@
                 return BaseResponseUtils.buildError(ReturnCommand.errored("澶勭悊鍐呴儴鍛戒护鍑洪敊" + (e.getMessage() == null?"":("锛�" + e.getMessage())), com.getId(), com.getCode()) );
             }
         }else if(commandType.equals(CommandType.outerCommand)){
-            //鍙戝悜RTU鐨勫閮ㄥ懡浠わ紝寮傛澶勭悊锛寃eb绔痡roups鎴愬憳鍚屾寰楀埌鍛戒护澶勭悊缁撴灉锛屼絾鏋勯�犲懡浠ゅ強涓嬪彂鍛戒护鍜屽懡浠ょ粨鏋滄帴鏀惰寮傛寰楀埌
+            //鍙戝悜RTU鐨勫閮ㄥ懡浠�
             try{
                 return this.dealOuterCommand(com) ;
             }catch(Exception e){
                 return BaseResponseUtils.buildError(ReturnCommand.errored("澶勭悊鍙戝悜RTU鐨勫閮ㄥ懡浠ゅ嚭閿�" + (e.getMessage() == null?"":("锛�" + e.getMessage())), com.getId(), com.getCode()) );
+            }
+        }else if(commandType.equals(CommandType.outerTransCommand)){
+            //鍙戝悜RTU鐨勫閮ㄩ�忎紶鍛戒护
+            try{
+                return this.dealOutTransparentCommand(com) ;
+            }catch(Exception e){
+                return BaseResponseUtils.buildError(ReturnCommand.errored("澶勭悊鍙戝悜RTU鐨勫閮ㄩ�忎紶鍛戒护鍑洪敊" + (e.getMessage() == null?"":("锛�" + e.getMessage())), com.getId(), com.getCode()) );
             }
         }else if(commandType.equals(CommandType.resultCommand)){
             return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛岄�氫俊涓棿浠朵笉鎺ョ粨鏋滅被鍨嬬殑鍛戒护锛�", com.getId(), com.getCode()));
@@ -293,4 +301,39 @@
         return BaseResponseUtils.buildSuccess(ReturnCommand.successed("鍛戒护宸叉帴鍙楋紝鍗冲皢鏋勯�犲苟涓嬪彂鍛戒护銆�", command.getId(), command.getCode()));
     }
 
+
+
+    /**
+     * 澶勭悊鍙戝悜RTU鐨勫閮ㄥ懡浠�
+     * @return 缁撴灉
+     */
+    private BaseResponse<Command> dealOutTransparentCommand(Command command){
+        String rtuAddr = command.getRtuAddr() ;
+        if(rtuAddr == null || rtuAddr.trim().equals("")){
+            return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孯TU鍦板潃涓虹┖锛�", command.getId(), command.getCode())) ;
+        }
+        rtuAddr = rtuAddr.trim() ;
+        Boolean onLine = TcpSessionCache.isConnect(rtuAddr);
+        if(onLine == null){
+            return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孯TU锛堝湴鍧�=" + rtuAddr + "锛夋湭涓婄嚎锛�", command.getId(), command.getCode())) ;
+        }else if(!onLine.booleanValue()){
+            if(!ServerProperties.isLowPower){
+                return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孯TU锛堝湴鍧�=" + rtuAddr + "锛夌绾匡紒", command.getId(), command.getCode())) ;
+            }
+        }
+
+        //鐢熸垚寮傛浠诲姟
+        WebDownTransparentComTask task = new WebDownTransparentComTask() ;
+        task.data = command ;
+        try{
+            log.info("鏋勯�犱笅鍙戣繙绋嬮�忎紶鍛戒护" + command.getCode() + "鐨勬牳蹇冧换鍔★紝骞舵斁鍏ヤ换鍔¢槦鍒椾腑");
+            CoreUnit.getInstance().pushCoreTask(task);
+        }catch(Exception e){
+            log.error(e.getMessage(), e);
+            return BaseResponseUtils.buildError(ReturnCommand.successed("閫忎紶鍛戒护澶勭悊澶辫触" + e.getMessage(), command.getId(), command.getCode())) ;
+        }
+
+        return BaseResponseUtils.buildSuccess(ReturnCommand.successed("閫忎紶鍛戒护宸叉帴鍙楋紝鍗冲皢鏋勯�犲苟涓嬪彂鍛戒护銆�", command.getId(), command.getCode()));
+    }
+
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java
new file mode 100644
index 0000000..a1e4b11
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java
@@ -0,0 +1,25 @@
+package com.dy.pipIrrRemote.monitor;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/4/30 16:08
+ * @Description
+ */
+
+@Slf4j
+@Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
+@RestController
+@RequestMapping(path = "command")
+@RequiredArgsConstructor
+public class ComTransCtrl {
+
+    private final ComTransSv comSv;
+
+
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransSv.java
new file mode 100644
index 0000000..2c49714
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransSv.java
@@ -0,0 +1,29 @@
+package com.dy.pipIrrRemote.monitor;
+
+import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
+import com.dy.pipIrrGlobal.rtuMw.Web2RtuMw;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/4/30 16:11
+ * @Description
+ */
+@Slf4j
+@Service
+public class ComTransSv extends Web2RtuMw {
+
+    @Autowired
+    private PrIntakeMapper prIntakeMapper;
+
+    @Autowired
+    private Environment env;
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+}

--
Gitblit v1.8.0