From f4d206d07eaeabad56e2918edf9799af13bb526e Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 12 五月 2025 17:38:12 +0800
Subject: [PATCH] 表阀一体机:web后端系统,实现功能码5B、5C、15、16、22、30、31、50、55、56、65、68、97、98、99远程命令。

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3Vo.java           |    5 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdSv.java    |   15 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdParam.java |   25 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application.yml                                           |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdParam.java |   20 
 pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/resources/log4j2.yml                                         |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdDto.java   |   22 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd10Vo.java              |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdCtrl.java  |   49 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdParam.java |   19 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdCtrl.java  |   44 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/CdParameter.java       |   21 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd55Vo.java              |   38 +
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd56Vo.java              |   24 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdParam.java |   19 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdCtrl.java  |  134 +++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdDto.java   |   17 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd50Vo.java              |   22 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdSv.java    |   15 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdDto.java   |   17 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd88Vo.java              |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdDto.java   |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdSv.java    |    6 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdSv.java    |   15 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdCtrl.java  |   44 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java           |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd68Vo.java              |   24 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdCtrl.java  |   50 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java              |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdCtrl.java  |   44 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdXyVo.java              |   21 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdCtrl.java  |   44 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd86Vo.java              |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransParam.java            |    5 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdDto.java   |   17 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdParam.java |   19 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdParam.java |   20 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdParam.java |   21 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdCtrl.java  |   42 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdSv.java    |   15 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdDto.java   |   17 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdCtrl.java  |   44 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd9AVo.java              |    4 
 pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml                                              |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdSv.java    |   15 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdParam.java |   21 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdDto.java   |   17 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdSv.java    |   26 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdDto.java   |   22 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdDto.java   |   17 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdDto.java   |   17 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdDto.java   |   17 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java              |    5 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComCtrl.java           |   10 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdParam.java |   19 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdSv.java    |   15 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdParam.java |   20 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdParam.java |   19 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Command.java                                   |    2 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5CVo.java              |   30 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java         |   15 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdDto.java   |   24 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd65Vo.java              |   45 +
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdParam.java |   19 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java                 |   58 +
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdSv.java    |   15 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80_5BVo.java           |  103 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdCtrl.java  |   54 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdCtrl.java  |   44 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdCtrl.java  |   44 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdSv.java    |    6 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdDto.java   |   17 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdSv.java    |   15 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Up.java                |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdCtrl.java  |  135 +++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdCtrl.java  |   44 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdSv.java    |   15 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdCtrl.java  |  144 +++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdSv.java    |    6 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd85Vo.java              |    4 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java                                 |   34 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java              |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd87Vo.java              |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd81Vo.java              |    4 
 /dev/null                                                                                                            |   17 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdDto.java   |   17 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd8AVo.java              |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdParam.java |   17 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdDto.java   |   17 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdParam.java |   19 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdSv.java    |   15 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdParam.java |   20 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdSv.java    |   15 
 93 files changed, 1,995 insertions(+), 261 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Command.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Command.java
index f7334b8..59b6ec0 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Command.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Command.java
@@ -76,7 +76,7 @@
 		s += (protocol == null ? "" : ("鍗忚=" + protocol + "\n"));
 		s += (protocolVersion == null ? "" : ("鍗忚鐗堟湰鍙�=" + protocolVersion + "\n"));
 		s += (rtuAddr == null ? "" : ("Rtu鍦板潃=" + rtuAddr + "\n"));
-		s += "鍛戒护绫诲瀷=" + (type.equals(CommandType.innerCommand)?"鍐呴儴鍛戒护":"RTU鍛戒护") + "\n" ;
+		s += "鍛戒护绫诲瀷=" + (type.equals(CommandType.innerCommand)?"鍐呴儴鍛戒护":(type.equals(CommandType.outerCommand)?"RTU鍛戒护":"閫忎紶鍛戒护")) + "\n" ;
 		s += (code == null ? "" : ("鍔熻兘鐮�=" + code + "\n")) ;
 		s += (rtuResultSendWebUrl == null ? "" : ("鍥炶皟缃戝潃=" + rtuResultSendWebUrl + "\n"));
 		if(param != null){
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 710539d..97eb527 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
@@ -67,7 +67,7 @@
         cdData.waterAlarm = ByteUtil.BCD2Int_LE(bs, index, index + 1) ;
 
         index += 2 ;
-        cdData.moneyAlarm = ByteUtil.BCD2Int_LE(bs, index, index + 1) ;
+        cdData.moneyAlarm = ByteUtil.BCD2Int_LE(bs, index, index + 1)/100 ;
 
     }
 }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java
index c1729b0..83c5f93 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java
@@ -154,4 +154,62 @@
         return sb.toString() ;
     }
 
+
+    public String toStr(){
+        StringBuffer sb = new StringBuffer() ;
+        sb.append("娉�/闃�鐘舵�� : ") ;
+        sb.append(statePump == null?"鏈煡":(statePump.byteValue()==1?"娉�/闃�寮�":(statePump.byteValue()==0?"娉�/闃�鍏�":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("鍓╀綑姘撮噺鎶ヨ : ") ;
+        sb.append(alarmWaterRemain == null?"鏈煡":(alarmWaterRemain.byteValue() == 0 ? "姝e父":(alarmWaterRemain.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("鍓╀綑0姘撮噺鍏虫车/闃� : ") ;
+        sb.append(alarm0WaterRemain == null?"鏈煡":(alarm0WaterRemain.byteValue() == 0 ? "姝e父":(alarm0WaterRemain.byteValue() == 1 ? "鍏虫车/闃�":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("骞村害瓒呴噰 : ") ;
+        sb.append(alarmExceedYear == null?"鏈煡":(alarmExceedYear.byteValue() == 0 ? "姝e父":(alarmExceedYear.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("娴侀噺璁℃晠闅� : ") ;
+        sb.append(alarmWaterMeterFault == null?"鏈煡":(alarmWaterMeterFault.byteValue() == 0 ? "姝e父":(alarmWaterMeterFault.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("鍋锋按 : ") ;
+        sb.append(alarmSteal == null?"鏈煡":(alarmSteal.byteValue() == 0 ? "姝e父":(alarmSteal.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("娴侀噺璁℃崯鍧� : ") ;
+        sb.append(alarmWaterMeterBreak == null?"鏈煡":(alarmWaterMeterBreak.byteValue() == 0 ? "姝e父":(alarmWaterMeterBreak.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("鐢佃〃鏁呴殰 : ") ;
+        sb.append(alarmEleMeterFault == null?"鏈煡":(alarmEleMeterFault.byteValue() == 0 ? "姝e父":(alarmEleMeterFault.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("鍓╀綑0閲戦鍏虫车/闃� : ") ;
+        sb.append(alarm0MoneyRemain == null?"鏈煡":(alarm0MoneyRemain.byteValue() == 0 ? "姝e父":(alarm0MoneyRemain.byteValue() == 1 ? "鍏虫车/闃�":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("鎺у埗鍣ㄥ唴闂� : ") ;
+        sb.append(alarmDoor == null?"鏈煡":(alarmDoor.byteValue() == 0 ? "姝e父":(alarmDoor.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("鐢垫睜鐢靛帇浣� : ") ;
+        sb.append(alarmBatteryVolt == null?"鏈煡":(alarmBatteryVolt.byteValue() == 0 ? "姝e父":(alarmBatteryVolt.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("浜ゆ祦缂洪」 : ") ;
+        sb.append(alarmEleMiss == null?"鏈煡":(alarmEleMiss.byteValue() == 0 ? "姝e父":(alarmEleMiss.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("浜ゆ祦杩囨祦 : ") ;
+        sb.append(alarmEleExceed == null?"鏈煡":(alarmEleExceed.byteValue() == 0 ? "姝e父":(alarmEleExceed.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("涓夌浉鐢垫瑺鍘� : ") ;
+        sb.append(alarmEleLowVolt == null?"鏈煡":(alarmEleLowVolt.byteValue() == 0 ? "姝e父":(alarmEleLowVolt.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("IC鍗″姛鑳� : ") ;
+        sb.append(stateIcEnable == null?"鏈煡":(stateIcEnable.byteValue() == 0 ? "鏃犳晥":(stateIcEnable.byteValue() == 1 ? "鏈夋晥":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("闃�闂ㄥ紑鍏崇姸鎬� : ") ;
+        sb.append(stateOpClValve == null?"鏈煡":(stateOpClValve.byteValue() == 0 ? "姝e父":(stateOpClValve.byteValue() == 1 ? "鏈埌浣�":"鏈煡"))) ;
+        sb.append("\n") ;
+        sb.append("闃�闂ㄥ牭杞姤璀� : ") ;
+        sb.append(alarmBlockValve == null?"鏈煡":(alarmBlockValve.byteValue() == 0 ? "姝e父":(alarmBlockValve.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+        sb.append("\n") ;
+
+        return sb.toString() ;
+    }
+
 }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd10Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd10Vo.java
index eec3712..665d18b 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd10Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd10Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 
@@ -13,6 +14,9 @@
 
 	public String comName ;//鍛戒护鍚嶇О
 
+	public DataCd10Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_10) ;
+	}
 	public DataCd10Vo(String comName){
 		this.comName = comName ;
 	}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd50Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd50Vo.java
index 72fffec..fd15c17 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd50Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd50Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 
@@ -12,6 +13,10 @@
 	public String rtuAddr;//鎺у埗鍣ㄦ柊鍦板潃
 
 	public String comName ;//鍛戒护鍚嶇О
+
+	public DataCd50Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_50) ;
+	}
 
 	public DataCd50Vo(String comName){
 		this.comName = comName ;
@@ -32,4 +37,21 @@
 		return sb.toString() ;
 	}
 
+	public String toStr(boolean showBase){
+		StringBuffer sb = new StringBuffer() ;
+		if(showBase){
+			sb.append(comName + " : \n") ;
+			sb.append("鎺у埗鍣ㄧ被鍨� : ") ;
+			sb.append(CommonV202404.ctrlDevType(controllerType)) ;
+			sb.append("\n") ;
+			sb.append("椤圭洰缂栧彿 : ") ;
+			sb.append(projectNo == null?"鏈煡":projectNo) ;
+			sb.append("\n") ;
+		}
+		sb.append("鎺у埗鍣ㄥ湴鍧� : ") ;
+		sb.append(rtuAddr == null?"鏈煡": rtuAddr) ;
+		sb.append("\n") ;
+		return sb.toString() ;
+	}
+
 }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd55Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd55Vo.java
index b0c0a17..20a85de 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd55Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd55Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 
@@ -18,6 +19,9 @@
 	public String dt ;//鍏呭�兼椂闂达紙yyyy-mm-dd HH:mm:ss锛�
 
 	public String comName ;//鍛戒护鍚嶇О
+	public DataCd55Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_55) ;
+	}
 
 	public DataCd55Vo(String comName){
 		this.comName = comName ;
@@ -56,4 +60,38 @@
 		return sb.toString() ;
 	}
 
+	public String toStr(boolean showBase){
+		StringBuffer sb = new StringBuffer() ;
+		if(showBase){
+			sb.append(comName + " : \n") ;
+			sb.append("鎺у埗鍣ㄧ被鍨� : ") ;
+			sb.append(CommonV202404.ctrlDevType(controllerType)) ;
+			sb.append("\n") ;
+			sb.append("椤圭洰缂栧彿 : ") ;
+			sb.append(projectNo == null?"鏈煡":projectNo) ;
+			sb.append("\n") ;
+		}
+		sb.append("IC鍗″湴鍧� : ") ;
+		sb.append(icCardAddr == null?"鏈煡":icCardAddr) ;
+		sb.append("\n") ;
+		sb.append("鐢ㄦ埛鍗″簭鍒楀彿 : ") ;
+		sb.append(icCardNo == null?"鏈煡":icCardNo) ;
+		sb.append("\n") ;
+		sb.append("鍏呭�奸噾棰� : ") ;
+		sb.append(chargeMoney == null?"鏈煡":chargeMoney) ;
+		sb.append("\n") ;
+		sb.append("鍏呭�兼按閲� : ") ;
+		sb.append(chargeWater == null?"鏈煡":chargeWater) ;
+		sb.append("\n") ;
+		sb.append("娴佹按鍙� : ") ;
+		sb.append(flowNo == null?"鏈煡":flowNo) ;
+		sb.append("\n") ;
+		sb.append("鍏呭�肩粨鏋� : ") ;
+		sb.append(success == null?"鏈煡":(success.booleanValue()?"鎴愬姛":"澶辫触")) ;
+		sb.append("\n") ;
+		sb.append("鍏呭�兼椂闂� : ") ;
+		sb.append(dt == null?"鏈煡":dt) ;
+		sb.append("\n") ;
+		return sb.toString() ;
+	}
 }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd56Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd56Vo.java
index 9833afe..2f1d436 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd56Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd56Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import lombok.Data;
 
 //鏌ヨ璁惧缁堢鍓╀綑姘撮噺鍜屽墿浣欓噾棰濇姤璀﹀��
@@ -12,6 +13,9 @@
 	public Integer moneyAlarm ;//鍓╀綑閲戦鎶ヨ鍊�,鍗曚綅:鍏冦�傛暣鏁帮紝鍙栧�艰寖鍥�0~65535
 
 	public String comName ;//鍛戒护鍚嶇О
+	public DataCd56Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_56) ;
+	}
 
 	public DataCd56Vo(String comName){
 		this.comName = comName ;
@@ -35,4 +39,24 @@
 		return sb.toString() ;
 	}
 
+	public String toStr(boolean showBase){
+		StringBuffer sb = new StringBuffer() ;
+		if(showBase){
+			sb.append(comName + " : \n") ;
+			sb.append("鎺у埗鍣ㄧ被鍨� : ") ;
+			sb.append(controllerType == null?"鏈煡":(controllerType.equals("01")?"娴嬫帶涓�浣撻榾":(controllerType.equals("57")?"浜曠數鎺у埗鍣�":"鏈煡"))) ;
+			sb.append("\n") ;
+			sb.append("椤圭洰缂栧彿 : ") ;
+			sb.append(projectNo == null?"鏈煡":projectNo) ;
+			sb.append("\n") ;
+		}
+		sb.append("鍓╀綑閲戦鎶ヨ鍊� : ") ;
+		sb.append(moneyAlarm == null?"鏈煡":moneyAlarm) ;
+		sb.append("\n") ;
+		sb.append("鍓╀綑姘撮噺鎶ヨ鍊� : ") ;
+		sb.append(waterAlarm == null?"鏈煡":waterAlarm) ;
+		sb.append("\n") ;
+		return sb.toString() ;
+	}
+
 }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5CVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5CVo.java
index a563255..15939ef 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5CVo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5CVo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 
@@ -16,6 +17,9 @@
 
 	public String comName ;//鍛戒护鍚嶇О
 
+	public DataCd5CVo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_5C) ;
+	}
 	public DataCd5CVo(String comName){
 		this.comName = comName ;
 	}
@@ -44,4 +48,30 @@
 		return sb.toString() ;
 	}
 
+	public String toStr(boolean showBase){
+		StringBuffer sb = new StringBuffer() ;
+		if(showBase){
+			sb.append(comName + " : \n") ;
+			sb.append("鎺у埗鍣ㄧ被鍨� : ") ;
+			sb.append(CommonV202404.ctrlDevType(controllerType)) ;
+			sb.append("\n") ;
+			sb.append("椤圭洰缂栧彿 : ") ;
+			sb.append(projectNo == null?"鏈煡":projectNo) ;
+			sb.append("\n") ;
+		}
+		sb.append("瑙傚療鏃堕棿 : ") ;
+		sb.append(dt == null?"鏈煡":dt) ;
+		sb.append("\n") ;
+		sb.append("褰撴棩姘磋〃鍑�娴侀噺 : ") ;
+		sb.append(meterAmountDay == null?"鏈煡":meterAmountDay) ;
+		sb.append("\n") ;
+		sb.append("褰撴棩鐢ㄦ埛鐢ㄦ按閲� : ") ;
+		sb.append(farmerAmountDay == null?"鏈煡":farmerAmountDay) ;
+		sb.append("\n") ;
+		sb.append("褰撴棩婕忔崯姘撮噺 : ") ;
+		sb.append(lossAmountDay == null?"鏈煡":lossAmountDay) ;
+		sb.append("\n") ;
+		return sb.toString() ;
+	}
+
 }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd65Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd65Vo.java
index 6c107d7..18b0851 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd65Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd65Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 
@@ -20,7 +21,9 @@
 	public Byte useWaterType ;//鐢ㄦ按鏂瑰紡锛�0x00:姝e父鍒峰崱寮�娉�/闃�鐢ㄦ按 0x01:骞冲彴杩滅▼寮�娉�/闃�鐢ㄦ按 0x02:鐢ㄦ埛杩滅▼寮�娉�/闃�鐢ㄦ按 0x03:娴嬭瘯鍗★紝0x04:鍏跺畠锛�
 
 	public String comName ;//鍛戒护鍚嶇О
-
+	public DataCd65Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_65) ;
+	}
 	public DataCd65Vo(String comName){
 		this.comName = comName ;
 	}
@@ -64,4 +67,44 @@
 		return sb.toString() ;
 	}
 
+	public String toStr(boolean showBase){
+		StringBuffer sb = new StringBuffer() ;
+		if(showBase){
+			sb.append(comName + " : \n") ;
+			sb.append("鎺у埗鍣ㄧ被鍨� : ") ;
+			sb.append(CommonV202404.ctrlDevType(controllerType)) ;
+			sb.append("\n") ;
+			sb.append("椤圭洰缂栧彿 : ") ;
+			sb.append(projectNo == null?"鏈煡":projectNo) ;
+			sb.append("\n") ;
+		}
+		sb.append("鐢ㄦ按鏂瑰紡 : ") ;
+		sb.append(useWaterType == null?"鏈煡":(useWaterType.byteValue()==0?"鍒峰崱寮�娉�/闃�":(useWaterType.byteValue()==1?"骞冲彴杩滅▼寮�娉�/闃�":(useWaterType.byteValue()==2?"APP杩滅▼寮�娉�/闃�":(useWaterType.byteValue()==3?"娴嬭瘯鍗″紑娉�/闃�":(useWaterType.byteValue()==4?"鍏朵粬":"鏈煡")))))) ;
+		sb.append("\n") ;
+		sb.append("IC鍗″湴鍧� : ") ;
+		sb.append(icCardAddr == null?"鏈煡":icCardAddr) ;
+		sb.append("\n") ;
+		sb.append("鐢ㄦ埛鍗″簭鍒楀彿 : ") ;
+		sb.append(icCardNo == null?"鏈煡":icCardNo) ;
+		sb.append("\n") ;
+		sb.append("鐢ㄦ埛鍓╀綑閲戦 : ") ;
+		sb.append(moneyRemain == null?"鏈煡":moneyRemain) ;
+		sb.append("\n") ;
+		sb.append("鐢ㄦ埛鍓╀綑姘撮噺 : ") ;
+		sb.append(waterRemain == null?"鏈煡":waterRemain) ;
+		sb.append("\n") ;
+		sb.append("鏈浣跨敤鐢甸噺 : ") ;
+		sb.append(thisEle == null?"鏈煡":thisEle) ;
+		sb.append("\n") ;
+		sb.append("鏈浣跨敤姘撮噺 : ") ;
+		sb.append(thisWater == null?"鏈煡":thisWater) ;
+		sb.append("\n") ;
+		sb.append("鏈寮�濮嬫椂闂� : ") ;
+		sb.append(rtuStartDt == null?"鏈煡":rtuStartDt) ;
+		sb.append("\n") ;
+		sb.append("鏈缁撴潫鏃堕棿 : ") ;
+		sb.append(rtuEndDt == null?"鏈煡":rtuEndDt) ;
+		sb.append("\n") ;
+		return sb.toString() ;
+	}
 }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd68Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd68Vo.java
index f8e39ca..8fbde6b 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd68Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd68Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 
@@ -14,6 +15,9 @@
 
 	public String comName ;//鍛戒护鍚嶇О
 
+	public DataCd68Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_68) ;
+	}
 	public DataCd68Vo(String comName){
 		this.comName = comName ;
 	}
@@ -36,4 +40,24 @@
 		return sb.toString() ;
 	}
 
+	public String toStr(boolean showBase){
+		StringBuffer sb = new StringBuffer() ;
+		if(showBase){
+			sb.append(comName + " : \n") ;
+			sb.append("鎺у埗鍣ㄧ被鍨� : ") ;
+			sb.append(CommonV202404.ctrlDevType(controllerType)) ;
+			sb.append("\n") ;
+			sb.append("椤圭洰缂栧彿 : ") ;
+			sb.append(projectNo == null?"鏈煡":projectNo) ;
+			sb.append("\n") ;
+		}
+		sb.append("鏈轰簳骞存渶澶х敤姘撮噺 : ") ;
+		sb.append(maxAmountYear == null?"鏈煡":maxAmountYear) ;
+		sb.append("\n") ;
+		sb.append("姘翠綅涓嬮檺 : ") ;
+		sb.append(limitLevel == null?"鏈煡":limitLevel) ;
+		sb.append("\n") ;
+		return sb.toString() ;
+	}
+
 }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80_5BVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80_5BVo.java
index b41af1a..ab7ab1d 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80_5BVo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80_5BVo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -52,6 +53,9 @@
 
 	public String comName ;//鍛戒护鍚嶇О
 
+	public DataCd80_5BVo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_5B) ;
+	}
 	public DataCd80_5BVo(String comName){
 		this.comName = comName ;
 	}
@@ -149,7 +153,104 @@
 		sb.append("      淇″彿寮哄害 : ") ;
 		sb.append(csq == null?"鏈煡":csq) ;
 		sb.append("\n") ;
-		return sb.toString() + super.toString() ;
+		return sb + super.toString() ;
 	}
 
+	public String toStr(boolean showBase){
+		StringBuffer sb = new StringBuffer() ;
+		if(showBase){
+			sb.append(comName + " : \n") ;
+			sb.append("鎺у埗鍣ㄧ被鍨� : ") ;
+			sb.append(CommonV202404.ctrlDevType(controllerType)) ;
+			sb.append("\n") ;
+			sb.append("椤圭洰缂栧彿 : ") ;
+			sb.append(projectNo == null?"鏈煡":projectNo) ;
+			sb.append("\n") ;
+			sb.append("鐢ㄦ按鏂瑰紡 : ") ;
+			sb.append(useWaterType == null?"鏈煡":(useWaterType.byteValue()==0?"鍒峰崱寮�娉�/闃�":(useWaterType.byteValue()==1?"骞冲彴杩滅▼寮�娉�/闃�":(useWaterType.byteValue()==2?"APP杩滅▼寮�娉�/闃�":(useWaterType.byteValue()==3?"娴嬭瘯鍗″紑娉�/闃�":(useWaterType.byteValue()==4?"鍏朵粬":"鏈煡")))))) ;
+			sb.append("\n") ;
+		}
+		sb.append("璁㈠崟鍙� : ") ;
+		sb.append(orderNo == null?"鏈煡":orderNo) ;
+		sb.append("\n") ;
+		sb.append("IC鍗″湴鍧� : ") ;
+		sb.append(icCardAddr == null?"鏈煡":icCardAddr) ;
+		sb.append("\n") ;
+		sb.append("鐢ㄦ埛鍗″簭鍒楀彿 : ") ;
+		sb.append(icCardNo == null?"鏈煡":icCardNo) ;
+		sb.append("\n") ;
+		sb.append("瑙傚療鏃堕棿 : ") ;
+		sb.append(rtuDt == null?"鏈煡":rtuDt) ;
+		sb.append("\n") ;
+		sb.append("姘翠綅 : ") ;
+		sb.append(waterLevel == null?"鏈煡":waterLevel) ;
+		sb.append("\n") ;
+		sb.append("姘村帇 : ") ;
+		sb.append(waterPress == null?"鏈煡":waterPress) ;
+		sb.append("\n") ;
+		sb.append("鐬椂娴侀噺 : ") ;
+		sb.append(waterInstant == null?"鏈煡":waterInstant) ;
+		sb.append("\n") ;
+		sb.append("姘磋〃绱娴侀噺 : ") ;
+		sb.append(waterTotal == null?"鏈煡":waterTotal) ;
+		sb.append("\n") ;
+		sb.append("鐢佃〃绱鐢甸噺 : ") ;
+		sb.append(eleTotal == null?"鏈煡":eleTotal) ;
+		sb.append("\n") ;
+		sb.append("鐢ㄦ埛鍓╀綑閲戦 : ") ;
+		sb.append(moneyRemain == null?"鏈煡":moneyRemain) ;
+		sb.append("\n") ;
+		sb.append("鐢ㄦ埛鍓╀綑姘撮噺 : ") ;
+		sb.append(waterRemain == null?"鏈煡":waterRemain) ;
+		sb.append("\n") ;
+		sb.append("鏈浣跨敤鐢甸噺 : ") ;
+		sb.append(thisEle == null?"鏈煡":thisEle) ;
+		sb.append("\n") ;
+		sb.append("鏈浣跨敤姘撮噺 : ") ;
+		sb.append(thisWater == null?"鏈煡":thisWater) ;
+		sb.append("\n") ;
+		sb.append("鏈浣跨敤閲戦 : ") ;
+		sb.append(thisMoney == null?"鏈煡":thisMoney) ;
+		sb.append("\n") ;
+		sb.append("鏈浣跨敤鏃堕暱 : ") ;
+		sb.append(thisDuration == null?"鏈煡":thisDuration) ;
+		sb.append("\n") ;
+		sb.append("褰撳墠姘撮噺鍗曚环 : ") ;
+		sb.append(waterPrice == null?"鏈煡":waterPrice) ;
+		sb.append("\n") ;
+		sb.append("褰撳墠鐢甸噺鍗曚环 : ") ;
+		sb.append(elePrice == null?"鏈煡":elePrice) ;
+		sb.append("\n") ;
+		sb.append("浜ゆ祦A鐩哥數鍘� : ") ;
+		sb.append(aVolt == null?"鏈煡":aVolt) ;
+		sb.append("\n") ;
+		sb.append("浜ゆ祦B鐩哥數鍘� : ") ;
+		sb.append(bVolt == null?"鏈煡":bVolt) ;
+		sb.append("\n") ;
+		sb.append("浜ゆ祦C鐩哥數鍘� : ") ;
+		sb.append(cVolt == null?"鏈煡":cVolt) ;
+		sb.append("\n") ;
+		sb.append("浜ゆ祦A鐩哥數娴� : ") ;
+		sb.append(aCurrent == null?"鏈煡":aCurrent) ;
+		sb.append("\n") ;
+		sb.append("浜ゆ祦B鐩哥數娴� : ") ;
+		sb.append(bCurrent == null?"鏈煡":bCurrent) ;
+		sb.append("\n") ;
+		sb.append("浜ゆ祦C鐩哥數娴� : ") ;
+		sb.append(cCurrent == null?"鏈煡":cCurrent) ;
+		sb.append("\n") ;
+		sb.append("鍚庡鐢垫睜鐢靛帇 : ") ;
+		sb.append(batteryVolt == null?"鏈煡":batteryVolt) ;
+		sb.append("\n") ;
+		sb.append("姘磋〃杩滀紶鐢靛帇 : ") ;
+		sb.append(waterMeterTransVolt == null?"鏈煡":waterMeterTransVolt) ;
+		sb.append("\n") ;
+		sb.append("姘磋〃宸ヤ綔鐢靛帇 : ") ;
+		sb.append(waterMeterWorkVolt == null?"鏈煡":waterMeterWorkVolt) ;
+		sb.append("\n") ;
+		sb.append("淇″彿寮哄害 : ") ;
+		sb.append(csq == null?"鏈煡":csq) ;
+		sb.append("\n") ;
+		return sb + super.toStr() ;
+	}
 }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd81Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd81Vo.java
index 4e96fae..4ee031f 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd81Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd81Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -15,6 +16,9 @@
 
 	public String comName ;//鍛戒护鍚嶇О
 
+	public DataCd81Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_81) ;
+	}
 	public DataCd81Vo(String comName){
 		this.comName = comName ;
 	}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java
index e68f110..960e4ac 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 
@@ -22,6 +23,9 @@
 
 	public String comName ;//鍛戒护鍚嶇О
 
+	public DataCd83Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_83) ;
+	}
 	public DataCd83Vo(String comName){
 		this.comName = comName ;
 	}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java
index 83be31a..4de594a 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -24,6 +25,9 @@
 
 	public String comName ;//鍛戒护鍚嶇О
 
+	public DataCd84Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_84) ;
+	}
 	public DataCd84Vo(String comName){
 		this.comName = comName ;
 	}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd85Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd85Vo.java
index 9cf4c64..2fc29f0 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd85Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd85Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -29,6 +30,9 @@
 
 	public String comName ;//鍛戒护鍚嶇О
 
+	public DataCd85Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_85) ;
+	}
 	public DataCd85Vo(String comName){
 		this.comName = comName ;
 	}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd86Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd86Vo.java
index 2b44df6..96d3b14 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd86Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd86Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 
@@ -15,6 +16,9 @@
 
 	public String comName ;//鍛戒护鍚嶇О
 
+	public DataCd86Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_86) ;
+	}
 	public DataCd86Vo(String comName){
 		this.comName = comName ;
 	}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd87Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd87Vo.java
index fa9bac2..9ffcd7c 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd87Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd87Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 
@@ -15,6 +16,9 @@
 
 	public String comName ;//鍛戒护鍚嶇О
 
+	public DataCd87Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_87) ;
+	}
 	public DataCd87Vo(String comName){
 		this.comName = comName ;
 	}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd88Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd88Vo.java
index e3d37fe..8b96fd9 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd88Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd88Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 
@@ -13,6 +14,9 @@
 
 	public String comName ;//鍛戒护鍚嶇О
 
+	public DataCd88Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_88) ;
+	}
 	public DataCd88Vo(String comName){
 		this.comName = comName ;
 	}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd8AVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd8AVo.java
index 8a33b68..d5a199d 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd8AVo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd8AVo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 
@@ -17,6 +18,9 @@
 
 	public String comName ;//鍛戒护鍚嶇О
 
+	public DataCd8AVo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_8A) ;
+	}
 	public DataCd8AVo(String comName){
 		this.comName = comName ;
 	}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java
index 1b9e9ab..3b8f6e2 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 
@@ -17,6 +18,9 @@
 
 	public String comName ;//鍛戒护鍚嶇О
 
+	public DataCd92_A2Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_92) ;
+	}
 	public DataCd92_A2Vo(String comName){
 		this.comName = comName ;
 	}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3Vo.java
index 80c266c..6008b68 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -28,7 +29,9 @@
 	public Integer thisDuration;//鏈浣跨敤鏃堕棿闀�, 鍗曚綅锛氬垎閽�
 
 	public String comName ;//鍛戒护鍚嶇О
-
+	public DataCd93_A3Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_93) ;
+	}
 	public DataCd93_A3Vo(String comName){
 		this.comName = comName ;
 	}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd9AVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd9AVo.java
index cd1beec..68d956a 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd9AVo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd9AVo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 
@@ -13,6 +14,9 @@
 
 	public String comName ;//鍛戒护鍚嶇О
 
+	public DataCd9AVo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_9A) ;
+	}
 	public DataCd9AVo(String comName){
 		this.comName = comName ;
 	}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java
index 0a3e91f..612fc7f 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java
@@ -1,5 +1,6 @@
 package com.dy.common.mw.protocol.p206V202404.upVos;
 
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.CommonV202404;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -18,7 +19,9 @@
 	public String rtuDt;//璁惧鏃堕挓
 
 	public String comName ;//鍛戒护鍚嶇О
-
+	public DataCdC2Vo(){
+		this.comName = CodeV202404.getCodeName(CodeV202404.cd_C2) ;
+	}
 	public DataCdC2Vo(String comName){
 		this.comName = comName ;
 	}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdXyVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdXyVo.java
index 215cc9c..aac34d5 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdXyVo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdXyVo.java
@@ -10,7 +10,10 @@
 
     public String comName ;//鍛戒护鍚嶇О
 
-    public DataCdXyVo(String comName){
+    public DataCdXyVo(){
+    }
+
+   public DataCdXyVo(String comName){
         this.comName = comName ;
     }
 
@@ -30,4 +33,20 @@
         return sb.toString() ;
     }
 
+    public String toStr(boolean showBase){
+        StringBuffer sb = new StringBuffer() ;
+        if(showBase){
+            sb.append(comName + " : \n") ;
+            sb.append("鎺у埗鍣ㄧ被鍨� : ") ;
+            sb.append(CommonV202404.ctrlDevType(controllerType)) ;
+            sb.append("\n") ;
+            sb.append("椤圭洰缂栧彿 : ") ;
+            sb.append(projectNo == null?"鏈煡":projectNo) ;
+            sb.append("\n") ;
+        }
+        sb.append("鍛戒护缁撴灉 : ") ;
+        sb.append(success == null?"鏈煡":(success?"鎴愬姛":"澶辫触")) ;
+        sb.append("\n") ;
+        return sb.toString() ;
+    }
 }
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 42d074e..118b150 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
@@ -185,6 +185,7 @@
 
     /**
      * 鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
+     * @param comId 鍛戒护ID
      * @param code 鍛戒护code
      * @return
      */
@@ -197,7 +198,24 @@
     }
 
     /**
+     * 鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
+     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+     * @param comId 鍛戒护ID
+     * @param code 鍛戒护code
+     * @return
+     */
+    public Command createOuterCommand(String rtuAddr, String comId, String code) {
+        Command com = new Command();
+        com.id = comId;
+        com.rtuAddr = rtuAddr;
+        com.code = code ;
+        com.type = CommandType.outerCommand;
+        return com ;
+    }
+
+    /**
      * 鍒涘缓澶栭儴閫忎紶鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
+     * @param comId 鍛戒护ID
      * @param code 鍛戒护code
      * @return
      */
@@ -210,6 +228,22 @@
     }
 
     /**
+     * 鍒涘缓澶栭儴閫忎紶鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
+     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+     * @param comId 鍛戒护ID
+     * @param code 鍛戒护code
+     * @return
+     */
+    public Command createOuterTransparentCommand(String rtuAddr, String comId, String code) {
+        Command com = new Command();
+        com.id = comId;
+        com.rtuAddr = rtuAddr;
+        com.code = code ;
+        com.type = CommandType.outerTransCommand;
+        return com ;
+    }
+
+    /**
      * 鍒涘缓鍐呴儴鍛戒护
      * @param code 鍛戒护code
      * @return
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
index b302ccc..de89f73 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -321,7 +321,7 @@
 project:
     #椤圭洰缂栫爜
     projectNo: 10
-    #鎺у埗鍣ㄧ被鍨�
+    #鎺у埗鍣ㄧ被鍨� (01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�02锛�0x02锛�:琛ㄩ榾涓�浣撴満锛�57(0x57):浜曠數鎺у埗鍣�)
     controllerType: 57
     #榛樿琛屾斂鍖哄垝缂栫爜锛堝ぉ娲�-澶╂触甯�-姝︽竻鍖�-浜花宸ヤ笟鍥�-澶х鑺傛按锛�
     divisionCode: 120114403100
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application.yml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application.yml
index 1a5dd5b..fade84c 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application.yml
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application.yml
@@ -7,6 +7,8 @@
     devtools:
         livereload:
             enabled: false
+        restart:
+            enabled: false #绂佺敤鐑儴缃�
     profiles:
         include: common-mw, global, database
 
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java
index 0fa14ab..86f89d6 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java
@@ -1,6 +1,7 @@
 package com.dy.pipIrrRemote.common;
 
 import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.mw.protocol.Data;
 import com.dy.pipIrrGlobal.command.ComResultWait;
@@ -28,10 +29,18 @@
     @PostMapping(path = "receive", consumes = MediaType.APPLICATION_JSON_VALUE)
     public void receive(@RequestBody Data data) {
         JSONObject protocolData = data == null ? null : (JSONObject)data.subData ; //鍗忚鏁版嵁
-        JSONObject codeData = protocolData == null ? null : (protocolData.getJSONObject("subData")) ; //鍗忚鍔熻兘鐮佹暟鎹�
-
+        Object codeDataObj = protocolData == null ? null : protocolData.get("subData") ;
+        JSONObject codeData = null ;
+        JSONArray codeArrayData = null ;
+        if(codeDataObj != null){
+            if(codeDataObj instanceof JSONObject){
+                codeData = protocolData == null ? null : (protocolData.getJSONObject("subData")) ; //鍗忚鍔熻兘鐮佹暟鎹�
+            }else if(codeDataObj instanceof JSONArray){{
+                codeArrayData = protocolData == null ? null : (protocolData.getJSONArray("subData")) ; //鍗忚鍔熻兘鐮佹暟鎹�
+            }}
+        }
         JSONObject job_response = new JSONObject();
-        job_response.put("data", codeData==null?protocolData:codeData);
+        job_response.put("data", codeData!=null?codeData:(codeArrayData!=null?codeArrayData:null));
         job_response.put("commandCode", data.code);
         job_response.put("commandId", data.commandId);
 
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransParam.java
index bae27e1..ffaca0e 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransParam.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransParam.java
@@ -1,7 +1,6 @@
 package com.dy.pipIrrRemote.monitor;
 
-import com.dy.pipIrrRemote.monitor.common.CdParam;
-import lombok.AllArgsConstructor;
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
@@ -16,6 +15,6 @@
 @ToString(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @SuperBuilder
-public class ComTransParam extends CdParam {
+public class ComTransParam extends CdParameter {
     public String data ;
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/CdParam.java
deleted file mode 100644
index 773f487..0000000
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/CdParam.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.dy.pipIrrRemote.monitor.common;
-
-import lombok.*;
-import lombok.experimental.SuperBuilder;
-
-/**
- * @Author: liurunyu
- * @Date: 2025/5/9 16:11
- * @Description
- */
-@Data
-@SuperBuilder
-public class CdParam {
-    //鍛戒护鍔熻兘鐮�
-    public String commandCode;
-}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/CdParameter.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/CdParameter.java
new file mode 100644
index 0000000..8cb9fcb
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/CdParameter.java
@@ -0,0 +1,21 @@
+package com.dy.pipIrrRemote.monitor.common;
+
+import lombok.*;
+import lombok.experimental.SuperBuilder;
+import org.springframework.beans.factory.annotation.Value;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/9 16:11
+ * @Description
+ */
+@Data
+@SuperBuilder
+public class CdParameter {
+    //椤圭洰缂栫爜
+    public Integer projectNo;
+    //鎺у埗鍣ㄧ被鍨�(01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�02锛�0x02锛�:琛ㄩ榾涓�浣撴満锛�57(0x57):浜曠數鎺у埗鍣�)
+    public String controllerType;
+    //鍛戒护鍔熻兘鐮�
+    public String commandCode;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComCtrl.java
index 27657cc..b80ae41 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComCtrl.java
@@ -9,9 +9,7 @@
 import com.dy.pipIrrGlobal.pojoPr.PrController;
 import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
-import com.dy.pipIrrRemote.monitor.p202404V201.Cd50Param;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.core.env.Environment;
 import org.springframework.validation.BindingResult;
@@ -39,6 +37,12 @@
 
     @Value("${mw.rtuCallbackUrl_rm}")
     protected String rtuResultSendWebUrl;
+
+    @Value("${project.projectNo}")
+    protected Integer projectNo;
+
+    @Value("${project.controllerType}")
+    protected String controllerType;
 
     //鎺у埗鍣ㄥ璞�
     protected PrController ctrlPo ;
@@ -103,7 +107,7 @@
      * @param param 鍛戒护鍙傛暟
      * @return
      */
-    public BaseResponse<Object> pre3(ComSv comSv, Long intakeId, Long operator, String comCode, CdParam param) {
+    public BaseResponse<Object> pre3(ComSv comSv, Long intakeId, Long operator, String comCode, CdParameter param) {
         comId = new IDLongGenerator().generate();
         //鐢熸垚骞朵繚瀛樺懡浠ゆ棩蹇�
         RmCommandHistory po = comSv.saveComHistoryPo(comId,
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Param.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Param.java
deleted file mode 100644
index f0dfbc4..0000000
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Param.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
-
-import com.dy.pipIrrRemote.monitor.common.CdParam;
-import lombok.*;
-import lombok.experimental.SuperBuilder;
-
-/**
- * @Author: liurunyu
- * @Date: 2025/5/9 14:43
- * @Description
- */
-@Data
-@ToString(callSuper = true)
-@EqualsAndHashCode(callSuper = true)
-@SuperBuilder
-public class Cd50Param extends CdParam {
-}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdCtrl.java
new file mode 100644
index 0000000..5a9e5c6
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdCtrl.java
@@ -0,0 +1,144 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd15;
+
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.aop.SsoAop;
+import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
+import com.dy.common.util.NumUtil;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import com.dy.pipIrrRemote.monitor.common.ComCtrl;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.http.MediaType;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 11:10
+ * @Description
+ */
+@Slf4j
+@Tag(name = "杩滅▼鍛戒护", description = "杩滅▼鐢ㄦ埛鍏呭��")
+@RestController("cd15Ctrl")
+@RequestMapping(path = "p202404V201/cd15")
+@RequiredArgsConstructor
+@Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
+public class CdCtrl extends ComCtrl {
+
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁";
+
+    private static final String ComCode = "15" ;
+
+    @Autowired
+    private CdSv sv ;
+    /**
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
+     * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
+     * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
+     * @return 杩斿洖鍓嶇
+     */
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @SsoAop()
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
+        BaseResponse<Object> res ;
+        //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
+        res = super.pre1(sv, ComCode, dto, bindingResult);
+        if(res == null) {
+            //鍙戦�佸懡浠ゅ墠-2锛氳幏寰楁暟鎹�
+            res = super.pre2(sv, ComCode, dto, bindingResult);
+            if (res == null) {
+                //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
+                SeClientCard icPo = sv.selectClientIcCardById(Long.parseLong(dto.icCardId.trim())) ;
+                if(icPo == null){
+                    return BaseResponseUtils.buildError("鏈嶅姟绔嚭閿欙紝鏈緱鍒板啘鎴稩C鍗�") ;
+                }
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType)
+                        .icCardAddr(icPo.getCardaddr())//IC鍗″湴鍧�(8浣嶆暟瀛楁垨瀛楁瘝)
+                        .icCardNo(icPo.getCardnum())//鐢ㄦ埛鍗″簭鍒楀彿锛�17浣嶆暟瀛楋級锛�6瀛楄妭BCD锛�2瀛楄妭HEX锛�
+                        .chargeMoney(dto.chargeMoney)//鍗曚綅:鍏�  2浣嶅皬鏁扮偣(鏈�澶у�� 99999999.99)
+                        .chargeWater(null)//褰撳墠搴旂敤鍙兘杩滅▼鍏呴挶锛屾墍浠hargeWater璧嬬┖鍊�
+                        .flowNo(RandomStringUtils.randomNumeric(12))//娴佹按鍙凤紙12浣嶆暟瀛楋級
+                        .build();
+                res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
+                if (res == null) {
+                    //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
+                    super.pre4();
+                    try {
+                        //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
+                        com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
+                        //鍙戦�佸懡浠�
+                        res = super.doSend(sv, com);
+                        if (res == null) {
+                            //鍙戦�佸懡浠ゅ悗
+                            res = super.after(ComCode);
+                        }
+                    } catch (Exception e) {
+                        res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage()));
+                    } finally {
+                        //鏈�缁�
+                        super.end();
+                    }
+                }
+            }
+        }
+        return res ;
+    }
+
+    @Override
+    protected String checkDto(DtoBase dto) {
+        if(dto != null){
+            CdDto myo = (CdDto) dto ;
+            if(myo.icCardId == null || myo.icCardId.trim().equals("")){
+                return "璇烽�夋嫨鍐滄埛IC鍗�";
+            }
+            if(!NumUtil.isPlusIntNumber(myo.icCardId.trim())){
+                return "璇烽�夋嫨鍐滄埛IC鍗�";
+            }
+            if(myo.chargeMoney == null){
+                return "鍏呭�奸噾棰濓紙鍏冿級涓嶈兘涓虹┖";
+            }
+            if(myo.chargeMoney > 99999999.99 || myo.chargeMoney <= 0.0){
+                return "璇锋纭~鍐欏厖鍊奸噾棰濓紙鍏冿級";
+            }
+        }
+        return null;
+    }
+
+    @Override
+    protected String createRtnMsg(String code, JSONObject resultData){
+        String msg;
+        if(resultData != null){
+            JSONObject codeData = resultData.getJSONObject("data") ;
+            if(codeData == null){
+                msg = RtuSuccessMsg ;
+            }else {
+                String json = codeData.toJSONString();
+                DataCdXyVo cvo = JSON.parseObject(json, DataCdXyVo.class) ;
+                if(cvo != null){
+                    msg = cvo.toStr(false) ;
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
+            }
+        }else{
+            msg = RtuSuccessMsg ;
+        }
+        return msg;
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdDto.java
new file mode 100644
index 0000000..7dede1f
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdDto.java
@@ -0,0 +1,24 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd15;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/9 14:42
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class CdDto extends DtoBase {
+    public static final long serialVersionUID = 202505121115001L;
+    @NotNull(message = "鍐滄埛IC鍗D涓嶈兘涓虹┖")
+    public String icCardId ;//鍐滄埛IC鍗¤褰旾D
+    @NotNull(message = "鍏呭�奸噾棰濅笉鑳戒负绌�")
+    public Double chargeMoney ;//鍗曚綅:鍏�  2浣嶅皬鏁扮偣(鏈�澶у�� 99999999.99)
+    //@NotNull(message = "鍏呭�兼按閲忎笉鑳戒负绌�")
+    //public Double chargeWater ;//鍗曚綅:m3  2浣嶅皬鏁扮偣(鏈�澶у�� 99999999.99)
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdParam.java
new file mode 100644
index 0000000..008f800
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdParam.java
@@ -0,0 +1,25 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd15;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/9 14:43
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+    public String icCardAddr ;//IC鍗″湴鍧�(8浣嶆暟瀛楁垨瀛楁瘝)
+    public String icCardNo ;//鐢ㄦ埛鍗″簭鍒楀彿锛�17浣嶆暟瀛楋級锛�6瀛楄妭BCD锛�2瀛楄妭HEX锛�
+    public Double chargeMoney ;//鍗曚綅:鍏�  2浣嶅皬鏁扮偣(鏈�澶у�� 99999999.99)
+    public Double chargeWater ;//鍗曚綅:m3  2浣嶅皬鏁扮偣(鏈�澶у�� 99999999.99)
+    public String flowNo ;//娴佹按鍙凤紙12浣嶆暟瀛楋級
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdSv.java
new file mode 100644
index 0000000..36d659b
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdSv.java
@@ -0,0 +1,26 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd15;
+
+import com.dy.pipIrrGlobal.daoPr.PrControllerMapper;
+import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper;
+import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
+import com.dy.pipIrrRemote.monitor.common.ComSv;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/9 14:42
+ * @Description
+ */
+@Slf4j
+@Service("cd15Sv")
+public class CdSv extends ComSv {
+
+    @Autowired
+    protected SeClientCardMapper seClientCardDao ;
+
+    public SeClientCard selectClientIcCardById(Long id){
+        return seClientCardDao.selectByPrimaryKey(id) ;
+    }
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdCtrl.java
new file mode 100644
index 0000000..e2a9622
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdCtrl.java
@@ -0,0 +1,135 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd16;
+
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.aop.SsoAop;
+import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import com.dy.pipIrrRemote.monitor.common.ComCtrl;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.http.MediaType;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 11:33
+ * @Description
+ */
+@Slf4j
+@Tag(name = "杩滅▼鍛戒护", description = "璁剧疆璁惧缁堢鍓╀綑姘撮噺鍜屽墿浣欓噾棰濇姤璀﹀��")
+@RestController("cd16Ctrl")
+@RequestMapping(path = "p202404V201/cd16")
+@RequiredArgsConstructor
+@Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
+public class CdCtrl extends ComCtrl {
+
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁";
+
+    private static final String ComCode = "16" ;
+
+    @Autowired
+    private CdSv sv ;
+    /**
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
+     * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
+     * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
+     * @return 杩斿洖鍓嶇
+     */
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @SsoAop()
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
+        BaseResponse<Object> res ;
+        //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
+        res = super.pre1(sv, ComCode, dto, bindingResult);
+        if(res == null) {
+            //鍙戦�佸懡浠ゅ墠-2锛氳幏寰楁暟鎹�
+            res = super.pre2(sv, ComCode, dto, bindingResult);
+            if (res == null) {
+                //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType)
+                        .waterAlarm(dto.waterAlarm)//鍓╀綑姘撮噺鎶ヨ鍊�,鍗曚綅:m3銆傛暣鏁帮紝鍙栧�艰寖鍥�0~9999
+                        .moneyAlarm(dto.moneyAlarm)//鍓╀綑閲戦鎶ヨ鍊�,鍗曚綅:鍏冦�傛暣鏁帮紝鍙栧�艰寖鍥�0~9999
+                        .build();
+                res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
+                if (res == null) {
+                    //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
+                    super.pre4();
+                    try {
+                        //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
+                        com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
+                        //鍙戦�佸懡浠�
+                        res = super.doSend(sv, com);
+                        if (res == null) {
+                            //鍙戦�佸懡浠ゅ悗
+                            res = super.after(ComCode);
+                        }
+                    } catch (Exception e) {
+                        res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage()));
+                    } finally {
+                        //鏈�缁�
+                        super.end();
+                    }
+                }
+            }
+        }
+        return res ;
+    }
+
+    @Override
+    protected String checkDto(DtoBase dto) {
+        if(dto != null){
+            CdDto myo = (CdDto) dto ;
+            if(myo.waterAlarm == null){
+                return "鍓╀綑姘撮噺鎶ヨ鍊间笉鑳戒负绌�";
+            }
+           if(myo.moneyAlarm == null){
+                return "鍓╀綑閲戦鎶ヨ鍊间笉鑳戒负绌�";
+            }
+            if(myo.waterAlarm > 9999 || myo.waterAlarm <= 0.0){
+                return "璇锋纭~鍐欏墿浣欐按閲忔姤璀﹀�硷紙m3锛�";
+            }
+            if(myo.moneyAlarm > 9999 || myo.moneyAlarm <= 0.0){
+                return "璇锋纭~鍐欏墿浣欓噾棰濇姤璀﹀�硷紙鍏冿級";
+            }
+        }
+        return null;
+    }
+
+    @Override
+    protected String createRtnMsg(String code, JSONObject resultData){
+        String msg;
+        if(resultData != null){
+            JSONObject codeData = resultData.getJSONObject("data") ;
+            if(codeData == null){
+                msg = RtuSuccessMsg ;
+            }else {
+                String json = codeData.toJSONString();
+                DataCdXyVo cvo = JSON.parseObject(json, DataCdXyVo.class) ;
+                if(cvo != null){
+                    msg = cvo.toStr(false) ;
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
+            }
+        }else{
+            msg = RtuSuccessMsg ;
+        }
+        return msg;
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdDto.java
new file mode 100644
index 0000000..39bf678
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdDto.java
@@ -0,0 +1,22 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd16;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 11:33
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class CdDto extends DtoBase {
+    public static final long serialVersionUID = 202505121133001L;
+    @NotNull(message = "鍓╀綑姘撮噺鎶ヨ鍊间笉鑳戒负绌�")
+    public Integer waterAlarm ;//鍓╀綑姘撮噺鎶ヨ鍊�,鍗曚綅:m3銆傛暣鏁帮紝鍙栧�艰寖鍥�0~9999
+    @NotNull(message = "鍓╀綑閲戦鎶ヨ鍊间笉鑳戒负绌�")
+    public Integer moneyAlarm ;//鍓╀綑閲戦鎶ヨ鍊�,鍗曚綅:鍏冦�傛暣鏁帮紝鍙栧�艰寖鍥�0~9999
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdParam.java
new file mode 100644
index 0000000..a3bf66a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdParam.java
@@ -0,0 +1,21 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd16;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 11:33
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+    public Integer waterAlarm ;//鍓╀綑姘撮噺鎶ヨ鍊�,鍗曚綅:m3銆傛暣鏁帮紝鍙栧�艰寖鍥�0~9999
+    public Integer moneyAlarm ;//鍓╀綑閲戦鎶ヨ鍊�,鍗曚綅:鍏冦�傛暣鏁帮紝鍙栧�艰寖鍥�0~9999
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdSv.java
new file mode 100644
index 0000000..793fb07
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdSv.java
@@ -0,0 +1,15 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd16;
+
+import com.dy.pipIrrRemote.monitor.common.ComSv;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 11:33
+ * @Description
+ */
+@Slf4j
+@Service("cd16Sv")
+public class CdSv extends ComSv {
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdCtrl.java
new file mode 100644
index 0000000..2dfae70
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdCtrl.java
@@ -0,0 +1,134 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd22;
+
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.aop.SsoAop;
+import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import com.dy.pipIrrRemote.monitor.common.ComCtrl;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.http.MediaType;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:48
+ * @Description
+ */
+@Slf4j
+@Tag(name = "杩滅▼鍛戒护", description = "璁剧疆璁惧缁堢鍓╀綑姘撮噺鍜屽墿浣欓噾棰濇姤璀﹀��")
+@RestController("cd22Ctrl")
+@RequestMapping(path = "p202404V201/cd22")
+@RequiredArgsConstructor
+@Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
+public class CdCtrl extends ComCtrl {
+
+    private static final String RtuSuccessMsg = "璁剧疆鏈轰簳骞存渶澶у紑閲囬噺鍜屾按浣嶄笅闄�";
+
+    private static final String ComCode = "22" ;
+
+    @Autowired
+    private CdSv sv ;
+    /**
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
+     * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
+     * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
+     * @return 杩斿洖鍓嶇
+     */
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @SsoAop()
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
+        BaseResponse<Object> res ;
+        //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
+        res = super.pre1(sv, ComCode, dto, bindingResult);
+        if(res == null) {
+            //鍙戦�佸懡浠ゅ墠-2锛氳幏寰楁暟鎹�
+            res = super.pre2(sv, ComCode, dto, bindingResult);
+            if (res == null) {
+                //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType)
+                        .maxAmountYear(dto.maxAmountYear)//鏈轰簳骞存渶澶х敤姘撮噺鍗曚綅锛歮3 鏁存暟锛屽彇鍊艰寖鍥�0~99999999
+                        .limitLevel(dto.limitLevel)//姘翠綅涓嬮檺 鍗曚綅锛歮 鍙栧�艰寖鍥�:0~9999.99
+                        .build();
+                res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
+                if (res == null) {
+                    //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
+                    super.pre4();
+                    try {
+                        //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
+                        com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
+                        //鍙戦�佸懡浠�
+                        res = super.doSend(sv, com);
+                        if (res == null) {
+                            //鍙戦�佸懡浠ゅ悗
+                            res = super.after(ComCode);
+                        }
+                    } catch (Exception e) {
+                        res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage()));
+                    } finally {
+                        //鏈�缁�
+                        super.end();
+                    }
+                }
+            }
+        }
+        return res ;
+    }
+
+    @Override
+    protected String checkDto(DtoBase dto) {
+        if(dto != null){
+            CdDto myo = (CdDto) dto ;
+            if(myo.maxAmountYear == null){
+                return "鏈轰簳骞存渶澶х敤姘撮噺涓嶈兘涓虹┖";
+            }
+           if(myo.limitLevel == null){
+                return "姘翠綅涓嬮檺涓嶈兘涓虹┖";
+            }
+            if(myo.maxAmountYear > 99999999 || myo.maxAmountYear <= 0.0){
+                return "璇锋纭~鍐欐満浜曞勾鏈�澶х敤姘撮噺锛坢3锛�(0~99999999)";
+            }
+            if(myo.limitLevel > 9999.99 || myo.limitLevel < 0.0){
+                return "璇锋纭~鍐欐按浣嶄笅闄愶紙m锛�(0~9999.99)";
+            }
+        }
+        return null;
+    }
+
+    @Override
+    protected String createRtnMsg(String code, JSONObject resultData){
+        String msg;
+        if(resultData != null){
+            JSONObject codeData = resultData.getJSONObject("data") ;
+            if(codeData == null){
+                msg = RtuSuccessMsg ;
+            }else {
+                String json = codeData.toJSONString();
+                DataCdXyVo cvo = JSON.parseObject(json, DataCdXyVo.class) ;
+                if(cvo != null){
+                    msg = cvo.toStr(false) ;
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
+            }
+        }else{
+            msg = RtuSuccessMsg ;
+        }
+        return msg;
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdDto.java
new file mode 100644
index 0000000..2298c2a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdDto.java
@@ -0,0 +1,22 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd22;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:48
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class CdDto extends DtoBase {
+    public static final long serialVersionUID = 202505121133001L;
+    @NotNull(message = "鏈轰簳骞存渶澶х敤姘撮噺涓嶈兘涓虹┖")
+    public Integer maxAmountYear ;//鏈轰簳骞存渶澶х敤姘撮噺鍗曚綅锛歮3 鏁存暟锛屽彇鍊艰寖鍥�0~99999999
+    @NotNull(message = "姘翠綅涓嬮檺涓嶈兘涓虹┖")
+    public Double limitLevel ;//姘翠綅涓嬮檺 鍗曚綅锛歮 鍙栧�艰寖鍥�:0~9999.99
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdParam.java
new file mode 100644
index 0000000..d1cc445
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdParam.java
@@ -0,0 +1,21 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd22;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:48
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+    public Integer maxAmountYear ;//鏈轰簳骞存渶澶х敤姘撮噺鍗曚綅锛歮3 鏁存暟锛屽彇鍊艰寖鍥�0~99999999
+    public Double limitLevel ;//姘翠綅涓嬮檺 鍗曚綅锛歮 鍙栧�艰寖鍥�:0~9999.99
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdSv.java
new file mode 100644
index 0000000..31518f2
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdSv.java
@@ -0,0 +1,15 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd22;
+
+import com.dy.pipIrrRemote.monitor.common.ComSv;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:48
+ * @Description
+ */
+@Slf4j
+@Service("cd22Sv")
+public class CdSv extends ComSv {
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdCtrl.java
similarity index 70%
copy from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
copy to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdCtrl.java
index f699aac..f125356 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdCtrl.java
@@ -1,8 +1,11 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd30;
 
+import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
@@ -22,32 +25,32 @@
 
 /**
  * @Author: liurunyu
- * @Date: 2025/5/9 14:41
+ * @Date: 2025/5/12 13:56
  * @Description
  */
 @Slf4j
-@Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
-@RestController
-@RequestMapping(path = "p202404V201")
+@Tag(name = "杩滅▼鍛戒护", description = "璁剧疆璁惧缁堢鐢ㄦ按鏈夋晥")
+@RestController("cd30Ctrl")
+@RequestMapping(path = "p202404V201/cd30")
 @RequiredArgsConstructor
 @Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
-public class Cd50Ctrl extends ComCtrl {
+public class CdCtrl extends ComCtrl {
 
-    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛";
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁";
 
-    private static final String ComCode = "50" ;
+    private static final String ComCode = "30" ;
 
     @Autowired
-    private Cd50Sv sv ;
+    private CdSv sv ;
     /**
-     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�侀�忎紶鍛戒护
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
      * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
      * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
      * @return 杩斿洖鍓嶇
      */
-    @PostMapping(path = "cd50", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
     @SsoAop()
-    public BaseResponse<Object> send(@RequestBody @Valid Cd50Dto dto, BindingResult bindingResult) {
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
         BaseResponse<Object> res ;
         //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
         res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -56,16 +59,16 @@
             res = super.pre2(sv, ComCode, dto, bindingResult);
             if (res == null) {
                 //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
-                Cd50Param comParam = Cd50Param.builder().commandCode(ComCode).build();
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType).build();
                 res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
                 if (res == null) {
                     //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
                     super.pre4();
                     try {
                         //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
-                        Command com = sv.createOuterCommand("" + comId, ComCode);
-                        com.rtuAddr = ctrlPo.getRtuAddr();
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
                         com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
                         //鍙戦�佸懡浠�
                         res = super.doSend(sv, com);
                         if (res == null) {
@@ -95,10 +98,15 @@
         if(resultData != null){
             JSONObject codeData = resultData.getJSONObject("data") ;
             if(codeData == null){
-                return RtuSuccessMsg ;
+                msg = RtuSuccessMsg ;
             }else {
-                Integer minute = codeData.getInteger("minute");
-                return "鏌ヨ鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓";
+                String json = codeData.toJSONString();
+                DataCdXyVo cvo = JSON.parseObject(json, DataCdXyVo.class) ;
+                if(cvo != null){
+                    msg = cvo.toStr(false) ;
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
             }
         }else{
             msg = RtuSuccessMsg ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdDto.java
new file mode 100644
index 0000000..d789a0f
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdDto.java
@@ -0,0 +1,17 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd30;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:56
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class CdDto extends DtoBase {
+    public static final long serialVersionUID = 202505121108001L;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdParam.java
new file mode 100644
index 0000000..d1ee32c
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdParam.java
@@ -0,0 +1,19 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd30;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:56
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdSv.java
new file mode 100644
index 0000000..cd76302
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdSv.java
@@ -0,0 +1,15 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd30;
+
+import com.dy.pipIrrRemote.monitor.common.ComSv;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:56
+ * @Description
+ */
+@Slf4j
+@Service("cd30Sv")
+public class CdSv extends ComSv {
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdCtrl.java
similarity index 70%
copy from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
copy to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdCtrl.java
index f699aac..2b595a7 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdCtrl.java
@@ -1,8 +1,10 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd31;
 
+import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
@@ -22,32 +24,32 @@
 
 /**
  * @Author: liurunyu
- * @Date: 2025/5/9 14:41
+ * @Date: 2025/5/12 17:18
  * @Description
  */
 @Slf4j
-@Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
-@RestController
-@RequestMapping(path = "p202404V201")
+@Tag(name = "杩滅▼鍛戒护", description = "璁剧疆璁惧缁堢鐢ㄦ按鏈夋晥")
+@RestController("cd31Ctrl")
+@RequestMapping(path = "p202404V201/cd31")
 @RequiredArgsConstructor
 @Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
-public class Cd50Ctrl extends ComCtrl {
+public class CdCtrl extends ComCtrl {
 
-    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛";
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁";
 
-    private static final String ComCode = "50" ;
+    private static final String ComCode = "31" ;
 
     @Autowired
-    private Cd50Sv sv ;
+    private CdSv sv ;
     /**
-     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�侀�忎紶鍛戒护
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
      * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
      * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
      * @return 杩斿洖鍓嶇
      */
-    @PostMapping(path = "cd50", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
     @SsoAop()
-    public BaseResponse<Object> send(@RequestBody @Valid Cd50Dto dto, BindingResult bindingResult) {
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
         BaseResponse<Object> res ;
         //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
         res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -56,16 +58,17 @@
             res = super.pre2(sv, ComCode, dto, bindingResult);
             if (res == null) {
                 //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
-                Cd50Param comParam = Cd50Param.builder().commandCode(ComCode).build();
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType).build();
+                comParam.valid = false ;
                 res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
                 if (res == null) {
                     //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
                     super.pre4();
                     try {
                         //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
-                        Command com = sv.createOuterCommand("" + comId, ComCode);
-                        com.rtuAddr = ctrlPo.getRtuAddr();
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
                         com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
                         //鍙戦�佸懡浠�
                         res = super.doSend(sv, com);
                         if (res == null) {
@@ -95,10 +98,15 @@
         if(resultData != null){
             JSONObject codeData = resultData.getJSONObject("data") ;
             if(codeData == null){
-                return RtuSuccessMsg ;
+                msg = RtuSuccessMsg ;
             }else {
-                Integer minute = codeData.getInteger("minute");
-                return "鏌ヨ鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓";
+                String json = codeData.toJSONString();
+                DataCdXyVo cvo = JSON.parseObject(json, DataCdXyVo.class) ;
+                if(cvo != null){
+                    msg = cvo.toStr(false) ;
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
             }
         }else{
             msg = RtuSuccessMsg ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdDto.java
new file mode 100644
index 0000000..611a8a0
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdDto.java
@@ -0,0 +1,17 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd31;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 17:18
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class CdDto extends DtoBase {
+    public static final long serialVersionUID = 202505121718001L;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdParam.java
new file mode 100644
index 0000000..81a481c
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdParam.java
@@ -0,0 +1,20 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd31;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 17:18
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+    public Boolean valid ;//鏈夋晥鎬�
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdSv.java
new file mode 100644
index 0000000..2a920db
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdSv.java
@@ -0,0 +1,15 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd31;
+
+import com.dy.pipIrrRemote.monitor.common.ComSv;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 17:18
+ * @Description
+ */
+@Slf4j
+@Service("cd31Sv")
+public class CdSv extends ComSv {
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdCtrl.java
similarity index 70%
copy from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
copy to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdCtrl.java
index f699aac..ccf1caa 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdCtrl.java
@@ -1,8 +1,12 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd50;
 
+import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd50Vo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
@@ -12,6 +16,7 @@
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Scope;
 import org.springframework.http.MediaType;
 import org.springframework.validation.BindingResult;
@@ -26,28 +31,28 @@
  * @Description
  */
 @Slf4j
-@Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
-@RestController
-@RequestMapping(path = "p202404V201")
+@Tag(name = "杩滅▼鍛戒护", description = "鏌ヨ璁惧缁堢鍦板潃")
+@RestController("cd50Ctrl")
+@RequestMapping(path = "p202404V201/cd50")
 @RequiredArgsConstructor
 @Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
-public class Cd50Ctrl extends ComCtrl {
+public class CdCtrl extends ComCtrl {
 
-    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛";
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁";
 
     private static final String ComCode = "50" ;
 
     @Autowired
-    private Cd50Sv sv ;
+    private CdSv sv ;
     /**
-     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�侀�忎紶鍛戒护
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
      * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
      * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
      * @return 杩斿洖鍓嶇
      */
-    @PostMapping(path = "cd50", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
     @SsoAop()
-    public BaseResponse<Object> send(@RequestBody @Valid Cd50Dto dto, BindingResult bindingResult) {
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
         BaseResponse<Object> res ;
         //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
         res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -56,16 +61,16 @@
             res = super.pre2(sv, ComCode, dto, bindingResult);
             if (res == null) {
                 //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
-                Cd50Param comParam = Cd50Param.builder().commandCode(ComCode).build();
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType).build();
                 res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
                 if (res == null) {
                     //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
                     super.pre4();
                     try {
                         //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
-                        Command com = sv.createOuterCommand("" + comId, ComCode);
-                        com.rtuAddr = ctrlPo.getRtuAddr();
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
                         com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
                         //鍙戦�佸懡浠�
                         res = super.doSend(sv, com);
                         if (res == null) {
@@ -95,10 +100,15 @@
         if(resultData != null){
             JSONObject codeData = resultData.getJSONObject("data") ;
             if(codeData == null){
-                return RtuSuccessMsg ;
+                msg = RtuSuccessMsg ;
             }else {
-                Integer minute = codeData.getInteger("minute");
-                return "鏌ヨ鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓";
+                String json = codeData.toJSONString();
+                DataCd50Vo cvo = JSON.parseObject(json, DataCd50Vo.class) ;
+                if(cvo != null){
+                    msg = cvo.toStr(false) ;
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
             }
         }else{
             msg = RtuSuccessMsg ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Dto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdDto.java
similarity index 75%
rename from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Dto.java
rename to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdDto.java
index 6b05774..d2b4ff5 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Dto.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdDto.java
@@ -1,4 +1,4 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd50;
 
 import com.dy.pipIrrRemote.common.dto.DtoBase;
 import lombok.Data;
@@ -12,6 +12,6 @@
 
 @Data
 @EqualsAndHashCode(callSuper=true)
-public class Cd50Dto extends DtoBase {
+public class CdDto extends DtoBase {
     public static final long serialVersionUID = 202505091450001L;
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdParam.java
new file mode 100644
index 0000000..09d31f5
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdParam.java
@@ -0,0 +1,17 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd50;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import lombok.*;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/9 14:43
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Sv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdSv.java
similarity index 66%
rename from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Sv.java
rename to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdSv.java
index 08f7bcc..37404d8 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Sv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdSv.java
@@ -1,4 +1,4 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd50;
 
 import com.dy.pipIrrRemote.monitor.common.ComSv;
 import lombok.extern.slf4j.Slf4j;
@@ -10,6 +10,6 @@
  * @Description
  */
 @Slf4j
-@Service
-public class Cd50Sv extends ComSv {
+@Service("cd50Sv")
+public class CdSv extends ComSv {
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdCtrl.java
similarity index 64%
copy from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
copy to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdCtrl.java
index f699aac..52390fc 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdCtrl.java
@@ -1,8 +1,13 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd55;
 
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd55Vo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd65Vo;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
@@ -20,34 +25,36 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * @Author: liurunyu
- * @Date: 2025/5/9 14:41
+ * @Date: 2025/5/12 11:28
  * @Description
  */
 @Slf4j
-@Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
-@RestController
-@RequestMapping(path = "p202404V201")
+@Tag(name = "杩滅▼鍛戒护", description = "鏌ヨ璁惧缁堢鍏呭�艰褰�")
+@RestController("cd55Ctrl")
+@RequestMapping(path = "p202404V201/cd55")
 @RequiredArgsConstructor
 @Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
-public class Cd50Ctrl extends ComCtrl {
+public class CdCtrl extends ComCtrl {
 
-    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛";
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁";
 
-    private static final String ComCode = "50" ;
+    private static final String ComCode = "55" ;
 
     @Autowired
-    private Cd50Sv sv ;
+    private CdSv sv ;
     /**
-     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�侀�忎紶鍛戒护
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
      * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
      * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
      * @return 杩斿洖鍓嶇
      */
-    @PostMapping(path = "cd50", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
     @SsoAop()
-    public BaseResponse<Object> send(@RequestBody @Valid Cd50Dto dto, BindingResult bindingResult) {
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
         BaseResponse<Object> res ;
         //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
         res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -56,16 +63,17 @@
             res = super.pre2(sv, ComCode, dto, bindingResult);
             if (res == null) {
                 //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
-                Cd50Param comParam = Cd50Param.builder().commandCode(ComCode).build();
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType).build();
+                comParam.page = 1 ;
                 res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
                 if (res == null) {
                     //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
                     super.pre4();
                     try {
                         //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
-                        Command com = sv.createOuterCommand("" + comId, ComCode);
-                        com.rtuAddr = ctrlPo.getRtuAddr();
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
                         com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
                         //鍙戦�佸懡浠�
                         res = super.doSend(sv, com);
                         if (res == null) {
@@ -93,12 +101,20 @@
     protected String createRtnMsg(String code, JSONObject resultData){
         String msg;
         if(resultData != null){
-            JSONObject codeData = resultData.getJSONObject("data") ;
+            JSONArray codeData = resultData.getJSONArray("data") ;
             if(codeData == null){
-                return RtuSuccessMsg ;
+                msg = RtuSuccessMsg ;
             }else {
-                Integer minute = codeData.getInteger("minute");
-                return "鏌ヨ鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓";
+                String json = codeData.toJSONString();
+                List<DataCd55Vo> list = JSON.parseArray(json, DataCd55Vo.class) ;
+                if(list != null && list.size() > 0){
+                    msg = "" ;
+                    for(DataCd55Vo cvo : list){
+                        msg += cvo.toStr(false) + "\n";
+                    }
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
             }
         }else{
             msg = RtuSuccessMsg ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdDto.java
new file mode 100644
index 0000000..e4ec4f2
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdDto.java
@@ -0,0 +1,17 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd55;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 11:28
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class CdDto extends DtoBase {
+    public static final long serialVersionUID = 202505121128001L;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdParam.java
new file mode 100644
index 0000000..7e3e1da
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdParam.java
@@ -0,0 +1,20 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd55;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 11:28
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+    public Integer page ;//鍒嗛〉锛堝彇鍊艰寖鍥�1銆�2銆�3銆�4銆�5銆�6銆�7銆�8銆�9锛�
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdSv.java
new file mode 100644
index 0000000..830a12c
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdSv.java
@@ -0,0 +1,15 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd55;
+
+import com.dy.pipIrrRemote.monitor.common.ComSv;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 11:28
+ * @Description
+ */
+@Slf4j
+@Service("cd55Sv")
+public class CdSv extends ComSv {
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdCtrl.java
similarity index 69%
copy from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
copy to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdCtrl.java
index f699aac..7b989c1 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdCtrl.java
@@ -1,8 +1,11 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd56;
 
+import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd56Vo;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
@@ -22,32 +25,32 @@
 
 /**
  * @Author: liurunyu
- * @Date: 2025/5/9 14:41
+ * @Date: 2025/5/12 11:40
  * @Description
  */
 @Slf4j
-@Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
-@RestController
-@RequestMapping(path = "p202404V201")
+@Tag(name = "杩滅▼鍛戒护", description = "鏌ヨ璁惧缁堢鍓╀綑姘撮噺鍜屽墿浣欓噾棰濇姤璀﹀��")
+@RestController("cd56Ctrl")
+@RequestMapping(path = "p202404V201/cd56")
 @RequiredArgsConstructor
 @Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
-public class Cd50Ctrl extends ComCtrl {
+public class CdCtrl extends ComCtrl {
 
-    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛";
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁";
 
-    private static final String ComCode = "50" ;
+    private static final String ComCode = "56" ;
 
     @Autowired
-    private Cd50Sv sv ;
+    private CdSv sv ;
     /**
-     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�侀�忎紶鍛戒护
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
      * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
      * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
      * @return 杩斿洖鍓嶇
      */
-    @PostMapping(path = "cd50", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
     @SsoAop()
-    public BaseResponse<Object> send(@RequestBody @Valid Cd50Dto dto, BindingResult bindingResult) {
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
         BaseResponse<Object> res ;
         //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
         res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -56,16 +59,16 @@
             res = super.pre2(sv, ComCode, dto, bindingResult);
             if (res == null) {
                 //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
-                Cd50Param comParam = Cd50Param.builder().commandCode(ComCode).build();
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType).build();
                 res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
                 if (res == null) {
                     //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
                     super.pre4();
                     try {
                         //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
-                        Command com = sv.createOuterCommand("" + comId, ComCode);
-                        com.rtuAddr = ctrlPo.getRtuAddr();
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
                         com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
                         //鍙戦�佸懡浠�
                         res = super.doSend(sv, com);
                         if (res == null) {
@@ -95,10 +98,15 @@
         if(resultData != null){
             JSONObject codeData = resultData.getJSONObject("data") ;
             if(codeData == null){
-                return RtuSuccessMsg ;
+                msg = RtuSuccessMsg ;
             }else {
-                Integer minute = codeData.getInteger("minute");
-                return "鏌ヨ鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓";
+                String json = codeData.toJSONString();
+                DataCd56Vo cvo = JSON.parseObject(json, DataCd56Vo.class) ;
+                if(cvo != null){
+                    msg = cvo.toStr(false) ;
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
             }
         }else{
             msg = RtuSuccessMsg ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdDto.java
new file mode 100644
index 0000000..db61ff5
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdDto.java
@@ -0,0 +1,17 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd56;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 11:40
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class CdDto extends DtoBase {
+    public static final long serialVersionUID = 202505121140001L;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdParam.java
new file mode 100644
index 0000000..b48facd
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdParam.java
@@ -0,0 +1,19 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd56;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 11:40
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdSv.java
new file mode 100644
index 0000000..68e5b7c
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdSv.java
@@ -0,0 +1,15 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd56;
+
+import com.dy.pipIrrRemote.monitor.common.ComSv;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 11:40
+ * @Description
+ */
+@Slf4j
+@Service("cd56Sv")
+public class CdSv extends ComSv {
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdCtrl.java
similarity index 70%
rename from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
rename to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdCtrl.java
index f699aac..a86dea4 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdCtrl.java
@@ -1,8 +1,11 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd5B;
 
+import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80_5BVo;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
@@ -22,32 +25,32 @@
 
 /**
  * @Author: liurunyu
- * @Date: 2025/5/9 14:41
+ * @Date: 2025/5/12 10:41
  * @Description
  */
 @Slf4j
-@Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
-@RestController
-@RequestMapping(path = "p202404V201")
+@Tag(name = "杩滅▼鍛戒护", description = "鏌ヨ璁惧缁堢瀹炴椂鍊�")
+@RestController("cd5BCtrl")
+@RequestMapping(path = "p202404V201/cd5B")
 @RequiredArgsConstructor
 @Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
-public class Cd50Ctrl extends ComCtrl {
+public class CdCtrl extends ComCtrl {
 
-    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛";
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁";
 
-    private static final String ComCode = "50" ;
+    private static final String ComCode = "5B" ;
 
     @Autowired
-    private Cd50Sv sv ;
+    private CdSv sv ;
     /**
-     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�侀�忎紶鍛戒护
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
      * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
      * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
      * @return 杩斿洖鍓嶇
      */
-    @PostMapping(path = "cd50", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
     @SsoAop()
-    public BaseResponse<Object> send(@RequestBody @Valid Cd50Dto dto, BindingResult bindingResult) {
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
         BaseResponse<Object> res ;
         //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
         res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -56,16 +59,16 @@
             res = super.pre2(sv, ComCode, dto, bindingResult);
             if (res == null) {
                 //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
-                Cd50Param comParam = Cd50Param.builder().commandCode(ComCode).build();
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType).build();
                 res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
                 if (res == null) {
                     //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
                     super.pre4();
                     try {
                         //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
-                        Command com = sv.createOuterCommand("" + comId, ComCode);
-                        com.rtuAddr = ctrlPo.getRtuAddr();
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
                         com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
                         //鍙戦�佸懡浠�
                         res = super.doSend(sv, com);
                         if (res == null) {
@@ -95,10 +98,15 @@
         if(resultData != null){
             JSONObject codeData = resultData.getJSONObject("data") ;
             if(codeData == null){
-                return RtuSuccessMsg ;
+                msg = RtuSuccessMsg ;
             }else {
-                Integer minute = codeData.getInteger("minute");
-                return "鏌ヨ鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓";
+                String json = codeData.toJSONString();
+                DataCd80_5BVo cvo = JSON.parseObject(json, DataCd80_5BVo.class) ;
+                if(cvo != null){
+                    msg = cvo.toStr(false) ;
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
             }
         }else{
             msg = RtuSuccessMsg ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdDto.java
new file mode 100644
index 0000000..35ce432
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdDto.java
@@ -0,0 +1,17 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd5B;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/9 14:42
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class CdDto extends DtoBase {
+    public static final long serialVersionUID = 202505120909001L;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdParam.java
new file mode 100644
index 0000000..88a72a3
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdParam.java
@@ -0,0 +1,19 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd5B;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/9 14:43
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Sv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdSv.java
similarity index 66%
copy from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Sv.java
copy to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdSv.java
index 08f7bcc..52aa614 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Sv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdSv.java
@@ -1,4 +1,4 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd5B;
 
 import com.dy.pipIrrRemote.monitor.common.ComSv;
 import lombok.extern.slf4j.Slf4j;
@@ -10,6 +10,6 @@
  * @Description
  */
 @Slf4j
-@Service
-public class Cd50Sv extends ComSv {
+@Service("cd5BSv")
+public class CdSv extends ComSv {
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdCtrl.java
similarity index 68%
copy from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
copy to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdCtrl.java
index f699aac..b96a3cc 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdCtrl.java
@@ -1,8 +1,10 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd5C;
 
+import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd5CVo;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
@@ -20,34 +22,36 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * @Author: liurunyu
- * @Date: 2025/5/9 14:41
+ * @Date: 2025/5/12 11:40
  * @Description
  */
 @Slf4j
-@Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
-@RestController
-@RequestMapping(path = "p202404V201")
+@Tag(name = "杩滅▼鍛戒护", description = "鏌ヨ璁惧缁堢鐨勬棩璁板綍")
+@RestController("cd5CCtrl")
+@RequestMapping(path = "p202404V201/cd5C")
 @RequiredArgsConstructor
 @Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
-public class Cd50Ctrl extends ComCtrl {
+public class CdCtrl extends ComCtrl {
 
-    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛";
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁";
 
-    private static final String ComCode = "50" ;
+    private static final String ComCode = "5C" ;
 
     @Autowired
-    private Cd50Sv sv ;
+    private CdSv sv ;
     /**
-     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�侀�忎紶鍛戒护
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
      * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
      * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
      * @return 杩斿洖鍓嶇
      */
-    @PostMapping(path = "cd50", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
     @SsoAop()
-    public BaseResponse<Object> send(@RequestBody @Valid Cd50Dto dto, BindingResult bindingResult) {
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
         BaseResponse<Object> res ;
         //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
         res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -56,16 +60,17 @@
             res = super.pre2(sv, ComCode, dto, bindingResult);
             if (res == null) {
                 //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
-                Cd50Param comParam = Cd50Param.builder().commandCode(ComCode).build();
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType).build();
+                comParam.page = 1 ;
                 res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
                 if (res == null) {
                     //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
                     super.pre4();
                     try {
                         //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
-                        Command com = sv.createOuterCommand("" + comId, ComCode);
-                        com.rtuAddr = ctrlPo.getRtuAddr();
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
                         com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
                         //鍙戦�佸懡浠�
                         res = super.doSend(sv, com);
                         if (res == null) {
@@ -95,10 +100,18 @@
         if(resultData != null){
             JSONObject codeData = resultData.getJSONObject("data") ;
             if(codeData == null){
-                return RtuSuccessMsg ;
+                msg = RtuSuccessMsg ;
             }else {
-                Integer minute = codeData.getInteger("minute");
-                return "鏌ヨ鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓";
+                String json = codeData.toJSONString();
+                List<DataCd5CVo> list = JSON.parseArray(json, DataCd5CVo.class) ;
+                if(list != null && list.size() > 0){
+                    msg = "" ;
+                    for(DataCd5CVo cvo : list){
+                        msg += cvo.toStr(false) + "\n";
+                    }
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
             }
         }else{
             msg = RtuSuccessMsg ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdDto.java
new file mode 100644
index 0000000..4a8c357
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdDto.java
@@ -0,0 +1,17 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd5C;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:43
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class CdDto extends DtoBase {
+    public static final long serialVersionUID = 202505121140001L;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdParam.java
new file mode 100644
index 0000000..9be7ebe
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdParam.java
@@ -0,0 +1,20 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd5C;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:43
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+    public Integer page ;//鍒嗛〉锛堝彇鍊艰寖鍥�1銆�2銆�3銆�4銆�5銆�6銆�7銆�8銆�9锛�
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdSv.java
new file mode 100644
index 0000000..f3c5343
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdSv.java
@@ -0,0 +1,15 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd5C;
+
+import com.dy.pipIrrRemote.monitor.common.ComSv;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:43
+ * @Description
+ */
+@Slf4j
+@Service("cd5CSv")
+public class CdSv extends ComSv {
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdCtrl.java
similarity index 67%
copy from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
copy to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdCtrl.java
index f699aac..3b5460e 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdCtrl.java
@@ -1,8 +1,11 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd65;
 
+import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd65Vo;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
@@ -20,34 +23,36 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * @Author: liurunyu
- * @Date: 2025/5/9 14:41
+ * @Date: 2025/5/12 10:50
  * @Description
  */
 @Slf4j
-@Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
-@RestController
-@RequestMapping(path = "p202404V201")
+@Tag(name = "杩滅▼鍛戒护", description = "鏌ヨ璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍")
+@RestController("cd65Ctrl")
+@RequestMapping(path = "p202404V201/cd65")
 @RequiredArgsConstructor
 @Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
-public class Cd50Ctrl extends ComCtrl {
+public class CdCtrl extends ComCtrl {
 
-    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛";
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁";
 
-    private static final String ComCode = "50" ;
+    private static final String ComCode = "65" ;
 
     @Autowired
-    private Cd50Sv sv ;
+    private CdSv sv ;
     /**
-     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�侀�忎紶鍛戒护
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
      * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
      * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
      * @return 杩斿洖鍓嶇
      */
-    @PostMapping(path = "cd50", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
     @SsoAop()
-    public BaseResponse<Object> send(@RequestBody @Valid Cd50Dto dto, BindingResult bindingResult) {
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
         BaseResponse<Object> res ;
         //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
         res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -56,16 +61,17 @@
             res = super.pre2(sv, ComCode, dto, bindingResult);
             if (res == null) {
                 //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
-                Cd50Param comParam = Cd50Param.builder().commandCode(ComCode).build();
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType).build();
+                comParam.page = 1 ;
                 res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
                 if (res == null) {
                     //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
                     super.pre4();
                     try {
                         //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
-                        Command com = sv.createOuterCommand("" + comId, ComCode);
-                        com.rtuAddr = ctrlPo.getRtuAddr();
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
                         com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
                         //鍙戦�佸懡浠�
                         res = super.doSend(sv, com);
                         if (res == null) {
@@ -95,10 +101,18 @@
         if(resultData != null){
             JSONObject codeData = resultData.getJSONObject("data") ;
             if(codeData == null){
-                return RtuSuccessMsg ;
+                msg = RtuSuccessMsg ;
             }else {
-                Integer minute = codeData.getInteger("minute");
-                return "鏌ヨ鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓";
+                String json = codeData.toJSONString();
+                List<DataCd65Vo> list = JSON.parseArray(json, DataCd65Vo.class) ;
+                if(list != null && list.size() > 0){
+                    msg = "" ;
+                    for(DataCd65Vo cvo : list){
+                        msg += cvo.toStr(false) ;
+                    }
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
             }
         }else{
             msg = RtuSuccessMsg ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdDto.java
new file mode 100644
index 0000000..eaef88a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdDto.java
@@ -0,0 +1,17 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd65;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/9 14:42
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class CdDto extends DtoBase {
+    public static final long serialVersionUID = 202505120909001L;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdParam.java
new file mode 100644
index 0000000..f686a50
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdParam.java
@@ -0,0 +1,20 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd65;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/9 14:43
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+    public Integer page ;//鍒嗛〉锛屽彇鍊艰寖鍥达紙1銆�2銆�3銆�4銆�5銆�6銆�7銆�8銆�9锛�
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Sv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdSv.java
similarity index 66%
copy from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Sv.java
copy to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdSv.java
index 08f7bcc..75113e3 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Sv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdSv.java
@@ -1,4 +1,4 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd65;
 
 import com.dy.pipIrrRemote.monitor.common.ComSv;
 import lombok.extern.slf4j.Slf4j;
@@ -10,6 +10,6 @@
  * @Description
  */
 @Slf4j
-@Service
-public class Cd50Sv extends ComSv {
+@Service("cd65Sv")
+public class CdSv extends ComSv {
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdCtrl.java
similarity index 69%
copy from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
copy to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdCtrl.java
index f699aac..273ed49 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdCtrl.java
@@ -1,8 +1,11 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd68;
 
+import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd68Vo;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
@@ -22,32 +25,32 @@
 
 /**
  * @Author: liurunyu
- * @Date: 2025/5/9 14:41
+ * @Date: 2025/5/12 13:53
  * @Description
  */
 @Slf4j
-@Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
-@RestController
-@RequestMapping(path = "p202404V201")
+@Tag(name = "杩滅▼鍛戒护", description = "鏌ヨ鏈轰簳骞存渶澶у紑閲囬噺鍜屾按浣嶄笅闄�")
+@RestController("cd68Ctrl")
+@RequestMapping(path = "p202404V201/cd68")
 @RequiredArgsConstructor
 @Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
-public class Cd50Ctrl extends ComCtrl {
+public class CdCtrl extends ComCtrl {
 
-    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛";
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁";
 
-    private static final String ComCode = "50" ;
+    private static final String ComCode = "68" ;
 
     @Autowired
-    private Cd50Sv sv ;
+    private CdSv sv ;
     /**
-     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�侀�忎紶鍛戒护
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
      * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
      * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
      * @return 杩斿洖鍓嶇
      */
-    @PostMapping(path = "cd50", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
     @SsoAop()
-    public BaseResponse<Object> send(@RequestBody @Valid Cd50Dto dto, BindingResult bindingResult) {
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
         BaseResponse<Object> res ;
         //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
         res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -56,16 +59,16 @@
             res = super.pre2(sv, ComCode, dto, bindingResult);
             if (res == null) {
                 //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
-                Cd50Param comParam = Cd50Param.builder().commandCode(ComCode).build();
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType).build();
                 res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
                 if (res == null) {
                     //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
                     super.pre4();
                     try {
                         //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
-                        Command com = sv.createOuterCommand("" + comId, ComCode);
-                        com.rtuAddr = ctrlPo.getRtuAddr();
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
                         com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
                         //鍙戦�佸懡浠�
                         res = super.doSend(sv, com);
                         if (res == null) {
@@ -95,10 +98,15 @@
         if(resultData != null){
             JSONObject codeData = resultData.getJSONObject("data") ;
             if(codeData == null){
-                return RtuSuccessMsg ;
+                msg = RtuSuccessMsg ;
             }else {
-                Integer minute = codeData.getInteger("minute");
-                return "鏌ヨ鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓";
+                String json = codeData.toJSONString();
+                DataCd68Vo cvo = JSON.parseObject(json, DataCd68Vo.class) ;
+                if(cvo != null){
+                    msg = cvo.toStr(false) ;
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
             }
         }else{
             msg = RtuSuccessMsg ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdDto.java
new file mode 100644
index 0000000..8a48274
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdDto.java
@@ -0,0 +1,17 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd68;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:53
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class CdDto extends DtoBase {
+    public static final long serialVersionUID = 202505121140001L;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdParam.java
new file mode 100644
index 0000000..a957fda
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdParam.java
@@ -0,0 +1,19 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd68;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:53
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdSv.java
new file mode 100644
index 0000000..dbf1735
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdSv.java
@@ -0,0 +1,15 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd68;
+
+import com.dy.pipIrrRemote.monitor.common.ComSv;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:53
+ * @Description
+ */
+@Slf4j
+@Service("cd68Sv")
+public class CdSv extends ComSv {
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdCtrl.java
similarity index 70%
copy from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
copy to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdCtrl.java
index f699aac..88adcaa 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdCtrl.java
@@ -1,8 +1,11 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd97;
 
+import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
@@ -22,32 +25,32 @@
 
 /**
  * @Author: liurunyu
- * @Date: 2025/5/9 14:41
+ * @Date: 2025/5/12 10:40
  * @Description
  */
 @Slf4j
-@Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
-@RestController
-@RequestMapping(path = "p202404V201")
+@Tag(name = "杩滅▼鍛戒护", description = "娓呴櫎璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍")
+@RestController("cd97Ctrl")
+@RequestMapping(path = "p202404V201/cd97")
 @RequiredArgsConstructor
 @Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
-public class Cd50Ctrl extends ComCtrl {
+public class CdCtrl extends ComCtrl {
 
-    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛";
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁";
 
-    private static final String ComCode = "50" ;
+    private static final String ComCode = "97" ;
 
     @Autowired
-    private Cd50Sv sv ;
+    private CdSv sv ;
     /**
-     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�侀�忎紶鍛戒护
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
      * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
      * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
      * @return 杩斿洖鍓嶇
      */
-    @PostMapping(path = "cd50", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
     @SsoAop()
-    public BaseResponse<Object> send(@RequestBody @Valid Cd50Dto dto, BindingResult bindingResult) {
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
         BaseResponse<Object> res ;
         //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
         res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -56,16 +59,16 @@
             res = super.pre2(sv, ComCode, dto, bindingResult);
             if (res == null) {
                 //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
-                Cd50Param comParam = Cd50Param.builder().commandCode(ComCode).build();
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType).build();
                 res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
                 if (res == null) {
                     //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
                     super.pre4();
                     try {
                         //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
-                        Command com = sv.createOuterCommand("" + comId, ComCode);
-                        com.rtuAddr = ctrlPo.getRtuAddr();
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
                         com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
                         //鍙戦�佸懡浠�
                         res = super.doSend(sv, com);
                         if (res == null) {
@@ -95,10 +98,15 @@
         if(resultData != null){
             JSONObject codeData = resultData.getJSONObject("data") ;
             if(codeData == null){
-                return RtuSuccessMsg ;
+                msg = RtuSuccessMsg ;
             }else {
-                Integer minute = codeData.getInteger("minute");
-                return "鏌ヨ鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓";
+                String json = codeData.toJSONString();
+                DataCdXyVo cvo = JSON.parseObject(json, DataCdXyVo.class) ;
+                if(cvo != null){
+                    msg = cvo.toStr(false) ;
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
             }
         }else{
             msg = RtuSuccessMsg ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdDto.java
new file mode 100644
index 0000000..8da7b82
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdDto.java
@@ -0,0 +1,17 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd97;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 10:40
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class CdDto extends DtoBase {
+    public static final long serialVersionUID = 202505121108001L;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdParam.java
new file mode 100644
index 0000000..fa244ee
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdParam.java
@@ -0,0 +1,19 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd97;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 10:40
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdSv.java
new file mode 100644
index 0000000..6e7888f
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdSv.java
@@ -0,0 +1,15 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd97;
+
+import com.dy.pipIrrRemote.monitor.common.ComSv;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 10:40
+ * @Description
+ */
+@Slf4j
+@Service("cd97Sv")
+public class CdSv extends ComSv {
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdCtrl.java
similarity index 70%
copy from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
copy to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdCtrl.java
index f699aac..2ce6db3 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdCtrl.java
@@ -1,8 +1,11 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd98;
 
+import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
@@ -22,32 +25,32 @@
 
 /**
  * @Author: liurunyu
- * @Date: 2025/5/9 14:41
+ * @Date: 2025/5/12 11:30
  * @Description
  */
 @Slf4j
-@Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
-@RestController
-@RequestMapping(path = "p202404V201")
+@Tag(name = "杩滅▼鍛戒护", description = "娓呯┖璁惧缁堢鍏呭�艰褰�")
+@RestController("cd98Ctrl")
+@RequestMapping(path = "p202404V201/cd98")
 @RequiredArgsConstructor
 @Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
-public class Cd50Ctrl extends ComCtrl {
+public class CdCtrl extends ComCtrl {
 
-    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛";
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁";
 
-    private static final String ComCode = "50" ;
+    private static final String ComCode = "98" ;
 
     @Autowired
-    private Cd50Sv sv ;
+    private CdSv sv ;
     /**
-     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�侀�忎紶鍛戒护
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
      * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
      * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
      * @return 杩斿洖鍓嶇
      */
-    @PostMapping(path = "cd50", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
     @SsoAop()
-    public BaseResponse<Object> send(@RequestBody @Valid Cd50Dto dto, BindingResult bindingResult) {
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
         BaseResponse<Object> res ;
         //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
         res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -56,16 +59,16 @@
             res = super.pre2(sv, ComCode, dto, bindingResult);
             if (res == null) {
                 //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
-                Cd50Param comParam = Cd50Param.builder().commandCode(ComCode).build();
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType).build();
                 res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
                 if (res == null) {
                     //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
                     super.pre4();
                     try {
                         //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
-                        Command com = sv.createOuterCommand("" + comId, ComCode);
-                        com.rtuAddr = ctrlPo.getRtuAddr();
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
                         com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
                         //鍙戦�佸懡浠�
                         res = super.doSend(sv, com);
                         if (res == null) {
@@ -95,10 +98,15 @@
         if(resultData != null){
             JSONObject codeData = resultData.getJSONObject("data") ;
             if(codeData == null){
-                return RtuSuccessMsg ;
+                msg = RtuSuccessMsg ;
             }else {
-                Integer minute = codeData.getInteger("minute");
-                return "鏌ヨ鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓";
+                String json = codeData.toJSONString();
+                DataCdXyVo cvo = JSON.parseObject(json, DataCdXyVo.class) ;
+                if(cvo != null){
+                    msg = cvo.toStr(false) ;
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
             }
         }else{
             msg = RtuSuccessMsg ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdDto.java
new file mode 100644
index 0000000..4faad3e
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdDto.java
@@ -0,0 +1,17 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd98;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 11:30
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class CdDto extends DtoBase {
+    public static final long serialVersionUID = 202505121108001L;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdParam.java
new file mode 100644
index 0000000..c0fe3df
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdParam.java
@@ -0,0 +1,19 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd98;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 11:30
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdSv.java
new file mode 100644
index 0000000..de7f430
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdSv.java
@@ -0,0 +1,15 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd98;
+
+import com.dy.pipIrrRemote.monitor.common.ComSv;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 11:30
+ * @Description
+ */
+@Slf4j
+@Service("cd98Sv")
+public class CdSv extends ComSv {
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdCtrl.java
similarity index 70%
copy from pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
copy to pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdCtrl.java
index f699aac..10d92c8 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/Cd50Ctrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdCtrl.java
@@ -1,8 +1,11 @@
-package com.dy.pipIrrRemote.monitor.p202404V201;
+package com.dy.pipIrrRemote.monitor.p202404V201.cd99;
 
+import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
@@ -22,32 +25,32 @@
 
 /**
  * @Author: liurunyu
- * @Date: 2025/5/9 14:41
+ * @Date: 2025/5/12 13:45
  * @Description
  */
 @Slf4j
-@Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
-@RestController
-@RequestMapping(path = "p202404V201")
+@Tag(name = "杩滅▼鍛戒护", description = "娓呯┖璁惧缁堢鏃ヨ褰�")
+@RestController("cd99Ctrl")
+@RequestMapping(path = "p202404V201/cd99")
 @RequiredArgsConstructor
 @Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
-public class Cd50Ctrl extends ComCtrl {
+public class CdCtrl extends ComCtrl {
 
-    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛";
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁";
 
-    private static final String ComCode = "50" ;
+    private static final String ComCode = "99" ;
 
     @Autowired
-    private Cd50Sv sv ;
+    private CdSv sv ;
     /**
-     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�侀�忎紶鍛戒护
+     * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠�
      * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
      * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
      * @return 杩斿洖鍓嶇
      */
-    @PostMapping(path = "cd50", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
     @SsoAop()
-    public BaseResponse<Object> send(@RequestBody @Valid Cd50Dto dto, BindingResult bindingResult) {
+    public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
         BaseResponse<Object> res ;
         //鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
         res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -56,16 +59,16 @@
             res = super.pre2(sv, ComCode, dto, bindingResult);
             if (res == null) {
                 //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
-                Cd50Param comParam = Cd50Param.builder().commandCode(ComCode).build();
+                CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType).build();
                 res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
                 if (res == null) {
                     //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
                     super.pre4();
                     try {
                         //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
-                        Command com = sv.createOuterCommand("" + comId, ComCode);
-                        com.rtuAddr = ctrlPo.getRtuAddr();
+                        Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode);
                         com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.param = comParam ;
                         //鍙戦�佸懡浠�
                         res = super.doSend(sv, com);
                         if (res == null) {
@@ -95,10 +98,15 @@
         if(resultData != null){
             JSONObject codeData = resultData.getJSONObject("data") ;
             if(codeData == null){
-                return RtuSuccessMsg ;
+                msg = RtuSuccessMsg ;
             }else {
-                Integer minute = codeData.getInteger("minute");
-                return "鏌ヨ鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓";
+                String json = codeData.toJSONString();
+                DataCdXyVo cvo = JSON.parseObject(json, DataCdXyVo.class) ;
+                if(cvo != null){
+                    msg = cvo.toStr(false) ;
+                }else{
+                    msg = RtuSuccessMsg ;
+                }
             }
         }else{
             msg = RtuSuccessMsg ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdDto.java
new file mode 100644
index 0000000..8a37be2
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdDto.java
@@ -0,0 +1,17 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd99;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:45
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class CdDto extends DtoBase {
+    public static final long serialVersionUID = 202505121108001L;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdParam.java
new file mode 100644
index 0000000..68d021c
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdParam.java
@@ -0,0 +1,19 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd99;
+
+import com.dy.pipIrrRemote.monitor.common.CdParameter;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:45
+ * @Description
+ */
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@SuperBuilder
+public class CdParam extends CdParameter {
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdSv.java
new file mode 100644
index 0000000..8a7609e
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdSv.java
@@ -0,0 +1,15 @@
+package com.dy.pipIrrRemote.monitor.p202404V201.cd99;
+
+import com.dy.pipIrrRemote.monitor.common.ComSv;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/12 13:45
+ * @Description
+ */
+@Slf4j
+@Service("cd99Sv")
+public class CdSv extends ComSv {
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/resources/log4j2.yml b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/resources/log4j2.yml
index 0e7508c..f6768c7 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/resources/log4j2.yml
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/resources/log4j2.yml
@@ -9,7 +9,7 @@
               value: ./logs
             #鏃ュ織鏂囦欢瀛樺偍鍚嶇О
             - name: project.name
-              value: pipIrrOperation
+              value: pipIrrTerminal
 
     #瀹氫箟杈撳嚭鍣紝鍙互杈撳嚭鍒版帶鍒跺彴鍜屾枃浠�.
     Appenders:

--
Gitblit v1.8.0