From 4b32f94e12f0afab074eee93a96eeb722b5bb090 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 06 五月 2024 16:24:10 +0800
Subject: [PATCH] 实现王江海制定的协议驱动及具体功能码协议(部分)
---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd56Vo.java | 9
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd55Vo.java | 10
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_69_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd97Vo.java | 9
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_39_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ParseParamsForDownV202404.java | 43
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd98Vo.java | 9
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd15Vo.java | 14
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd16Vo.java | 11
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Down.java | 82 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_10_Down.java | 87 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_68_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_10_Up.java | 69
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ParseParamsForUpV202404.java | 39
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Up.java | 136 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd10Vo.java | 10
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Down.java | 81 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataAlarmVo.java | 28
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3A_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd50Vo.java | 9
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Down.java | 76
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5BVo.java | 9
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd65Vo.java | 10
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Down.java | 83 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java | 143 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Up.java | 80 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80Vo.java | 204 ++
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java | 129 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Down.java | 76
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Down.java | 68
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5BVo.java | 9
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Down.java | 83 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Up.java | 115 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Up.java | 74
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/说明.txt | 7
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6A_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_38_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd81Vo.java | 85 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Up.java | 75
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd8AVo.java | 44
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5CVo.java | 10
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd15Vo.java | 30
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Up.java | 92 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Down.java | 76
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd10Vo.java | 28
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Up.java | 65
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java | 39
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CodeV202404.java | 101 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd55Vo.java | 53
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd56Vo.java | 30
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Down.java | 67
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Up.java | 74
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd50Vo.java | 28
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Down.java | 145 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java | 253 +++
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_36_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Down.java | 76
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd97Vo.java | 29
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Down.java | 68
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_81_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java | 100 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataV202404.java | 25
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_67_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Down.java | 100 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ProtocolConstantV206V202404.java | 50
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_37_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/OnLineV202404.java | 39
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Up.java | 69
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Down.java | 76
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Data.java | 12
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Up.java | 118 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java | 223 ++
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3B_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataStateVo.java | 24
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5CVo.java | 40
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd65Vo.java | 60
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6B_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Down.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd98Vo.java | 29
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java | 155 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/说明.txt | 5
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd02Vo.java | 28
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java | 93 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/PrefixedDataAvailableV202404.java | 130 +
102 files changed, 4,664 insertions(+), 54 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Data.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Data.java
index 1bc29b7..5335fb6 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Data.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Data.java
@@ -13,12 +13,12 @@
private static final long serialVersionUID = 20160805192500101L;
public String rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
- private String commandId ;//鍛戒护ID锛屽彲鑳戒负null
- private String rtuAddr ;//缁堢鍦板潃
- private String protocol ;//鏁版嵁鎵�瀵瑰簲鐨勫崗璁悕绉�
- private String code ;//鏁版嵁鎵�瀵瑰簲鐨勫姛鑳界爜:
- private Object subData ;//瀵瑰簲鍚勪釜鍔熻兘鐮佺殑鍏蜂綋鏁版嵁
- private String hex ;//涓婃姤鏁版嵁鐨勫崄鍏繘鍒�
+ public String commandId ;//鍛戒护ID锛屽彲鑳戒负null
+ public String rtuAddr ;//缁堢鍦板潃
+ public String protocol ;//鏁版嵁鎵�瀵瑰簲鐨勫崗璁悕绉�
+ public String code ;//鏁版嵁鎵�瀵瑰簲鐨勫姛鑳界爜:
+ public Object subData ;//瀵瑰簲鍚勪釜鍔熻兘鐮佺殑鍏蜂綋鏁版嵁
+ public String hex ;//涓婃姤鏁版嵁鐨勫崄鍏繘鍒�
public String toString() {
StringBuilder sb = new StringBuilder() ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java
index 88025f2..f10fdef 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java
@@ -19,7 +19,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Down.java
index b37477e..356d492 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Down.java
@@ -27,7 +27,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Down.java
index a12a508..3e518e0 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Down.java
@@ -28,7 +28,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Down.java
index 567ff4c..df34fc2 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Down.java
@@ -28,7 +28,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_36_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_36_Down.java
index 72c9171..1c19646 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_36_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_36_Down.java
@@ -28,7 +28,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_37_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_37_Down.java
index af6f4ac..d9e1c7f 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_37_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_37_Down.java
@@ -28,7 +28,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_38_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_38_Down.java
index a18ca65..3279544 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_38_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_38_Down.java
@@ -28,7 +28,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_39_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_39_Down.java
index 3686b0e..93a35ef 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_39_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_39_Down.java
@@ -28,7 +28,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3A_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3A_Down.java
index 71892c8..42aafdc 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3A_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3A_Down.java
@@ -28,7 +28,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3B_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3B_Down.java
index 2947121..a4edba7 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3B_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3B_Down.java
@@ -28,7 +28,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Down.java
index 9c757f8..98c53c8 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Down.java
@@ -28,7 +28,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Down.java
index 37985d6..5387d72 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Down.java
@@ -28,7 +28,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Down.java
index b84d33e..ab45ea4 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Down.java
@@ -27,7 +27,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Down.java
index b84072d..2b4a92f 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Down.java
@@ -29,7 +29,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_67_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_67_Down.java
index 2b0f2fe..765a2b1 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_67_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_67_Down.java
@@ -27,7 +27,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_68_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_68_Down.java
index 28e2fae..9eb3ad5 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_68_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_68_Down.java
@@ -27,7 +27,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_69_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_69_Down.java
index 621c3b2..8f5fe11 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_69_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_69_Down.java
@@ -27,7 +27,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6A_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6A_Down.java
index 8e538a3..cdac1c1 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6A_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6A_Down.java
@@ -27,7 +27,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6B_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6B_Down.java
index d681e0e..fb23c53 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6B_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6B_Down.java
@@ -27,7 +27,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Down.java
index 8e7a7a3..aeb1980 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Down.java
@@ -28,7 +28,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Down.java
index 29289ca..9d7e002 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Down.java
@@ -23,7 +23,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_81_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_81_Down.java
index d60cfc3..d12c250 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_81_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_81_Down.java
@@ -23,7 +23,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Down.java
index 459107a..753828d 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Down.java
@@ -23,7 +23,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Down.java
index 1541de3..0581296 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Down.java
@@ -23,7 +23,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Down.java
index 279f96c..d8be3a8 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Down.java
@@ -28,7 +28,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Down.java
index 5bf918b..669d4f5 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Down.java
@@ -27,7 +27,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Down.java
index 7437c05..9bb634d 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Down.java
@@ -27,7 +27,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Down.java
index baaa114..11fd9a7 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Down.java
@@ -28,7 +28,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Down.java
index a3d4f8b..d809aa1 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Down.java
@@ -28,7 +28,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Down.java
index cba13dd..90c0eee 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Down.java
@@ -23,7 +23,7 @@
MidResultToRtu midRs = new MidResultToRtu() ;
midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
- midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛�
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
diff --git "a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/\350\257\264\346\230\216.txt" "b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/\350\257\264\346\230\216.txt"
index 4f9010c..6505ee9 100644
--- "a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/\350\257\264\346\230\216.txt"
+++ "b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/\350\257\264\346\230\216.txt"
@@ -4,4 +4,9 @@
浣嗗疄鐜扮殑閮ㄥ垎鍙互鐢ㄦ潵娴嬭瘯娴嬫帶涓�浣撻榾锛堜笌娈靛織寮轰竴璧锋祴璇曡繃锛夈��
鐩墠鎯呭喌涓嬶紝杩欑増鏈崗璁疄鐜颁笉鑳藉簲鐢ㄤ簬瀹為檯椤圭洰涓紝濡傛灉蹇呴』瀹炵幇锛�
杩橀渶瑕佺粨鍚堢‖浠跺崗璁叿浣撳疄鐜板唴瀹瑰啀瀹炵幇閫氫俊涓棿浠剁殑鍗忚瑙f瀽涓庢瀯閫犻儴鍒嗭紝
-杩橀渶瑕佸疄鐜颁笂琛屾暟鎹鐞嗕换鍔℃爲閮ㄥ垎銆�
\ No newline at end of file
+杩橀渶瑕佸疄鐜颁笂琛屾暟鎹鐞嗕换鍔℃爲閮ㄥ垎銆�
+
+
+闈虫�荤増娴嬫帶涓�浣撻榾涓庣帇姹熸捣鐗堟祴鎺т竴浣撻榾涓嶈兘鍦ㄥ悓涓�涓腑闂翠欢杩愯锛�
+鍥犱负涓や釜鐗堟湰鐨勫崗璁崗璁ご閮戒竴鏍凤紝娌℃硶鍖哄垎寮�鏉ワ紝濡傛灉涓ょ璁惧
+閮借搴旂敤锛岄渶瑕侀儴缃蹭袱涓�氫俊涓棿浠躲��
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CodeV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CodeV202404.java
new file mode 100644
index 0000000..0be4b8b
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CodeV202404.java
@@ -0,0 +1,101 @@
+package com.dy.common.mw.protocol.p206V202404;
+
+public class CodeV202404 {
+ //鍔熻兘鐮佷负瀛楃涓诧紝鍗佸叚杩涘埗鏁版嵁
+ public static final String cd_02 = "02" ;//閾捐矾妫�娴�
+ public static final String cd_10 = "10" ;//璁剧疆璁惧缁堢鍦板潃
+ public static final String cd_8A = "8A" ;//璁惧鐧诲綍
+ public static final String cd_50 = "50" ; //鏌ヨ璁惧缁堢鍦板潃
+ public static final String cd_80 = "80" ; //璁惧缁堢宸ヤ綔涓婃姤
+ public static final String cd_81 = "81" ; //璁惧缁堢闅忔満鑷姤
+ public static final String cd_5B = "5B" ; //鏌ヨ璁惧缁堢瀹炴椂鍊�
+ public static final String cd_65 = "65" ; //鏌ヨ璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍
+ public static final String cd_97 = "97" ; //娓呴櫎璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍
+ public static final String cd_15 = "15" ; //杩滅▼鐢ㄦ埛鍏呭��
+ public static final String cd_55 = "55" ; //鏌ヨ璁惧缁堢鍏呭�艰褰�
+ public static final String cd_98 = "98" ; //娓呯┖璁惧缁堢鍏呭�艰褰�
+ public static final String cd_16 = "16" ; //璁剧疆璁惧缁堢鍓╀綑姘撮噺鍜屽墿浣欓噾棰濇姤璀﹀��
+ public static final String cd_56 = "56" ; //鏌ヨ璁惧缁堢鍓╀綑姘撮噺鍜屽墿浣欓噾棰濇姤璀﹀��
+ public static final String cd_5C = "5C" ; //鏌ヨ璁惧缁堢鐨勬棩璁板綍
+ public static final String cd_99 = "99" ; //娓呯┖璁惧缁堢鏃ヨ褰�
+ public static final String cd_22 = "22" ; //璁剧疆鏈轰簳骞存渶澶у紑閲囬噺鍜屾按浣嶄笅闄�
+ public static final String cd_68 = "68" ; //鏌ヨ鏈轰簳骞存渶澶у紑閲囬噺鍜屾按浣嶄笅闄�
+ public static final String cd_30 = "30" ; //璁剧疆璁惧缁堢鐢ㄦ按鏈夋晥
+ public static final String cd_31 = "31" ; //璁剧疆璁惧缁堢鐢ㄦ按鏃犳晥
+ public static final String cd_92 = "92" ; //骞冲彴杩滅▼寮�鍚按娉�/闃�闂�
+ public static final String cd_93 = "93" ; //骞冲彴杩滅▼鍏抽棴姘存车/闃�闂�
+ public static final String cd_A2 = "A2" ; //APP杩滅▼寮�鍚按娉�/闃�闂�
+ public static final String cd_A3 = "A3" ; //APP杩滅▼鍏抽棴姘存车/闃�闂�
+ public static final String cd_83 = "83" ; //閬ユ祴缁堢瀹氱偣涓婃姤
+ public static final String cd_84 = "84" ; //鍒峰崱寮�娉�/闃�涓婃姤
+ public static final String cd_85 = "85" ; //鍒峰崱鍏虫车/闃�涓婃姤
+ public static final String cd_9A = "9A" ; //娓呴櫎骞寸敤姘撮噺鍜屽勾鐢ㄧ數閲�
+ public static final String cd_26 = "26" ; //璁剧疆璁惧缁堢骞寸敤姘撮噺
+ public static final String cd_21 = "21" ; //璁剧疆璁惧缁堢IP鍦板潃
+ public static final String cd_86 = "86" ; //鏌ヨ璁惧缁堢IP鍦板潃
+ public static final String cd_23 = "23" ; //璁剧疆璁惧缁堢鍩熷悕
+ public static final String cd_87 = "87" ; //鏌ヨ璁惧缁堢鍩熷悕
+ public static final String cd_88 = "88" ; //鏌ヨ璁惧缁堢娉ㄥ唽鍙�
+ public static final String cd_24 = "24" ; //璁剧疆璁惧缁堢娉ㄥ唽鍙�
+ public static final String cd_25 = "25" ; //璁剧疆璁惧缁堢閲嶆柊娉ㄥ唽
+ public static final String cd_9B = "9B" ; //娓呴櫎璁惧缁堢娉ㄥ唽鍙�
+ public static final String cd_9C = "9C" ; //榛戝悕鍗曡繙绋嬪己鍒跺叧闂按娉�/闃�闂�
+ public static final String cd_C2 = "C2" ; //寮�鍏虫按娉�/闃�闂ㄦ垚鍔�/澶辫触涓婃姤
+
+ public static String getCodeName(String code) {
+ String name = (code.equals(cd_02) ? "閾捐矾妫�娴�" :
+ (code.equals(cd_10) ? "璁剧疆璁惧缁堢鍦板潃" :
+ (code.equals(cd_8A) ? "璁惧鐧诲綍" :
+ (code.equals(cd_50) ? "鏌ヨ璁惧缁堢鍦板潃" :
+ (code.equals(cd_80) ? "璁惧缁堢宸ヤ綔涓婃姤" :
+ (code.equals(cd_81) ? "璁惧缁堢闅忔満鑷姤" :
+ (code.equals(cd_5B) ? "鏌ヨ璁惧缁堢瀹炴椂鍊�" :
+ (code.equals(cd_65) ? "鏌ヨ璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍" :
+ (code.equals(cd_97) ? "娓呴櫎璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍" :
+ (code.equals(cd_15) ? "杩滅▼鐢ㄦ埛鍏呭��" :
+ (code.equals(cd_55) ? "鏌ヨ璁惧缁堢鍏呭�艰褰�" :
+ (code.equals(cd_98) ? "娓呯┖璁惧缁堢鍏呭�艰褰�" :
+ (code.equals(cd_16) ? "璁剧疆璁惧缁堢鍓╀綑姘撮噺鍜屽墿浣欓噾棰濇姤璀﹀��" :
+ (code.equals(cd_56) ? "鏌ヨ璁惧缁堢鍓╀綑姘撮噺鍜屽墿浣欓噾棰濇姤璀﹀��" :
+ (code.equals(cd_5C) ? "鏌ヨ璁惧缁堢鐨勬棩璁板綍" :
+ (code.equals(cd_99) ? "娓呯┖璁惧缁堢鏃ヨ褰�" :
+ (code.equals(cd_22) ? "璁剧疆鏈轰簳骞存渶澶у紑閲囬噺鍜屾按浣嶄笅闄�" :
+ (code.equals(cd_68) ? "鏌ヨ鏈轰簳骞存渶澶у紑閲囬噺鍜屾按浣嶄笅闄�" :
+ (code.equals(cd_30) ? "璁剧疆璁惧缁堢鐢ㄦ按鏈夋晥" :
+ (code.equals(cd_31) ? "璁剧疆璁惧缁堢鐢ㄦ按鏃犳晥" :
+ (code.equals(cd_92) ? "骞冲彴杩滅▼寮�鍚按娉�/闃�闂�" :
+ (code.equals(cd_93) ? "骞冲彴杩滅▼鍏抽棴姘存车/闃�闂�" :
+ (code.equals(cd_A2) ? "APP杩滅▼寮�鍚按娉�/闃�闂�" :
+ (code.equals(cd_A3) ? "APP杩滅▼鍏抽棴姘存车/闃�闂�" :
+ (code.equals(cd_83) ? "閬ユ祴缁堢瀹氱偣涓婃姤" :
+ (code.equals(cd_84) ? "鍒峰崱寮�娉�/闃�涓婃姤" :
+ (code.equals(cd_85) ? "鍒峰崱鍏虫车/闃�涓婃姤" :
+ (code.equals(cd_9A) ? "娓呴櫎骞寸敤姘撮噺鍜屽勾鐢ㄧ數閲�" :
+ (code.equals(cd_26) ? "璁剧疆璁惧缁堢骞寸敤姘撮噺" :
+ (code.equals(cd_21) ? "璁剧疆璁惧缁堢IP鍦板潃" :
+ (code.equals(cd_86) ? "鏌ヨ璁惧缁堢IP鍦板潃" :
+ (code.equals(cd_23) ? "璁剧疆璁惧缁堢鍩熷悕" :
+ (code.equals(cd_87) ? "鏌ヨ璁惧缁堢鍩熷悕" :
+ (code.equals(cd_88) ? "鏌ヨ璁惧缁堢娉ㄥ唽鍙�" :
+ (code.equals(cd_24) ? "璁剧疆璁惧缁堢娉ㄥ唽鍙�" :
+ (code.equals(cd_25) ? "璁剧疆璁惧缁堢閲嶆柊娉ㄥ唽" :
+ (code.equals(cd_9B) ? "娓呴櫎璁惧缁堢娉ㄥ唽鍙�" :
+ (code.equals(cd_9C) ? "榛戝悕鍗曡繙绋嬪己鍒跺叧闂按娉�/闃�闂�" :
+ (code.equals(cd_C2) ? "寮�鍏虫按娉�/闃�闂ㄦ垚鍔�/澶辫触涓婃姤" :
+ ""))))))))))))))))))))))))))))))))))))))) ;
+ return name ;
+ }
+
+ /**
+ * 鏄惁涓烘湁鏁堝姛鑳界爜
+ * @param code 鍔熻兘鐮�
+ * @return 鏈夋晥true锛屾棤鏁坒alse
+ */
+ public static boolean isValid(String code){
+ String name = getCodeName(code) ;
+ if(name != null && !name.equals("")){
+ return true ;
+ }
+ return false ;
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java
new file mode 100644
index 0000000..42c9190
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java
@@ -0,0 +1,223 @@
+package com.dy.common.mw.protocol.p206V202404;
+
+import com.dy.common.util.ByteUtil;
+import com.dy.common.util.ByteUtilUnsigned;
+import com.dy.common.util.CRC8_for_2_0;
+
+
+public class CommonV202404 {
+ /**
+ * 妫�鏌ュご
+ * @param bs 涓婅瀛楄妭鏁扮粍
+ * @return true鏄�,false鍚�
+ * @throws Exception 寮傚父
+ */
+ public Boolean isThisProtocolHead(byte[] bs) throws Exception{
+ if(bs == null){
+ return null ;
+ }else if(bs.length >= (ProtocolConstantV206V202404.ctrlIndex - 1)
+ && bs[0] == ProtocolConstantV206V202404.P_Head_Byte){
+ if(bs[2] == ProtocolConstantV206V202404.P_Head_Byte){
+ return true ;
+ }else if((byte)(bs[2] & 0xF8) == ProtocolConstantV206V202404.P_Head_Byte){
+ //濡傛灉鎺у埗鍩熴�佸湴鍧�鍩熴�佺敤鎴锋暟鎹煙(搴旂敤灞�)鐨勫瓧鑺傛�绘暟澶т簬255锛屽垯閫氳繃鎵╁睍绗簩涓紑濮嬪瓧绗�0x68鐨勪綆3浣嶄綔涓洪暱L鐨勯珮浣嶆墿灞�
+ //0xF8浜岃繘鍒讹細 11111000
+ return true ;
+ }else{
+ return false ;
+ }
+ }else{
+ return false ;
+ }
+ }
+
+ /**
+ * 妫�鏌ュご
+ * @param bs 涓婅瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public void checkHead(byte[] bs) throws Exception{
+ if(bs.length < ProtocolConstantV206V202404.lenHead2Code
+ || bs[0] != ProtocolConstantV206V202404.P_Head_Byte){
+ throw new Exception("涓婅鏁版嵁甯уご涓嶆纭紒") ;
+ }else{
+ if(bs.length >= ProtocolConstantV206V202404.lenHead2Code){
+ if(bs[2] != ProtocolConstantV206V202404.P_Head_Byte
+ && (byte)(bs[2] & 0xF8) != ProtocolConstantV206V202404.P_Head_Byte){
+ throw new Exception("涓婅鏁版嵁甯уご涓嶆纭紒") ;
+ }
+ }else{
+ throw new Exception("涓婅鏁版嵁甯уご涓嶆纭紒") ;
+ }
+ }
+ }
+
+ /**
+ * 妫�鏌ュ熬
+ * @param bs 涓婅瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public void checkTail(byte[] bs) throws Exception{
+ if(bs.length < 1 || bs[bs.length - 1] != ProtocolConstantV206V202404.P_Tail_Byte){
+ throw new Exception("涓婅鏁版嵁灏句笉姝g‘锛�") ;
+ }
+ }
+
+
+ /**
+ * 鍒嗘瀽甯ч暱搴�
+ * @param bs 涓婅瀛楄妭鏁扮粍
+ * @return 鏁版嵁闀垮害
+ * @throws Exception 寮傚父
+ */
+ public int parseFrameLen(byte[] bs)throws Exception{
+ if(bs[2] != ProtocolConstantV206V202404.P_Head_Byte
+ && (byte)(bs[2] & 0xF8) != ProtocolConstantV206V202404.P_Head_Byte){
+ int lenH = bs[2] & 0x07 ;
+ int lenL = ByteUtilUnsigned.byte2Byte(bs, ProtocolConstantV206V202404.dataLenIndex) ;
+ return (lenH * 100) + (lenL + ProtocolConstantV206V202404.lenHead2ctrl + ProtocolConstantV206V202404.lenTail) ;
+ }else{
+ int len = ByteUtilUnsigned.byte2Byte(bs, ProtocolConstantV206V202404.dataLenIndex) ;
+ return len + ProtocolConstantV206V202404.lenHead2ctrl + ProtocolConstantV206V202404.lenTail ;
+ }
+ }
+
+
+ /**
+ * 鍒嗘瀽鐢ㄦ埛鏁版嵁鍩熷瓧鑺傛暟
+ * @param bs 涓婅瀛楄妭鏁扮粍
+ * @return 鏁版嵁闀垮害
+ * @throws Exception 寮傚父
+ */
+ public int parseDataLen(byte[] bs)throws Exception{
+ return parseFrameLen(bs) ;
+ }
+
+
+ /**
+ * 鍒嗘瀽Rtu鍦板潃
+ * @param bs 涓婅瀛楄妭鏁扮粍
+ * @return 鎺у埗鍣ㄥ湴鍧�
+ * @throws Exception 寮傚父
+ */
+ public String parseRtuAddr(byte[] bs)throws Exception{
+ String rtuAddrBCD = "" + ByteUtil.BCD2Long_BE(bs, ProtocolConstantV206V202404.rtuAddr1Index_start, ProtocolConstantV206V202404.rtuAddr1Index_end) ;
+ String rtuAddrStr = "" + ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V202404.rtuAddr2Index_start) ;
+ while(rtuAddrStr.length() < 5){
+ rtuAddrStr = "0" + rtuAddrStr ;
+ }
+ return rtuAddrBCD + rtuAddrStr ;
+ }
+
+
+ /**
+ * 鍒嗘瀽Rtu鍦板潃
+ * @param bs 涓婅瀛楄妭鏁扮粍
+ * @param index 鍚浣�
+ * @return 鎺у埗鍣ㄥ湴鍧�
+ * @throws Exception 寮傚父
+ */
+ public String parseRtuAddr(byte[] bs, int index)throws Exception{
+ String rtuAddrBCD = "" + ByteUtil.BCD2Long_BE(bs, index, index + ProtocolConstantV206V202404.rtuAddr1Index_end - ProtocolConstantV206V202404.rtuAddr1Index_start) ;//鍦板潃鏄ぇ绔ā寮�
+ String rtuAddrStr = "" + ByteUtilUnsigned.bytes2Short_LE(bs, index + 1 + ProtocolConstantV206V202404.rtuAddr1Index_end - ProtocolConstantV206V202404.rtuAddr1Index_start) ;
+ while(rtuAddrStr.length() < 5){
+ rtuAddrStr = "0" + rtuAddrStr ;
+ }
+ return rtuAddrBCD + rtuAddrStr ;
+ }
+
+
+ /**
+ * 鍒嗘瀽鍔熻兘鐮�
+ * @param bs 涓婅瀛楄妭鏁扮粍
+ * @return 鍔熻兘鐮�
+ */
+ public String parseCode(byte[] bs){
+ return ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V202404.codeIndex, 1) ;
+ }
+
+ /**
+ * 鏍¢獙鍜屾鏌�
+ * @param bs 涓婅瀛楄妭鏁扮粍
+ * @return 閫氳繃null锛屾湭閫氳繃杩斿洖鍘熷洜
+ * @throws Exception 寮傚父
+ */
+ public String checkCrc_str(byte[] bs) throws Exception {
+ byte crcCompute = (byte)new CRC8_for_2_0().CRC8(bs, ProtocolConstantV206V202404.ctrlIndex, bs.length - 3) ;
+ byte crcInBs = bs[bs.length - 2] ;
+ if(crcCompute == crcInBs){
+ return null ;
+ }else{
+ return "璁$畻CRC鏄�:" + crcCompute + "锛屼笂浼燙RC鏄�" + crcInBs ;
+ }
+ }
+
+
+ /*
+ 鏋勯�犳帶鍒跺煙
+ D7 D6 D5锝濪4 D3锝濪0
+ 浼犺緭鏂瑰悜浣� DIR 鎷嗗垎鏍囧織浣� DIV 甯ц鏁颁綅 FCB 鍔熻兘鐮�
+ 1銆佷紶杈撴柟鍚戜綅(DIR)
+ DIR=0锛氳〃绀烘甯ф枃鏄敱涓績绔欏彂鍑虹殑涓嬭鎶ユ枃銆�
+ DIR=1锛氳〃绀烘甯ф枃鏄敱缁堢绔欏彂鍑虹殑涓婅鎶ユ枃銆�
+ 姣忓抚鎶ユ枃鐨勯�氫俊杩囩▼涓槸涓嶅彉鐨勩��
+ 2銆佹媶鍒嗘爣蹇椾綅(DIV)
+ DIV=1锛氳〃绀烘鎶ユ枃宸茶鎷嗗垎涓鸿嫢骞插抚锛屾帴鏀跺悗闇�瑕佹嫾鎺ャ�傛鏃舵帶鍒跺煙鍚庡鍔犱竴涓瓧鑺傦紝涓烘媶鍒嗗抚璁版暟DIVS锛岄噰鐢˙IN鍊掕鏁�(255-1),1琛ㄧず鏈�鍚庝竴甯ф暟鎹�傚惎鍔ㄧ珯鍙戦�佹椂鑷姩鍔犱笂鍙戦�侊紝浠庡姩绔欒繑甯ф椂瀵瑰簲鍔犱笂纭銆�
+ DIV=0锛氳〃绀烘甯ф姤鏂囦负鍗曞抚銆�
+ 3銆佸抚璁℃暟浣�(FCB)锛�
+ FCB琛ㄧず姣忎釜绔欒繛缁殑鍙戦��/纭鎴栬姹�/鍝嶅簲鏈嶅姟鐨勫彉鍖栦綅銆侳CB浣嶇敤鏉ラ槻姝俊鎭紶杈撶殑涓㈠け鍜岄噸澶嶃��
+ 鍚姩绔欏悜鍚屼竴浠庡姩绔欎紶杈撴柊鐨勫彂閫�/纭鎴栬姹�/鍝嶅簲浼犺緭鎶ュ姟鏃讹紝鍚姩绔欏皢璁剧疆FCB鍊硷紝鑻ヨ秴鏃舵湭鍒颁粠绔欑殑鎶ユ枃锛屾垨鎺ユ敹鍑虹幇宸敊锛屽垯鍚姩绔欏皢FCB鍑�1锛岄噸澶嶅師鏉ョ殑鍙戦��/纭鎴栬姹�/鍝嶅簲鏈嶅姟锛岀洿鍒癋CB鍑忎负0锛岃〃绀烘湰娆′紶杈撴湇鍔″け璐ャ��
+ 浠庡姩绔欐敹鍒板惎鍔ㄧ珯FCB鍊间笉涓�0鐨勬姤鏂囧苟鎸夌収瑕佹眰纭鎴栧搷搴旀椂锛屽簲杩斿洖鐩稿簲鐨凢CB鍊笺��
+ */
+ public byte createCtrl(byte dir, byte funcCode){
+ byte b = dir;//DIR = 1(0x80)锛岃〃绀烘甯ф姤鏂囨槸鐢辩粓绔彂鍑虹殑涓婅鎶ユ枃锛�
+ b = (byte)(b | funcCode) ;
+ //DIV = 1(0x40)锛岃〃绀烘鎶ユ枃宸茶鎷嗗垎涓鸿嫢骞插抚
+ //FCB = 1(0x08)锛岃〃绀哄彧鍙戜竴娆�
+ b = (byte)(b |0x08) ;
+ //DIR = 0 涓嬭锛屽垯鍔熻兘鐮侀噰鐢�0
+ return b ;
+ }
+
+ /**
+ * 寰楀埌鍏冲紑闃�绫诲瀷鍚嶇О
+ * @param type 瀛楄妭
+ * @return 鍚嶇О
+ */
+ public static String openCloseValveType(byte type){
+ return switch (type) {
+ case 1 -> "鍒峰崱寮�闃�";
+ case 2 -> "鍒峰崱鍏抽榾";
+ case 3 -> "涓績绔欏紑闃�";
+ case 4 -> "涓績绔欏叧闃�";
+ case 5 -> "娆犺垂鍏抽榾";
+ case 6 -> "娴侀噺璁℃晠闅滃叧闃�";
+ case 7 -> "绱ф�ュ叧闃�";
+ case 8 -> "鐢ㄦ埛杩滅▼寮�闃�";
+ case 9 -> "鐢ㄦ埛杩滅▼鍏抽榾";
+ case 16 -> "绠¢亾鏃犳按鑷姩鍏抽榾";
+ default -> "鏈煡";
+ };
+ }
+
+ /*
+ * 鍒嗘瀽鐗堟湰鍙�
+ * @param bs 涓婅瀛楄妭鏁扮粍
+ * @return 鐗堟湰鍙�
+ * @throws Exception 寮傚父
+ public String parseVersion(byte[] bs)throws Exception{
+ short ver = ByteUtilUnsigned.byte2Byte(bs, ProtocolConstantV206V202404.versionIndex) ;
+ char[] cs = ("" + ver).toCharArray() ;
+ StringBuilder vs = new StringBuilder() ;
+ for(byte i = 0 ; i < cs.length; i++){
+ if(i == 0){
+ vs.append(cs[i]) ;
+ }else{
+ vs.append(".").append(cs[i]) ;
+ }
+ }
+ return vs.toString() ;
+ }
+ */
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataAlarmVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataAlarmVo.java
new file mode 100644
index 0000000..65f6fcb
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataAlarmVo.java
@@ -0,0 +1,28 @@
+package com.dy.common.mw.protocol.p206V202404;
+
+import lombok.Data;
+
+@Data
+public class DataAlarmVo {
+ public Byte batteryVolt ;// 钃勭數姹犵數鍘�
+ public Byte loss ;//婕忔崯
+ public Byte meter ;//浠〃
+ public Byte valve ;//闃�闂�
+
+ public String toString(){
+ StringBuilder str = new StringBuilder() ;
+ str.append(" 鎶ヨ:\n");
+ str.append(" 钃勭數姹犵數鍘嬶細");
+ str.append(batteryVolt==null?"":(batteryVolt==1?"鎶ヨ":"姝e父"));
+ str.append("\n");
+ str.append(" 婕忔崯锛�");
+ str.append(loss==null?"":(loss==1?"鎶ヨ":"姝e父"));
+ str.append("\n");
+ str.append(" 浠〃锛�");
+ str.append(meter==null?"":(meter==1?"鎶ヨ":"姝e父"));
+ str.append("\n");
+ str.append(" 闃�闂細");
+ str.append(valve==null?"":(valve==1?"鎶ヨ":"姝e父"));
+ return str.toString() ;
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataStateVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataStateVo.java
new file mode 100644
index 0000000..41acc0d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataStateVo.java
@@ -0,0 +1,24 @@
+package com.dy.common.mw.protocol.p206V202404;
+
+import lombok.Data;
+
+@Data
+public class DataStateVo {
+ public Byte icCard;// IC鍗″姛鑳�
+ public Byte working;//宸ヤ綔鐘舵��
+ public Byte valve ;//闃�闂�
+
+ public String toString(){
+ StringBuilder str = new StringBuilder() ;
+ str.append(" 鐘舵��:\n");
+ str.append(" IC 鍗″姛鑳斤細");
+ str.append(icCard ==null?"":(icCard ==1?"鏈夋晥":"鏃犳晥"));
+ str.append("\n");
+ str.append(" 宸ヤ綔鐘舵�侊細");
+ str.append(working ==null?"":(working ==1?"鍚姩":"鍋滄"));
+ str.append("\n");
+ str.append(" 闃�闂ㄧ姸鎬侊細");
+ str.append(valve==null?"":(valve==1?"鎵撳紑":"鍏抽棴"));
+ return str.toString() ;
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataV202404.java
new file mode 100644
index 0000000..646d5ec
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataV202404.java
@@ -0,0 +1,25 @@
+package com.dy.common.mw.protocol.p206V202404;
+
+import lombok.Data;
+
+@Data
+public class DataV202404 implements java.io.Serializable{
+
+ private static final long serialVersionUID = 202404280919001L;
+
+ public String rtuAddr ;//RtuAddr
+
+ public Object subData ;
+
+ public String dt ;//閫氫俊涓棿浠朵骇鐢熸敹鎶ユ椂闂�(yyyy-MM-dd hh:mm:ss)
+
+ public String toString(){
+ StringBuffer sb = new StringBuffer() ;
+ sb.append(" 鎺у埗鍣ㄥ湴鍧� : " + (rtuAddr==null?"":rtuAddr) + "\n") ;
+ sb.append(" 缁堢鏁版嵁:\n") ;
+ if(subData != null){
+ sb.append(subData.toString()) ;
+ }
+ return sb.toString() ;
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java
new file mode 100644
index 0000000..08c5eb2
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java
@@ -0,0 +1,155 @@
+package com.dy.common.mw.protocol.p206V202404;
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.util.DateTime;
+
+import java.net.URI;
+import java.net.URL;
+
+@AnnotationDriver(name= ProtocolConstantV206V202404.protocolName)
+public class DriverV202404 extends Driver {
+
+ private static String scanRootPackage = "com.dy.common.mw.protocol.p206V202404." ;
+
+ //鍦―river涓槸鍗曚緥锛岄殢Driver鐨勫崟渚嬪璞″湪鍗曠嚎绋嬩腑杩愯
+ private ParseParamsForUpV202404 upCpParams ;
+ private ParseParamsForDownV202404 downCpParams ;
+
+ private Boolean reportOrResponse_trueOrFalse = null ;
+ private String rtuAddrInData = null ;
+
+ public DriverV202404(){
+ upCpParams = new ParseParamsForUpV202404() ;
+ downCpParams = new ParseParamsForDownV202404() ;
+ }
+
+
+ /**
+ * 鎵弿璇嗗埆鍔熻兘鐮佹敞瑙g被
+ */
+ @Override
+ public void scanAnnotationCode() throws Exception{
+ if(!scanRootPackage.endsWith(".")){
+ scanRootPackage += "." ;
+ }
+ URL url = this.getClass().getResource("/" + scanRootPackage.replace('.', '/'));
+ URI uri = new URI(url.toString());
+ super.doScanAnnotationCode(this, ProtocolConstantV206V202404.protocolName, uri, scanRootPackage) ;
+ }
+
+ /**
+ * 瑙f瀽涓婅鏁版嵁
+ * @param isLowPower 鏄惁鍦ㄤ綆鍔熻�楃幆澧冧笅杩愯
+ * @param rtuAddr
+ * @param upBuffer
+ * @param callback
+ * @param upHex
+ * @return
+ */
+ @Override
+ public MidResult[] parseData(Boolean isLowPower, String rtuAddr, byte[] upBuffer, String upHex, DriverParserDataCallback callback, Object... params) {
+ reportOrResponse_trueOrFalse = null ;
+ boolean isFail = false ;
+ String upCode = null ;
+ try{
+ CommonV202404 cp = new CommonV202404() ;
+ cp.checkHead(upBuffer) ;
+ cp.checkTail(upBuffer) ;
+ String crcStr = cp.checkCrc_str(upBuffer) ;
+ if(crcStr != null){
+ return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr, "涓ラ噸閿欒锛屼笂琛屾暟鎹瓹RC妫�鏌ュけ璐ワ紝" + crcStr, null))} ;
+ }
+ rtuAddr = cp.parseRtuAddr(upBuffer) ;
+ upCode = cp.parseCode(upBuffer) ;
+ if(upCode == null){
+ return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr, "涓ラ噸閿欒锛屾湭鑳戒粠涓婅鏁版嵁涓В鏋愬嚭鍔熻兘鐮侊紒", null))} ;
+ }
+ //Integer dataLen = cp.parseFrameLen(upBuffer) ;
+ Data upData = new Data() ;
+ upData.setRtuAddr(rtuAddr) ;
+ upData.setProtocol(ProtocolConstantV206V202404.protocolName);
+ upData.setCode(upCode) ;
+ upData.setHex(upHex) ;
+
+
+ DataV202404 dV1_0_1 = new DataV202404() ;
+ //dV1_0_1.version = cp.parseVersion(upBuffer) ;
+ dV1_0_1.rtuAddr = rtuAddr ;
+ dV1_0_1.dt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
+
+ upData.setSubData(dV1_0_1) ;
+
+ this.upCpParams.clear();
+ this.upCpParams.setValue(ProtocolConstantV206V202404.protocolName,
+ rtuAddr,
+ upCode,
+ upHex,
+ upBuffer,
+ upData);
+ CodeParse codeParse = this.getUpCodeParser(upCode) ;
+ if(codeParse == null){
+ return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr, "涓ラ噸閿欒锛屾湭鑳藉緱鍒颁笂琛屾暟鎹姛鑳界爜" + upCode + "澶勭悊绫�!", null))} ;
+ }else{
+ return codeParse.parse(isLowPower, this.upCpParams, new CodeParseCallback(){
+ @Override
+ public void callback(Boolean flag) {
+ reportOrResponse_trueOrFalse = flag ;
+ rtuAddrInData = dV1_0_1.getRtuAddr() ;
+ }
+ });
+ }
+
+ } catch (Exception e) {
+ isFail = true ;
+ return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr, "涓ラ噸閿欒锛屽垎鏋怰tu鏁版嵁鍑洪敊锛佹暟鎹负锛�" + upHex + (e.getMessage() == null?"":("锛屽嚭閿欎俊鎭細" + e.getMessage())), e))} ;
+ } finally{
+ callback.callback(rtuAddr, upCode, upHex, reportOrResponse_trueOrFalse, isFail, rtuAddrInData);
+ }
+ }
+
+ /**
+ * 鏋勯�犱笅琛屾暟鎹紙鍛戒护锛�
+ * @param isLowPower 鏄惁鍦ㄤ綆鍔熻�楃幆澧冧笅杩愯
+ * @param command 鍛戒护
+ * @return
+ */
+ @Override
+ public MidResult[] createCommand(Boolean isLowPower, Command command, Object... params) {
+ String RtuResultSendWebUrl = command.getRtuResultSendWebUrl() ;
+ if(RtuResultSendWebUrl == null || RtuResultSendWebUrl.trim().equals("")){
+ return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, null, "涓ラ噸閿欒锛屽懡浠や腑rtu杩斿洖鍛戒护缁撴灉鍙戝悜鐩殑鍦皐eb URL涓虹┖锛屼笉鑳芥瀯寤轰换浣曞懡浠わ紒", null))} ;
+ }
+ String rtuAddr = command.getRtuAddr() ;
+ if(rtuAddr == null || rtuAddr.trim().equals("")){
+ return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, null, "涓ラ噸閿欒锛屽懡浠や腑Rtu鍦板潃涓虹┖锛屼笉鑳芥瀯寤轰换浣曞懡浠わ紒", null))} ;
+ }
+ try {
+ String commandCode = command.getCode() ;
+
+ this.downCpParams.clear();
+ this.downCpParams.setValue(
+ RtuResultSendWebUrl,
+ ProtocolConstantV206V202404.protocolName,
+ rtuAddr,
+ command.getId(),
+ commandCode,
+ command.getParam(),
+ command.getAttachment());
+
+ if(commandCode == null){
+ return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr, "涓ラ噸閿欒锛屽懡浠や腑鍔熻兘鐮佷负绌猴紝涓嶈兘鏋勫缓浠讳綍鍛戒护锛�", null))} ;
+ }else{
+ CodeParse codeParse = this.getDownCodeParser(commandCode) ;
+ if(codeParse == null){
+ return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr, "涓ラ噸閿欒锛屾湭鑳藉緱鍒颁笅琛屾暟鎹姛鑳界爜" + commandCode + "澶勭悊绫�!", null))} ;
+ }else{
+ return codeParse.parse(isLowPower, this.downCpParams, null);
+ }
+ }
+ } catch (Exception e) {
+ return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr, "涓ラ噸閿欒锛屾瀯閫犱笅琛屾暟鎹嚭閿欙紒鍛戒护涓猴細" + command.toString(), e))} ;
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/OnLineV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/OnLineV202404.java
new file mode 100644
index 0000000..dfea28c
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/OnLineV202404.java
@@ -0,0 +1,39 @@
+package com.dy.common.mw.protocol.p206V202404;
+
+import com.dy.common.mw.protocol.AnnotationOnLine;
+import com.dy.common.mw.protocol.OnLine;
+
+@AnnotationOnLine(
+ protocolName = ProtocolConstantV206V202404.protocolName,
+ priority = ProtocolConstantV206V202404.priority)
+@SuppressWarnings("unused")
+public class OnLineV202404 implements OnLine{
+
+ /**
+ * 瀵逛笂绾挎暟鎹繘琛屽垎鏋�
+ * @param upBuf 涓婅鏁版嵁
+ * @return
+ */
+ @Override
+ public OnLineResult parse(byte[] upBuf)throws Exception {
+ OnLineResult olr = new OnLineResult() ;
+ CommonV202404 cp = new CommonV202404() ;
+ Boolean flag = cp.isThisProtocolHead(upBuf) ;
+ if(flag == null){
+ //鍑洪敊
+ olr.result = OnLine.OnLineAction_fail ;
+ olr.rtuAddr = null ;
+ }else if(!flag.booleanValue()){
+ //涓嶆槸鏈崗璁暟鎹�
+ olr.result = OnLine.OnLineAction_success_noMe ;
+ olr.rtuAddr = null ;
+ }else{
+ //鏄湰鍗忚鏁版嵁
+ olr.result = OnLine.OnLineAction_success ;
+ olr.rtuAddr = cp.parseRtuAddr(upBuf) ;
+ olr.protocolName = ProtocolConstantV206V202404.protocolName ;
+ }
+ return olr;
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ParseParamsForDownV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ParseParamsForDownV202404.java
new file mode 100644
index 0000000..ee77e4a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ParseParamsForDownV202404.java
@@ -0,0 +1,43 @@
+package com.dy.common.mw.protocol.p206V202404;
+
+import com.dy.common.mw.protocol.CodeParseParams;
+
+public class ParseParamsForDownV202404 implements CodeParseParams{
+
+ public String rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
+ public String protocolName ;
+ public String rtuAddr ;//鎺у埗鍣ㄥ湴鍧�
+ public String commandId ;
+ public String commandCode ;
+ public Object param ;
+ public Object attachment ;
+
+ public ParseParamsForDownV202404(){}
+
+ public void clear(){
+ this.protocolName = null ;
+ this.rtuAddr = null ;
+ this.commandId = null ;
+ this.commandCode = null ;
+ this.param = null ;
+ this.attachment = null ;
+ }
+
+ public void setValue(
+ String rtuResultSendWebUrl,
+ String protocolName,
+ String rtuAddr,
+ String commandId,
+ String commandCode,
+ Object param,
+ Object attachment ){
+ this.rtuResultSendWebUrl = rtuResultSendWebUrl ;
+ this.protocolName = protocolName ;
+ this.rtuAddr = rtuAddr ;
+ this.commandId = commandId ;
+ this.commandCode = commandCode ;
+ this.param = param ;
+ this.attachment = attachment ;
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ParseParamsForUpV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ParseParamsForUpV202404.java
new file mode 100644
index 0000000..52a2097
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ParseParamsForUpV202404.java
@@ -0,0 +1,39 @@
+package com.dy.common.mw.protocol.p206V202404;
+
+import com.dy.common.mw.protocol.CodeParseParams;
+import com.dy.common.mw.protocol.Data;
+
+public class ParseParamsForUpV202404 implements CodeParseParams{
+
+ public String protocolName ;//鍗忚鍚嶇О
+ public String rtuAddr ;//鎺у埗鍣ㄥ潃
+ public String upCode ;//涓婅鎶ユ枃鏁版嵁涓殑鍔熻兘鐮�
+ public String upHex ;//琛屾姤鏂囨暟鎹崄鍏繘鍒跺舰寮�
+ public byte[] upBuffer ;//琛屾姤鏂囨暟鎹瓧鑺傛暟缁�
+ public Data data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ public ParseParamsForUpV202404(){}
+
+ public void clear(){
+ this.protocolName = null ;
+ this.rtuAddr = null ;
+ this.upCode = null ;
+ this.upHex = null ;
+ this.upBuffer = null ;
+ this.data = null ;
+ }
+
+ public void setValue(String protocolName,
+ String rtuAddr,
+ String upCode,
+ String upHex,
+ byte[] upBuffer,
+ Data data){
+ this.protocolName = protocolName ;
+ this.rtuAddr = rtuAddr ;
+ this.upCode = upCode ;
+ this.upHex = upHex ;
+ this.upBuffer = upBuffer ;
+ this.data = data ;
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/PrefixedDataAvailableV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/PrefixedDataAvailableV202404.java
new file mode 100644
index 0000000..de21587
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/PrefixedDataAvailableV202404.java
@@ -0,0 +1,130 @@
+package com.dy.common.mw.protocol.p206V202404;
+
+import com.dy.common.mw.channel.tcp.PrefixedDataAvailableStatus;
+import com.dy.common.mw.protocol.AnnotationPrefixedDataAvailable;
+import com.dy.common.mw.protocol.PrefixedDataAvailable;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.mina.core.buffer.BufferDataException;
+import org.apache.mina.core.buffer.IoBuffer;
+
+
+@AnnotationPrefixedDataAvailable(
+ protocolName = ProtocolConstantV206V202404.protocolName,
+ priority = ProtocolConstantV206V202404.priority,
+ onLineDataMinLength = ProtocolConstantV206V202404.onLineDataMinLength,
+ headMinLength = ProtocolConstantV206V202404.headMinLength)
+@SuppressWarnings("unused")
+public class PrefixedDataAvailableV202404 implements PrefixedDataAvailable {
+
+ private static final Logger log = LogManager.getLogger(PrefixedDataAvailableV202404.class) ;
+
+ private static final String protocolName = ProtocolConstantV206V202404.protocolName ;
+
+
+ /**
+ * 鍒嗘瀽涓婄嚎鏁版嵁(缃戠粶杩炴帴鍚庣涓�鍖呮暟鎹�)鏄惁鍙幏寰�
+ * @param in IoBuffer
+ * @param remain 涓�瀹氭椂澶т簬0鐨勬暟鎹�
+ * @param minDataLength 鏈�灏忔暟鎹暱搴�
+ * @param maxDataLength 鏈�澶ф暟鎹暱搴︼紝杈惧埌鎴栬秴杩囨闀垮害锛岃涓烘槸鍨冨溇鏁版嵁銆備緥濡傦細鏁版嵁澶撮儴鏄纭殑锛屼絾鍚堟硶鏁版嵁缁撳熬鎬讳笉鍑虹幇锛岃涓烘鏁版嵁鍨冨溇鏁版嵁
+ * @return 涓嶆槸鏈崗璁暟鎹椂杩斿洖绌�
+ * @throws Exception 寮傚父
+ */
+ public PrefixedDataAvailableStatus forOnLine(IoBuffer in,
+ int remain,
+ int minDataLength, //瀵瑰簲ProtocolConstantV2_0.onLineDataMinLength
+ int maxDataLength //瀵瑰簲ProtocolConstant.errorMaxLength
+ ) throws Exception {
+
+ int oldPosition = in.position() ;
+ byte[] preByte = new byte[remain];
+ in.get(preByte) ;
+ //in.position(0) ;//閿欒鐢ㄦ硶锛屽鏋滃彂鐢熺矘鍖呮暟鎹紝灏嗕細姝诲惊鐜�
+ in.position(oldPosition) ;
+
+ return this.doForData(preByte, minDataLength, maxDataLength) ;
+ }
+
+ /**
+ * 鍒嗘瀽涓婄嚎鍚�(缃戠粶杩炴帴鍚庨潪绗竴鍖呮暟鎹�)鏄惁鍙幏寰�
+ * @param in IoBuffer
+ * @param remain 鍓╀綑
+ * @param minDataLength 鏈�灏忔暟鎹暱搴�
+ * @param maxDataLength 鏈�澶ф暟鎹暱搴�
+ * @return PrefixedDataAvailableStatus
+ * @throws Exception 寮傚父
+ */
+ @Override
+ public PrefixedDataAvailableStatus forUpData(IoBuffer in,
+ int remain,
+ int minDataLength,
+ int maxDataLength) throws Exception {
+ int oldPosition = in.position() ;
+ byte[] preByte = new byte[remain];
+ in.get(preByte) ;
+ //in.position(0) ;//閿欒鐢ㄦ硶锛屽鏋滃彂鐢熺矘鍖呮暟鎹紝灏嗕細姝诲惊鐜�
+ in.position(oldPosition) ;
+
+ return this.doForData(preByte, minDataLength, maxDataLength) ;
+
+ }
+ /**
+ * 杩涜鍒ゆ柇
+ * @param preByte byte[]
+ * @param minDataLength 鏈�灏忔暟鎹暱搴�
+ * @param maxDataLength 鏈�澶ф暟鎹暱搴�
+ * @return PrefixedDataAvailableStatus
+ * @throws Exception 寮傚父
+ */
+ private PrefixedDataAvailableStatus doForData(byte[] preByte, int minDataLength, int maxDataLength) throws Exception{
+ int remain = preByte.length ;
+
+ if (remain < minDataLength) {
+ log.warn("鍩轰簬鍗忚锛�" + protocolName + "锛夊垽鏂暟鎹ご閮ㄥ彂鐢熸柇鍖呯幇璞°��") ;
+ return new PrefixedDataAvailableStatus().breaked() ;
+ }
+
+ if(remain >= maxDataLength){
+ //瓒呭嚭浜嗘渶澶ч暱搴﹂檺鍒�,渚嬪锛氭暟鎹ご閮ㄦ槸姝g‘鐨勶紝浣嗗悎娉曟暟鎹粨灏炬�讳笉鍑虹幇锛岃涓烘鏁版嵁鍨冨溇鏁版嵁
+ return new PrefixedDataAvailableStatus().rubbish(remain) ;
+ }
+
+
+ CommonV202404 parseCommon = new CommonV202404();
+ boolean isThisProtocolData = parseCommon.isThisProtocolHead(preByte) ;
+
+ if(!isThisProtocolData){
+ //涓嶆槸鏈崗璁暟鎹�
+ return null ;
+ }
+
+ Integer frameLen = parseCommon.parseFrameLen(preByte) ;
+
+ if(frameLen == null){
+ String headHex = ByteUtil.bytes2Hex(preByte, true) ;
+ throw new BufferDataException("鏀跺埌鏁版嵁涔嬪抚鍓嶉儴锛�" + headHex + "锛屼絾涓ラ噸閿欒锛屽湪杩涜鏂寘涓庣矘鍖呮鏌ユ椂锛屾湭鑳藉緱鍒版暟鎹抚鐨勯暱搴︺��");
+ }
+
+ if (frameLen <= 0 || frameLen > maxDataLength) {
+ String headHex = ByteUtil.bytes2Hex(preByte, true) ;
+ throw new BufferDataException("鏀跺埌鏁版嵁涔嬪抚鍓嶉儴锛�" + headHex + "锛屼絾涓ラ噸閿欒锛屽湪杩涜鏂寘涓庣矘鍖呮鏌ユ椂锛屾暟鎹抚鐨勯暱搴�(" + frameLen + ")瓒呭嚭鍚堟硶鑼冨洿銆�");
+ }
+
+ if(remain == frameLen){
+ //涓嶆柇涓嶇矘
+ return new PrefixedDataAvailableStatus().completed(frameLen) ;
+ }else if(remain > frameLen){
+ String headHex = ByteUtil.bytes2Hex(preByte, true) ;
+ log.warn("鏀跺埌鏁版嵁涔嬪抚鍓嶉儴锛�" + headHex + "锛屼絾鍙戠敓绮樺寘鐜拌薄銆�") ;
+ return new PrefixedDataAvailableStatus().adjoined(frameLen) ;
+ }else{
+ // remain < dataLen
+ String headHex = ByteUtil.bytes2Hex(preByte, true) ;
+ log.warn("鏀跺埌鏁版嵁涔嬪抚鍓嶉儴锛�" + headHex + "锛屼絾鍙戠敓鏂寘鐜拌薄銆�") ;
+ return new PrefixedDataAvailableStatus().breaked() ;
+ }
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ProtocolConstantV206V202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ProtocolConstantV206V202404.java
new file mode 100644
index 0000000..52f95a6
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ProtocolConstantV206V202404.java
@@ -0,0 +1,50 @@
+package com.dy.common.mw.protocol.p206V202404;
+
+public class ProtocolConstantV206V202404 {
+
+ public static final String version = "202404" ;
+
+ /**
+ * 娉ㄨВ鐩稿叧
+ */
+ public static final String protocolName = "p206V202404" ;
+ public static final int priority = 1 ;//浼樺厛绾�
+ /**
+ * RTU涓婄嚎鏁版嵁锛堜笂绾垮悗绗竴鍖呮暟鎹級鏈�灏忛暱搴︼紝璁剧疆璇ュ睘鎬т互澶囪繘琛屽畬鏁存�ф鏌ワ紝
+ * 鍗虫柇鍖呮鏌ワ紝浣垮敖鍙兘鏀跺叏涓婄嚎鏁版嵁锛堝彇鍊艰寖鍥�1-100锛�
+ */
+ public static final int onLineDataMinLength = 13 ;//閲囩敤蹇冭烦涓婅鏁版嵁闀垮害
+
+ /**
+ * RTU涓婃姤鏁版嵁鐨勫ご閮ㄦ渶灏忛暱搴︼紝涓婃姤鏁版嵁涓紝鍙栬繖涓渶灏忛暱搴︾殑閮ㄥ垎鏁版嵁涓紝
+ * 瑕佷竴瀹氬寘鍚暟鎹抚闀垮害锛屼互澶囧彇鍑烘暟鎹抚闀垮害鏉ワ紝杩涜瀹屾暣鎬ф鏌ワ紝
+ * 鍗虫柇鍖呬笌绮樺寘妫�鏌�(鍙栧�艰寖鍥�0-100锛屽叾涓彇鍊间负0鏃讹紝琛ㄧずheadMinLength鏁版嵁鏃犱綔鐢紝鐢卞崗璁疄鐜版潵鎺у埗)
+ */
+ public static final int headMinLength = 3 ;
+
+ //甯ц捣濮�
+ public static final byte P_Head_Byte = (byte)0x68 ;
+ public static final byte P_Tail_Byte = (byte)0x16 ;
+
+ //00H鏃堕仴娴嬬粓绔湪鍏煎宸ヤ綔鐘舵�侊紱01H鏃堕仴娴嬬粓绔湪鑷姤宸ヤ綔鐘舵�侊紱02H鏃堕仴娴嬬粓绔湪鏌ヨ/搴旂瓟宸ヤ綔鐘舵�侊紱03H鏃堕仴娴嬬粓绔湪璋冭瘯/缁翠慨鐘舵�併��
+ public static final byte P_Default_mode = (byte)0x00 ;//榛樿宸ヤ綔妯″紡
+
+ public static final String P_Head_Hex = "68" ;
+ public static final String P_Tail_Hex = "16" ;
+
+ public static final byte lenHead2ctrl = 3 ; //浠庡ご鍒版帶鍒跺煙锛堜笉鍖呮嫭锛夊瓧鑺傛暟缁勯暱搴�
+ public static final byte lenHead2Code = 13 ; //浠庡ご鍒板姛鑳界爜锛堝寘鎷級瀛楄妭鏁扮粍闀垮害
+ public static final byte lenTail = 2 ; //甯у熬閮ㄥ瓧鑺傛暟缁勯暱搴�
+ /**
+ * 鎵�鍦ㄥ瓧鑺傛暟缁勭殑浣嶇疆锛堜笅鏍囷級
+ */
+ public static final int dataLenIndex = 1 ;//甯ч暱搴︽墍鍦� 瀛楄妭鏁扮粍涓嬫爣
+ public static final int ctrlIndex = 3 ;//鎺у埗鍩熸墍鍦ㄥ瓧鑺傛暟缁勪笅鏍�
+ public static final int rtuAddr1Index_start = 4 ;//鎺у埗鍣ㄥ湴鍧� 瀛楄妭鏁扮粍寮�濮嬩笅鏍�
+ public static final int rtuAddr1Index_end = 9 ;//鎺у埗鍣ㄥ湴鍧� 瀛楄妭鏁扮粍寮�濮嬩笅鏍�
+ public static final int rtuAddr2Index_start = 10 ;//鎺у埗鍣ㄥ湴鍧� 瀛楄妭鏁扮粍鎴涓嬫爣
+ public static final int rtuAddr2Index_end = 11 ;//鎺у埗鍣ㄥ湴鍧� 瀛楄妭鏁扮粍鎴涓嬫爣
+ public static final int codeIndex = 12 ;//鍔熻兘鐮佸瓧鑺傛暟缁勪笅鏍�
+ public static final int dataIndex = 13 ;//鍏蜂綋鏁版嵁瀛楄妭鏁扮粍涓嬫爣
+
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd10Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd10Vo.java
new file mode 100644
index 0000000..a0e876d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd10Vo.java
@@ -0,0 +1,10 @@
+package com.dy.common.mw.protocol.p206V202404.downVos;
+
+import lombok.Data;
+
+@Data
+public class ComCd10Vo {
+ public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣�
+ public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣�
+ public String rtuNewAddr ;//鎺у埗鍣ㄦ柊鍦板潃
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd15Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd15Vo.java
new file mode 100644
index 0000000..e453294
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd15Vo.java
@@ -0,0 +1,14 @@
+package com.dy.common.mw.protocol.p206V202404.downVos;
+
+import lombok.Data;
+
+@Data
+public class ComCd15Vo {
+ public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣�
+ public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣�
+ public String icCardAddr ;//IC鍗″湴鍧�(8浣嶆暟瀛楁垨瀛楁瘝)
+ public String icCardNo ;//鐢ㄦ埛鍗″簭鍒楀彿锛�16浣嶆暟瀛楋級锛�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-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd16Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd16Vo.java
new file mode 100644
index 0000000..325814f
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd16Vo.java
@@ -0,0 +1,11 @@
+package com.dy.common.mw.protocol.p206V202404.downVos;
+
+import lombok.Data;
+
+@Data
+public class ComCd16Vo {
+ public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣�
+ public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣�
+ public Integer waterAlarm ;//鍓╀綑姘撮噺鎶ヨ鍊�,鍗曚綅:m3銆傛暣鏁帮紝鍙栧�艰寖鍥�0~65535
+ public Integer moneyAlarm ;//鍓╀綑閲戦鎶ヨ鍊�,鍗曚綅:鍏冦�傛暣鏁帮紝鍙栧�艰寖鍥�0~65535
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd50Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd50Vo.java
new file mode 100644
index 0000000..451017f
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd50Vo.java
@@ -0,0 +1,9 @@
+package com.dy.common.mw.protocol.p206V202404.downVos;
+
+import lombok.Data;
+
+@Data
+public class ComCd50Vo {
+ public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣�
+ public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣�
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd55Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd55Vo.java
new file mode 100644
index 0000000..42ca8e6
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd55Vo.java
@@ -0,0 +1,10 @@
+package com.dy.common.mw.protocol.p206V202404.downVos;
+
+import lombok.Data;
+
+@Data
+public class ComCd55Vo {
+ public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣�
+ public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣�
+ public Integer page ;//鍒嗛〉锛堝彇鍊艰寖鍥�1銆�2銆�3銆�4銆�5銆�6銆�7銆�8銆�9锛�
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd56Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd56Vo.java
new file mode 100644
index 0000000..d162f87
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd56Vo.java
@@ -0,0 +1,9 @@
+package com.dy.common.mw.protocol.p206V202404.downVos;
+
+import lombok.Data;
+
+@Data
+public class ComCd56Vo {
+ public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣�
+ public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣�
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5BVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5BVo.java
new file mode 100644
index 0000000..b2d917d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5BVo.java
@@ -0,0 +1,9 @@
+package com.dy.common.mw.protocol.p206V202404.downVos;
+
+import lombok.Data;
+
+@Data
+public class ComCd5BVo {
+ public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣�
+ public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣�
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5CVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5CVo.java
new file mode 100644
index 0000000..e381246
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5CVo.java
@@ -0,0 +1,10 @@
+package com.dy.common.mw.protocol.p206V202404.downVos;
+
+import lombok.Data;
+
+@Data
+public class ComCd5CVo {
+ public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣�
+ public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣�
+ public Integer page ;//鍒嗛〉锛堝彇鍊艰寖鍥�1銆�2銆�3銆�4銆�5銆�6銆�7銆�8銆�9锛�
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd65Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd65Vo.java
new file mode 100644
index 0000000..aad1dd2
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd65Vo.java
@@ -0,0 +1,10 @@
+package com.dy.common.mw.protocol.p206V202404.downVos;
+
+import lombok.Data;
+
+@Data
+public class ComCd65Vo {
+ public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣�
+ public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣�
+ public Integer page ;//鍒嗛〉锛屽彇鍊艰寖鍥达紙1銆�2銆�3銆�4銆�5銆�6銆�7銆�8銆�9锛�
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd97Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd97Vo.java
new file mode 100644
index 0000000..2b3c096
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd97Vo.java
@@ -0,0 +1,9 @@
+package com.dy.common.mw.protocol.p206V202404.downVos;
+
+import lombok.Data;
+
+@Data
+public class ComCd97Vo {
+ public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣�
+ public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣�
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd98Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd98Vo.java
new file mode 100644
index 0000000..239f2c3
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd98Vo.java
@@ -0,0 +1,9 @@
+package com.dy.common.mw.protocol.p206V202404.downVos;
+
+import lombok.Data;
+
+@Data
+public class ComCd98Vo {
+ public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣�
+ public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣�
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Down.java
new file mode 100644
index 0000000..15eb423
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Down.java
@@ -0,0 +1,83 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd02Vo;
+import com.dy.common.util.ByteUtil;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_02
+})
+public class Cd_02_Down implements CodeParse {
+
+ //private static Logger log = LogManager.getLogger(Cd_02_Down.class);
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = false ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = 1 ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = true ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ DataCd02Vo cdData = (DataCd02Vo)para.param ;
+ byte[] bs = new byte[3] ;
+ bs[0] = (byte)(Integer.parseInt(cdData.controllerType, 16));
+ bs[1] = cdData.projectNo.byteValue() ;
+ bs[2] = (byte)(Integer.parseInt(cdData.getStatus(), 16));
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+ public static void main(String[] args) throws Exception{
+ ParseParamsForDownV202404 p = new ParseParamsForDownV202404() ;
+ p.commandCode = "02" ;
+ p.rtuAddr = "9672950001";
+
+ Cd_02_Down obj = new Cd_02_Down() ;
+ byte[] bs = obj.doParse(p) ;
+
+ String hex1 = ByteUtil.bytes2Hex(bs,true) ;
+ String hex2 = ByteUtil.bytes2Hex(bs,false) ;
+
+ System.out.println(hex1);
+ System.out.println(hex2);
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Up.java
new file mode 100644
index 0000000..b55c10e
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Up.java
@@ -0,0 +1,92 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd02Vo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+@AnnotationCodeUp(ifAny={
+ CodeV202404.cd_02
+})
+@SuppressWarnings("unused")
+public class Cd_02_Up implements CodeParse{
+
+ private static final Logger log = LogManager.getLogger(Cd_02_Up.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁
+ */
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+ ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
+ int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
+ if(bsLen > 0){
+ this.doParse(para.upBuffer,
+ bsLen,
+ para.upCode,
+ para.data) ;
+ }
+ log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV202404.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+ MidResultFromRtu midRs = new MidResultFromRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+ midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+ midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ midRs.reportOrResponse_trueOrFalse = true ;
+
+ String confirmComCode = para.upCode ;
+ ParseParamsForDownV202404 downCpParams = new ParseParamsForDownV202404() ;
+ downCpParams.setValue(
+ null,
+ ProtocolConstantV206V202404.protocolName,
+ para.rtuAddr,
+ Command.defaultId,
+ confirmComCode,
+ para.data.subData==null?null:(((DataV202404)para.data.subData).subData),
+ null);
+ //鏋勯�犲簲绛�
+ byte[] data = new Cd_02_Down().doParse(downCpParams) ;
+
+ MidResultToRtu confirmCommand = new MidResultToRtu() ;
+ confirmCommand.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ confirmCommand.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ confirmCommand.commandId = Command.defaultId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ confirmCommand.downCode = confirmComCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ confirmCommand.downBuffer = data ;//涓嬭鍛戒护鏁版嵁
+ confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ confirmCommand.hasResponse = false ;//鏄惁鏈夊簲绛�
+ confirmCommand.maxSendTimes = 1 ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�2娆�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ confirmCommand.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨
+
+ confirmCommand.isSendFirst = true ;//纭鍛戒护锛屼紭鍏堝彂閫�
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ confirmCommand.isQuickSend = true ;
+ }
+ callback.callback(midRs.reportOrResponse_trueOrFalse);
+ return new MidResult[]{midRs, confirmCommand} ;
+ }
+ /**
+ * 鎵ц鍒嗘瀽
+ * @param bs 瀛楄妭鏁扮粍
+ * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+ * @param dataCode 鍔熻兘鐮�
+ * @param data 鏁版嵁
+ * @throws Exception 寮傚父
+ */
+ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+ DataV202404 dV1 = (DataV202404)data.getSubData() ;
+ DataCd02Vo cdData = new DataCd02Vo() ;
+ dV1.subData = cdData ;
+ cdData.controllerType = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V202404.dataIndex, 1) ;
+ cdData.projectNo = 0 + bs[ProtocolConstantV206V202404.dataIndex + 1];
+ cdData.status = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V202404.dataIndex + 2, 1) ;
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_10_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_10_Down.java
new file mode 100644
index 0000000..8cd9aa2
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_10_Down.java
@@ -0,0 +1,87 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd10Vo;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_10
+})
+public class Cd_10_Down implements CodeParse {
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = false ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ String json = (String)para.param;
+ ComCd10Vo cvo = JSON.parseObject(json, ComCd10Vo.class) ;
+ if(cvo == null){
+ throw new Exception("json杞珻omCd10Vo涓簄ull") ;
+ }
+ byte[] bs = new byte[17] ;
+ int index = 0 ;
+ bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
+
+ index ++ ;
+ bs[index] = cvo.projectNo.byteValue() ;
+
+ index ++ ;
+ GlCreate.createRtuAddr(cvo.rtuNewAddr, bs, index);
+
+ index += 8 ;
+ GlCreate.createPw(bs, index);
+
+ index ++ ;
+ GlCreate.createS2D(bs, index) ;
+
+ index += 4 ;
+ bs[index] = 0 ; //鏃跺欢
+
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_10_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_10_Up.java
new file mode 100644
index 0000000..c3158a6
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_10_Up.java
@@ -0,0 +1,69 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd10Vo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+@AnnotationCodeUp(ifAny={
+ CodeV202404.cd_10
+})
+@SuppressWarnings("unused")
+public class Cd_10_Up implements CodeParse{
+
+ private static final Logger log = LogManager.getLogger(Cd_10_Up.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁
+ */
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+ ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
+ int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
+ if(bsLen > 0){
+ this.doParse(para.upBuffer,
+ bsLen,
+ para.upCode,
+ para.data) ;
+ }
+ log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV202404.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+ MidResultFromRtu midRs = new MidResultFromRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+ midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+ midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ midRs.reportOrResponse_trueOrFalse = false ;
+
+ callback.callback(midRs.reportOrResponse_trueOrFalse);
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鎵ц鍒嗘瀽
+ * @param bs 瀛楄妭鏁扮粍
+ * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+ * @param dataCode 鍔熻兘鐮�
+ * @param data 鏁版嵁
+ * @throws Exception 寮傚父
+ */
+ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+ DataV202404 dV1 = (DataV202404)data.getSubData() ;
+ DataCd10Vo cdData = new DataCd10Vo() ;
+ dV1.subData = cdData ;
+ int index = ProtocolConstantV206V202404.dataIndex ;
+ cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
+
+ index++ ;
+ cdData.projectNo = 0 + bs[index];
+
+ index++ ;
+ cdData.rtuNewAddr = new CommonV202404().parseRtuAddr(bs, index) ;
+
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Down.java
new file mode 100644
index 0000000..a853664
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Down.java
@@ -0,0 +1,145 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd10Vo;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd15Vo;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+import com.dy.common.util.NumUtil;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_15
+})
+public class Cd_15_Down implements CodeParse {
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = false ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ String json = (String)para.param;
+ ComCd15Vo cvo = JSON.parseObject(json, ComCd15Vo.class) ;
+ if(cvo == null){
+ throw new Exception("json杞珻omCd15Vo涓簄ull") ;
+ }
+ if(cvo.icCardAddr.length() != 8){
+ throw new Exception("IC鍗″湴鍧�蹇呴』鏄�8浣嶆暟瀛楁垨瀛楁瘝") ;
+ }
+ if(!NumUtil.isPlusIntNumber(cvo.flowNo)){
+ throw new Exception("娴佹按鍙峰繀椤绘槸12浣嶆暟瀛�") ;
+ }
+ if(cvo.flowNo.length() != 12){
+ throw new Exception("娴佹按鍙峰繀椤绘槸12浣嶆暟瀛�") ;
+ }
+ byte[] bs = new byte[17] ;
+ int index = 0 ;
+ bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
+
+ index ++ ;
+ bs[index] = cvo.projectNo.byteValue() ;
+
+ index ++ ;
+ GlCreate.createIcCardAddr(cvo.icCardAddr, bs, index);
+
+ index += 4 ; ;
+ GlCreate.createIcCardNo(cvo.icCardNo, bs, index);
+
+ index += 8 ;
+ if(cvo.chargeMoney != null){
+ String chargeMoney = "" + (Double.valueOf(cvo.chargeMoney * 100)).longValue() ;
+ byte[] bTemp = ByteUtil.string2BCD_LE(chargeMoney) ;
+ int bTempLen = bTemp.length ;
+ int count = 0 ;
+ for(int i = 0 ; i < bTempLen; i++){
+ bs[index++] = bTemp[i] ;
+ count ++ ;
+ if(count >= 5){
+ break ;
+ }
+ }
+ for(; count < 5; count++){
+ bs[index++] = 0 ;
+ }
+ }else{
+ for(int i = 0 ; i < 5; i++){
+ bs[index++] = 0 ;
+ }
+ }
+ if(cvo.chargeMoney != null){
+ String chargeMoney = "" + (Double.valueOf(cvo.chargeWater * 100)).longValue() ;
+ byte[] bTemp = ByteUtil.string2BCD_LE(chargeMoney) ;
+ int bTempLen = bTemp.length ;
+ int count = 0 ;
+ for(int i = 0 ; i < bTempLen; i++){
+ bs[index++] = bTemp[i] ;
+ count ++ ;
+ if(count >= 5){
+ break ;
+ }
+ }
+ for(; count < 5; count++){
+ bs[index++] = 0 ;
+ }
+ }else{
+ for(int i = 0 ; i < 5; i++){
+ bs[index++] = 0 ;
+ }
+ }
+
+ ByteUtil.string2BCD_BE(bs, cvo.flowNo, index) ;
+
+ index += 6 ;
+ GlCreate.createPw(bs, index);
+
+ index ++ ;
+ GlCreate.createS2D(bs, index) ;
+
+ index += 4 ;
+ bs[index] = 0 ; //鏃跺欢
+
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Up.java
new file mode 100644
index 0000000..0ff2a95
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Up.java
@@ -0,0 +1,75 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd15Vo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd50Vo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+@AnnotationCodeUp(ifAny={
+ CodeV202404.cd_15
+})
+@SuppressWarnings("unused")
+public class Cd_15_Up implements CodeParse{
+
+ private static final Logger log = LogManager.getLogger(Cd_15_Up.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁
+ */
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+ ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
+ int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
+ if(bsLen > 0){
+ this.doParse(para.upBuffer,
+ bsLen,
+ para.upCode,
+ para.data) ;
+ }
+ log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV202404.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+ MidResultFromRtu midRs = new MidResultFromRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+ midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+ midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ midRs.reportOrResponse_trueOrFalse = false ;//涓诲姩涓婃姤
+
+ callback.callback(midRs.reportOrResponse_trueOrFalse);
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鎵ц鍒嗘瀽
+ * @param bs 瀛楄妭鏁扮粍
+ * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+ * @param dataCode 鍔熻兘鐮�
+ * @param data 鏁版嵁
+ * @throws Exception 寮傚父
+ */
+ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+ DataV202404 dV1 = (DataV202404)data.getSubData() ;
+ DataCd15Vo cdData = new DataCd15Vo() ;
+ dV1.subData = cdData ;
+ int index = ProtocolConstantV206V202404.dataIndex ;
+ cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
+
+ index++ ;
+ cdData.projectNo = 0 + bs[index];
+
+
+ index++ ;
+ byte result = bs[index];
+ if(result == 1){
+ cdData.success = true ;
+ }else{
+ cdData.success = false ;
+ }
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Down.java
new file mode 100644
index 0000000..4dc4781
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Down.java
@@ -0,0 +1,100 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd16Vo;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+import com.dy.common.util.ByteUtilUnsigned;
+import com.dy.common.util.NumUtil;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_16
+})
+public class Cd_16_Down implements CodeParse {
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = false ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ String json = (String)para.param;
+ ComCd16Vo cvo = JSON.parseObject(json, ComCd16Vo.class) ;
+ if(cvo == null){
+ throw new Exception("json杞珻omCd16Vo涓簄ull") ;
+ }
+ if(cvo.moneyAlarm < 0 || cvo.moneyAlarm > 65535){
+ throw new Exception("鍓╀綑閲戦鎶ヨ鍊煎繀椤绘槸0~65535鑼冨洿鍐呯殑鏁存暟") ;
+ }
+ if(cvo.waterAlarm < 0 || cvo.waterAlarm > 65535){
+ throw new Exception("鍓╀綑姘撮噺鎶ヨ鍊煎繀椤绘槸0~65535鑼冨洿鍐呯殑鏁存暟") ;
+ }
+
+
+ byte[] bs = new byte[13] ;
+ int index = 0 ;
+ bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
+
+ index ++ ;
+ bs[index] = cvo.projectNo.byteValue() ;
+
+ index ++ ;
+ ByteUtilUnsigned.short2Bytes_BE(bs, cvo.waterAlarm, index);
+
+ index ++ ;
+ ByteUtilUnsigned.short2Bytes_BE(bs, cvo.moneyAlarm, index);
+
+ index ++ ;
+ GlCreate.createPw(bs, index);
+
+ index ++ ;
+ GlCreate.createS2D(bs, index) ;
+
+ index += 4 ;
+ bs[index] = 0 ; //鏃跺欢
+
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Down.java
new file mode 100644
index 0000000..36a910e
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Down.java
@@ -0,0 +1,76 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd10Vo;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd50Vo;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_50
+})
+public class Cd_50_Down implements CodeParse {
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = false ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ String json = (String)para.param;
+ ComCd50Vo cvo = JSON.parseObject(json, ComCd50Vo.class) ;
+ if(cvo == null){
+ throw new Exception("json杞珻omCd10Vo涓簄ull") ;
+ }
+ byte[] bs = new byte[2] ;
+ int index = 0 ;
+ bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
+
+ index ++ ;
+ bs[index] = cvo.projectNo.byteValue() ;
+
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Up.java
new file mode 100644
index 0000000..dc88816
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Up.java
@@ -0,0 +1,69 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd50Vo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+@AnnotationCodeUp(ifAny={
+ CodeV202404.cd_50
+})
+@SuppressWarnings("unused")
+public class Cd_50_Up implements CodeParse{
+
+ private static final Logger log = LogManager.getLogger(Cd_50_Up.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁
+ */
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+ ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
+ int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
+ if(bsLen > 0){
+ this.doParse(para.upBuffer,
+ bsLen,
+ para.upCode,
+ para.data) ;
+ }
+ log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV202404.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+ MidResultFromRtu midRs = new MidResultFromRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+ midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+ midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ midRs.reportOrResponse_trueOrFalse = false ;//涓诲姩涓婃姤
+
+ callback.callback(midRs.reportOrResponse_trueOrFalse);
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鎵ц鍒嗘瀽
+ * @param bs 瀛楄妭鏁扮粍
+ * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+ * @param dataCode 鍔熻兘鐮�
+ * @param data 鏁版嵁
+ * @throws Exception 寮傚父
+ */
+ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+ DataV202404 dV1 = (DataV202404)data.getSubData() ;
+ DataCd50Vo cdData = new DataCd50Vo() ;
+ dV1.subData = cdData ;
+ int index = ProtocolConstantV206V202404.dataIndex ;
+ cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
+
+ index++ ;
+ cdData.projectNo = 0 + bs[index];
+
+ index++ ;
+ cdData.rtuAddr = new CommonV202404().parseRtuAddr(bs, index) ;
+
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Down.java
new file mode 100644
index 0000000..5ed1b31
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Down.java
@@ -0,0 +1,82 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd55Vo;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd65Vo;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_55
+})
+public class Cd_55_Down implements CodeParse {
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = false ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ String json = (String)para.param;
+ ComCd55Vo cvo = JSON.parseObject(json, ComCd55Vo.class) ;
+ if(cvo == null){
+ throw new Exception("json杞珻omCd55Vo涓簄ull") ;
+ }
+ if(cvo.page < 1 || cvo.page > 8){
+ throw new Exception("ComCd55Vo鐨刾age鍙栧�间笉姝g‘锛屾纭彇鍊艰寖鍥存槸锛�1~9锛�") ;
+ }
+ byte[] bs = new byte[3] ;
+ int index = 0 ;
+ bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
+
+ index ++ ;
+ bs[index] = cvo.projectNo.byteValue() ;
+
+ index ++ ;
+ bs[index] = cvo.page.byteValue() ;
+
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Up.java
new file mode 100644
index 0000000..19a8adb
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Up.java
@@ -0,0 +1,136 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd55Vo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@AnnotationCodeUp(ifAny={
+ CodeV202404.cd_55
+})
+@SuppressWarnings("unused")
+public class Cd_55_Up implements CodeParse{
+
+ private static final Logger log = LogManager.getLogger(Cd_55_Up.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁
+ */
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+ ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
+ int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
+ if(bsLen > 0){
+ this.doParse(para.upBuffer,
+ bsLen,
+ para.upCode,
+ para.data) ;
+ }
+ log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV202404.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+ MidResultFromRtu midRs = new MidResultFromRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+ midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+ midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ midRs.reportOrResponse_trueOrFalse = false ;
+
+ callback.callback(midRs.reportOrResponse_trueOrFalse);
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鎵ц鍒嗘瀽
+ * @param bs 瀛楄妭鏁扮粍
+ * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+ * @param dataCode 鍔熻兘鐮�
+ * @param data 鏁版嵁
+ * @throws Exception 寮傚父
+ */
+ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+ DataV202404 dV1 = (DataV202404)data.getSubData() ;
+
+ int index = ProtocolConstantV206V202404.dataIndex ;
+ String controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
+
+ index++ ;
+ Integer projectNo = 0 + bs[index];
+
+ index++ ;
+ byte hasRecord = bs[index];
+ if(hasRecord == 1){
+ //鏈夎褰�
+ List<DataCd55Vo> list = new ArrayList<>() ;
+ DataCd55Vo vo = this.doParseData(bs, index, bsLen, controllerType, projectNo) ;
+ while(vo != null){
+ index += 39 ;
+ list.add(vo) ;
+ vo = this.doParseData(bs, index, bsLen, controllerType, projectNo) ;
+ }
+ dV1.subData = list ;
+ }else{
+ //鏃犺褰�
+ }
+ }
+
+ private DataCd55Vo doParseData(byte[] bs, int index, int bsLen, String controllerType,Integer projectNo) throws Exception{
+ //姣忔潯鏁版嵁鍗�39瀛楄妭
+ if(bsLen - index > 35){
+ DataCd55Vo cdData = new DataCd55Vo() ;
+
+ cdData.controllerType = controllerType ;
+ cdData.projectNo = projectNo ;
+
+ cdData.icCardAddr = ByteUtil.bytes2Hex(bs, false, index, 4) ;
+
+ index += 4 ;
+ cdData.icCardNo = GlParse.parseIcCardNo(bs, index, 6, 2) ;
+
+ index += 8 ;
+ int chargeMoney = ByteUtil.BCD2Int_BE(bs, index, index + 4) ;
+ cdData.chargeMoney = chargeMoney/100.0D;
+
+ index += 5 ;
+ int chargeWater = ByteUtil.BCD2Int_BE(bs, index, index + 4) ;
+ cdData.chargeWater = chargeWater/100.0D;
+
+ index += 5 ;
+ cdData.flowNo = ByteUtil.BCD2String_BE(bs, index, index + 5) ;
+
+ index += 6 ;
+ byte flag = bs[index] ;
+ if(flag == 1){
+ cdData.success = true ;
+ }else{
+ cdData.success = false ;
+ }
+
+ index += 1 ;
+ String ss = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String mm = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String HH = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String dd = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String MM = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String yy = ByteUtil.BCD2String_BE(bs, index, index) ;
+ cdData.dt = "20" + yy + "-" + MM + "-" + dd + " " + HH + ":" + mm + ":" + ss ;
+
+ return cdData ;
+ }else{
+ return null ;
+ }
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Down.java
new file mode 100644
index 0000000..62a38ec
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Down.java
@@ -0,0 +1,76 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd55Vo;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd56Vo;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_56
+})
+public class Cd_56_Down implements CodeParse {
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = false ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ String json = (String)para.param;
+ ComCd56Vo cvo = JSON.parseObject(json, ComCd56Vo.class) ;
+ if(cvo == null){
+ throw new Exception("json杞珻omCd56Vo涓簄ull") ;
+ }
+ byte[] bs = new byte[2] ;
+ int index = 0 ;
+ bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
+
+ index ++ ;
+ bs[index] = cvo.projectNo.byteValue() ;
+
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+
+}
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
new file mode 100644
index 0000000..7054446
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Up.java
@@ -0,0 +1,74 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd50Vo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd56Vo;
+import com.dy.common.util.ByteUtil;
+import com.dy.common.util.ByteUtilUnsigned;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+@AnnotationCodeUp(ifAny={
+ CodeV202404.cd_56
+})
+@SuppressWarnings("unused")
+public class Cd_56_Up implements CodeParse{
+
+ private static final Logger log = LogManager.getLogger(Cd_56_Up.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁
+ */
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+ ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
+ int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
+ if(bsLen > 0){
+ this.doParse(para.upBuffer,
+ bsLen,
+ para.upCode,
+ para.data) ;
+ }
+ log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV202404.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+ MidResultFromRtu midRs = new MidResultFromRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+ midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+ midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ midRs.reportOrResponse_trueOrFalse = false ;//涓诲姩涓婃姤
+
+ callback.callback(midRs.reportOrResponse_trueOrFalse);
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鎵ц鍒嗘瀽
+ * @param bs 瀛楄妭鏁扮粍
+ * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+ * @param dataCode 鍔熻兘鐮�
+ * @param data 鏁版嵁
+ * @throws Exception 寮傚父
+ */
+ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+ DataV202404 dV1 = (DataV202404)data.getSubData() ;
+ DataCd56Vo cdData = new DataCd56Vo() ;
+ dV1.subData = cdData ;
+ int index = ProtocolConstantV206V202404.dataIndex ;
+ cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
+
+ index++ ;
+ cdData.projectNo = 0 + bs[index];
+
+ index++ ;
+ cdData.waterAlarm = ByteUtilUnsigned.bytes2Short_BE(bs, index) ;
+
+ index += 2 ;
+ cdData.moneyAlarm = ByteUtilUnsigned.bytes2Short_BE(bs, index) ;
+
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Down.java
new file mode 100644
index 0000000..0cb1ab5
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Down.java
@@ -0,0 +1,76 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd50Vo;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd5BVo;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_5B
+})
+public class Cd_5B_Down implements CodeParse {
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = false ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ String json = (String)para.param;
+ ComCd5BVo cvo = JSON.parseObject(json, ComCd5BVo.class) ;
+ if(cvo == null){
+ throw new Exception("json杞珻omCd5BVo涓簄ull") ;
+ }
+ byte[] bs = new byte[2] ;
+ int index = 0 ;
+ bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
+
+ index ++ ;
+ bs[index] = cvo.projectNo.byteValue() ;
+
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Up.java
new file mode 100644
index 0000000..5b3dc0c
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Up.java
@@ -0,0 +1,65 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd50Vo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd5BVo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80Vo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+@AnnotationCodeUp(ifAny={
+ CodeV202404.cd_5B
+})
+@SuppressWarnings("unused")
+public class Cd_5B_Up implements CodeParse{
+
+ private static final Logger log = LogManager.getLogger(Cd_5B_Up.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁
+ */
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+ ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
+ int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
+ if(bsLen > 0){
+ this.doParse(para.upBuffer,
+ bsLen,
+ para.upCode,
+ para.data) ;
+ }
+ log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV202404.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+ MidResultFromRtu midRs = new MidResultFromRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+ midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+ midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ midRs.reportOrResponse_trueOrFalse = false ;
+
+ callback.callback(midRs.reportOrResponse_trueOrFalse);
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鎵ц鍒嗘瀽
+ * @param bs 瀛楄妭鏁扮粍
+ * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+ * @param dataCode 鍔熻兘鐮�
+ * @param data 鏁版嵁
+ * @throws Exception 寮傚父
+ */
+ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+ DataV202404 dV1 = (DataV202404)data.getSubData() ;
+ DataCd5BVo cdData = new DataCd5BVo() ;
+ dV1.subData = cdData ;
+
+ GlParse.parseCd80And5B(bs, cdData);
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Down.java
new file mode 100644
index 0000000..7ac5167
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Down.java
@@ -0,0 +1,81 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd55Vo;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_5C
+})
+public class Cd_5C_Down implements CodeParse {
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = false ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ String json = (String)para.param;
+ ComCd55Vo cvo = JSON.parseObject(json, ComCd55Vo.class) ;
+ if(cvo == null){
+ throw new Exception("json杞珻omCd55Vo涓簄ull") ;
+ }
+ if(cvo.page < 1 || cvo.page > 8){
+ throw new Exception("ComCd55Vo鐨刾age鍙栧�间笉姝g‘锛屾纭彇鍊艰寖鍥存槸锛�1~9锛�") ;
+ }
+ byte[] bs = new byte[3] ;
+ int index = 0 ;
+ bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
+
+ index ++ ;
+ bs[index] = cvo.projectNo.byteValue() ;
+
+ index ++ ;
+ bs[index] = cvo.page.byteValue() ;
+
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Up.java
new file mode 100644
index 0000000..8f0dfc1
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Up.java
@@ -0,0 +1,118 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd5CVo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@AnnotationCodeUp(ifAny={
+ CodeV202404.cd_5C
+})
+@SuppressWarnings("unused")
+public class Cd_5C_Up implements CodeParse{
+
+ private static final Logger log = LogManager.getLogger(Cd_5C_Up.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁
+ */
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+ ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
+ int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
+ if(bsLen > 0){
+ this.doParse(para.upBuffer,
+ bsLen,
+ para.upCode,
+ para.data) ;
+ }
+ log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV202404.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+ MidResultFromRtu midRs = new MidResultFromRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+ midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+ midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ midRs.reportOrResponse_trueOrFalse = false ;
+
+ callback.callback(midRs.reportOrResponse_trueOrFalse);
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鎵ц鍒嗘瀽
+ * @param bs 瀛楄妭鏁扮粍
+ * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+ * @param dataCode 鍔熻兘鐮�
+ * @param data 鏁版嵁
+ * @throws Exception 寮傚父
+ */
+ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+ DataV202404 dV1 = (DataV202404)data.getSubData() ;
+
+ int index = ProtocolConstantV206V202404.dataIndex ;
+ String controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
+
+ index++ ;
+ Integer projectNo = 0 + bs[index];
+
+ index++ ;
+ byte hasRecord = bs[index];
+ if(hasRecord == 1){
+ //鏈夎褰�
+ List<DataCd5CVo> list = new ArrayList<>() ;
+ DataCd5CVo vo = this.doParseData(bs, index, bsLen, controllerType, projectNo) ;
+ while(vo != null){
+ index += 39 ;
+ list.add(vo) ;
+ vo = this.doParseData(bs, index, bsLen, controllerType, projectNo) ;
+ }
+ dV1.subData = list ;
+ }else{
+ //鏃犺褰�
+ }
+ }
+
+ private DataCd5CVo doParseData(byte[] bs, int index, int bsLen, String controllerType,Integer projectNo) throws Exception{
+ //姣忔潯鏁版嵁鍗�39瀛楄妭
+ if(bsLen - index > 16){
+ DataCd5CVo cdData = new DataCd5CVo() ;
+
+ cdData.controllerType = controllerType ;
+ cdData.projectNo = projectNo ;
+
+ String HH = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String dd = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String MM = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String yy = ByteUtil.BCD2String_BE(bs, index, index) ;
+ cdData.dt = "20" + yy + "-" + MM + "-" + dd + " " + HH ;
+
+ int meterAmountDay = ByteUtil.BCD2Int_BE(bs, index, index + 3) ;
+ cdData.meterAmountDay = meterAmountDay/100.0D;
+
+ index += 4 ;
+ int farmerAmountDay = ByteUtil.BCD2Int_BE(bs, index, index + 3) ;
+ cdData.farmerAmountDay = farmerAmountDay/100.0D;
+
+ index += 4 ;
+ int lossAmountDay = ByteUtil.BCD2Int_BE(bs, index, index + 3) ;
+ cdData.lossAmountDay = lossAmountDay/100.0D;
+
+ return cdData ;
+ }else{
+ return null ;
+ }
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Down.java
new file mode 100644
index 0000000..fe0c3a8
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Down.java
@@ -0,0 +1,83 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd5BVo;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd65Vo;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+import com.dy.common.util.DateTime;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_65
+})
+public class Cd_65_Down implements CodeParse {
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = false ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ String json = (String)para.param;
+ ComCd65Vo cvo = JSON.parseObject(json, ComCd65Vo.class) ;
+ if(cvo == null){
+ throw new Exception("json杞珻omCd65Vo涓簄ull") ;
+ }
+ if(cvo.page < 1 || cvo.page > 9){
+ throw new Exception("ComCd65Vo鐨刾age鍙栧�间笉姝g‘锛屾纭彇鍊艰寖鍥存槸锛�1~9锛�") ;
+ }
+ byte[] bs = new byte[3] ;
+ int index = 0 ;
+ bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
+
+ index ++ ;
+ bs[index] = cvo.projectNo.byteValue() ;
+
+ index ++ ;
+ bs[index] = cvo.page.byteValue() ;
+
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java
new file mode 100644
index 0000000..b0ca292
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java
@@ -0,0 +1,143 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd5BVo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd65Vo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@AnnotationCodeUp(ifAny={
+ CodeV202404.cd_65
+})
+@SuppressWarnings("unused")
+public class Cd_65_Up implements CodeParse{
+
+ private static final Logger log = LogManager.getLogger(Cd_65_Up.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁
+ */
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+ ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
+ int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
+ if(bsLen > 0){
+ this.doParse(para.upBuffer,
+ bsLen,
+ para.upCode,
+ para.data) ;
+ }
+ log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV202404.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+ MidResultFromRtu midRs = new MidResultFromRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+ midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+ midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ midRs.reportOrResponse_trueOrFalse = false ;
+
+ callback.callback(midRs.reportOrResponse_trueOrFalse);
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鎵ц鍒嗘瀽
+ * @param bs 瀛楄妭鏁扮粍
+ * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+ * @param dataCode 鍔熻兘鐮�
+ * @param data 鏁版嵁
+ * @throws Exception 寮傚父
+ */
+ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+ DataV202404 dV1 = (DataV202404)data.getSubData() ;
+
+ int index = ProtocolConstantV206V202404.dataIndex ;
+ String controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
+
+ index++ ;
+ Integer projectNo = 0 + bs[index];
+
+ index++ ;
+ byte hasRecord = bs[index];
+ if(hasRecord == 1){
+ //鏈夎褰�
+ List<DataCd65Vo> list = new ArrayList<>() ;
+ DataCd65Vo vo = this.doParseData(bs, index, bsLen, controllerType, projectNo) ;
+ while(vo != null){
+ index += 39 ;
+ list.add(vo) ;
+ vo = this.doParseData(bs, index, bsLen, controllerType, projectNo) ;
+ }
+ dV1.subData = list ;
+ }else{
+ //鏃犺褰�
+ }
+ }
+
+ private DataCd65Vo doParseData(byte[] bs, int index, int bsLen, String controllerType,Integer projectNo) throws Exception{
+ //姣忔潯鏁版嵁鍗�39瀛楄妭
+ if(bsLen - index > 39){
+ DataCd65Vo cdData = new DataCd65Vo() ;
+
+ cdData.controllerType = controllerType ;
+ cdData.projectNo = projectNo ;
+
+ cdData.icCardAddr = ByteUtil.bytes2Hex(bs, false, index, 4) ;
+
+ index += 4 ;
+ cdData.icCardNo = GlParse.parseIcCardNo(bs, index, 6, 2) ;
+
+ index += 8 ;
+ int moneyRemain = ByteUtil.BCD2Int_BE(bs, index, index + 4) ;
+ cdData.moneyRemain = moneyRemain/100.0D;
+
+ index += 5 ;
+ int waterRemain = ByteUtil.BCD2Int_BE(bs, index, index + 4) ;
+ cdData.waterRemain = waterRemain/100.0D;
+
+ index += 5 ;
+ int thisEle = ByteUtil.BCD2Int_BE(bs, index, index + 3) ;
+ cdData.thisEle = thisEle/100.0D;
+
+ index += 4 ;
+ int thisWater = ByteUtil.BCD2Int_BE(bs, index, index + 3) ;
+ cdData.thisWater = thisWater/100.0D;
+
+ index += 4 ;
+ String mm = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String HH = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String dd = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String MM = ByteUtil.BCD2String_BE(bs, index, index) ;
+ cdData.rtuStartDt = MM + "-" + dd + " " + HH + ":" + mm ;
+
+ index++ ;
+ mm = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ HH = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ dd = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ MM = ByteUtil.BCD2String_BE(bs, index, index) ;
+ cdData.rtuEndDt = MM + "-" + dd + " " + HH + ":" + mm ;
+
+ index++ ;
+ cdData.useWaterType = bs[index];
+
+ return cdData ;
+ }else{
+ return null ;
+ }
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Down.java
new file mode 100644
index 0000000..21dd8cf
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Down.java
@@ -0,0 +1,68 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80Vo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd8AVo;
+import com.dy.common.util.ByteUtil;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_80
+})
+public class Cd_80_Down implements CodeParse {
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = false ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = 1 ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = true ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ DataCd80Vo cdData = (DataCd80Vo)para.param ;
+ byte[] bs = new byte[2] ;
+ bs[0] = (byte)(Integer.parseInt(cdData.getControllerType(), 16));
+ bs[1] = cdData.projectNo.byteValue() ;
+ GlCreate.createTp(bs, 3) ;
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java
new file mode 100644
index 0000000..05d4c82
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java
@@ -0,0 +1,93 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80Vo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd8AVo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+@AnnotationCodeUp(ifAny={
+ CodeV202404.cd_80
+})
+@SuppressWarnings("unused")
+public class Cd_80_Up implements CodeParse{
+
+ private static final Logger log = LogManager.getLogger(Cd_80_Up.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁
+ */
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+ ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
+ int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
+ if(bsLen > 0){
+ this.doParse(para.upBuffer,
+ bsLen,
+ para.upCode,
+ para.data) ;
+ }
+ log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV202404.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+ MidResultFromRtu midRs = new MidResultFromRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+ midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+ midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ midRs.reportOrResponse_trueOrFalse = true ;//涓诲姩涓婃姤
+
+ String confirmComCode = para.upCode ;
+ ParseParamsForDownV202404 downCpParams = new ParseParamsForDownV202404() ;
+ downCpParams.setValue(
+ null,
+ ProtocolConstantV206V202404.protocolName,
+ para.rtuAddr,
+ Command.defaultId,
+ confirmComCode,
+ para.data.subData==null?null:(((DataV202404)para.data.subData).subData),
+ null);
+ //鏋勯�犲簲绛�
+ byte[] data = new Cd_80_Down().doParse(downCpParams) ;
+
+ MidResultToRtu confirmCommand = new MidResultToRtu() ;
+ confirmCommand.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ confirmCommand.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ confirmCommand.commandId = Command.defaultId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ confirmCommand.downCode = confirmComCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ confirmCommand.downBuffer = data ;//涓嬭鍛戒护鏁版嵁
+ confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ confirmCommand.hasResponse = false ;//鏄惁鏈夊簲绛�
+ confirmCommand.maxSendTimes = 1 ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�2娆�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ confirmCommand.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨
+
+ confirmCommand.isSendFirst = true ;//纭鍛戒护锛屼紭鍏堝彂閫�
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ confirmCommand.isQuickSend = true ;
+ }
+ callback.callback(midRs.reportOrResponse_trueOrFalse);
+ return new MidResult[]{midRs, confirmCommand} ;
+ }
+ /**
+ * 鎵ц鍒嗘瀽
+ * @param bs 瀛楄妭鏁扮粍
+ * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+ * @param dataCode 鍔熻兘鐮�
+ * @param data 鏁版嵁
+ * @throws Exception 寮傚父
+ */
+ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+ DataV202404 dV1 = (DataV202404)data.getSubData() ;
+ DataCd80Vo cdData = new DataCd80Vo() ;
+ dV1.subData = cdData ;
+
+ GlParse.parseCd80And5B(bs, cdData);
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Down.java
new file mode 100644
index 0000000..e7ac594
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Down.java
@@ -0,0 +1,68 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80Vo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd81Vo;
+import com.dy.common.util.ByteUtil;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_81
+})
+public class Cd_81_Down implements CodeParse {
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = false ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = 1 ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = true ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ DataCd81Vo cdData = (DataCd81Vo)para.param ;
+ byte[] bs = new byte[2] ;
+ bs[0] = (byte)(Integer.parseInt(cdData.getControllerType(), 16));
+ bs[1] = cdData.projectNo.byteValue() ;
+ GlCreate.createTp(bs, 3) ;
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java
new file mode 100644
index 0000000..7fe4dd2
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java
@@ -0,0 +1,100 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80Vo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd81Vo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+@AnnotationCodeUp(ifAny={
+ CodeV202404.cd_81
+})
+@SuppressWarnings("unused")
+public class Cd_81_Up implements CodeParse{
+
+ private static final Logger log = LogManager.getLogger(Cd_81_Up.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁
+ */
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+ ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
+ int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
+ if(bsLen > 0){
+ this.doParse(para.upBuffer,
+ bsLen,
+ para.upCode,
+ para.data) ;
+ }
+ log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV202404.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+ MidResultFromRtu midRs = new MidResultFromRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+ midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+ midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ midRs.reportOrResponse_trueOrFalse = true ;//涓诲姩涓婃姤
+
+ String confirmComCode = para.upCode ;
+ ParseParamsForDownV202404 downCpParams = new ParseParamsForDownV202404() ;
+ downCpParams.setValue(
+ null,
+ ProtocolConstantV206V202404.protocolName,
+ para.rtuAddr,
+ Command.defaultId,
+ confirmComCode,
+ para.data.subData==null?null:(((DataV202404)para.data.subData).subData),
+ null);
+ //鏋勯�犲簲绛�
+ byte[] data = new Cd_81_Down().doParse(downCpParams) ;
+
+ MidResultToRtu confirmCommand = new MidResultToRtu() ;
+ confirmCommand.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ confirmCommand.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ confirmCommand.commandId = Command.defaultId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ confirmCommand.downCode = confirmComCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ confirmCommand.downBuffer = data ;//涓嬭鍛戒护鏁版嵁
+ confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ confirmCommand.hasResponse = false ;//鏄惁鏈夊簲绛�
+ confirmCommand.maxSendTimes = 1 ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�2娆�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ confirmCommand.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨
+
+ confirmCommand.isSendFirst = true ;//纭鍛戒护锛屼紭鍏堝彂閫�
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ confirmCommand.isQuickSend = true ;
+ }
+ callback.callback(midRs.reportOrResponse_trueOrFalse);
+ return new MidResult[]{midRs, confirmCommand} ;
+ }
+ /**
+ * 鎵ц鍒嗘瀽
+ * @param bs 瀛楄妭鏁扮粍
+ * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+ * @param dataCode 鍔熻兘鐮�
+ * @param data 鏁版嵁
+ * @throws Exception 寮傚父
+ */
+ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+ DataV202404 dV1 = (DataV202404)data.getSubData() ;
+ DataCd81Vo cdData = new DataCd81Vo() ;
+ dV1.subData = cdData ;
+
+ int index = ProtocolConstantV206V202404.dataIndex ;
+ cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
+
+ index++ ;
+ cdData.projectNo = 0 + bs[index];
+
+ index++ ;
+ GlParse.parseAlarmAndState(bs, index, cdData) ;
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Down.java
new file mode 100644
index 0000000..ebc085d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Down.java
@@ -0,0 +1,67 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd8AVo;
+import com.dy.common.util.ByteUtil;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_8A
+})
+public class Cd_8A_Down implements CodeParse {
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = false ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = 1 ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = true ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ DataCd8AVo cdData = (DataCd8AVo)para.param ;
+ byte[] bs = new byte[8] ;
+ bs[0] = (byte)(Integer.parseInt(cdData.getControllerType(), 16));
+ bs[1] = cdData.projectNo.byteValue() ;
+ GlCreate.createTp(bs, 3) ;
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Up.java
new file mode 100644
index 0000000..e3196a5
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Up.java
@@ -0,0 +1,115 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd8AVo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+@AnnotationCodeUp(ifAny={
+ CodeV202404.cd_8A
+})
+@SuppressWarnings("unused")
+public class Cd_8A_Up implements CodeParse{
+
+ private static final Logger log = LogManager.getLogger(Cd_8A_Up.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁
+ */
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+ ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
+ int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
+ if(bsLen > 0){
+ this.doParse(para.upBuffer,
+ bsLen,
+ para.upCode,
+ para.data) ;
+ }
+ log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV202404.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+ MidResultFromRtu midRs = new MidResultFromRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+ midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+ midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ midRs.reportOrResponse_trueOrFalse = true ;
+
+ String confirmComCode = para.upCode ;
+ ParseParamsForDownV202404 downCpParams = new ParseParamsForDownV202404() ;
+ downCpParams.setValue(
+ null,
+ ProtocolConstantV206V202404.protocolName,
+ para.rtuAddr,
+ Command.defaultId,
+ confirmComCode,
+ para.data.subData==null?null:(((DataV202404)para.data.subData).subData),
+ null);
+ //鏋勯�犲簲绛�
+ byte[] data = new Cd_8A_Down().doParse(downCpParams) ;
+
+ MidResultToRtu confirmCommand = new MidResultToRtu() ;
+ confirmCommand.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ confirmCommand.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ confirmCommand.commandId = Command.defaultId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ confirmCommand.downCode = confirmComCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ confirmCommand.downBuffer = data ;//涓嬭鍛戒护鏁版嵁
+ confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ confirmCommand.hasResponse = false ;//鏄惁鏈夊簲绛�
+ confirmCommand.maxSendTimes = 1 ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�2娆�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ confirmCommand.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨
+
+ confirmCommand.isSendFirst = true ;//纭鍛戒护锛屼紭鍏堝彂閫�
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ confirmCommand.isQuickSend = true ;
+ }
+ callback.callback(midRs.reportOrResponse_trueOrFalse);
+ return new MidResult[]{midRs, confirmCommand} ;
+ }
+ /**
+ * 鎵ц鍒嗘瀽
+ * @param bs 瀛楄妭鏁扮粍
+ * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+ * @param dataCode 鍔熻兘鐮�
+ * @param data 鏁版嵁
+ * @throws Exception 寮傚父
+ */
+ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+ DataV202404 dV1 = (DataV202404)data.getSubData() ;
+ DataCd8AVo cdData = new DataCd8AVo() ;
+ dV1.subData = cdData ;
+ int index = ProtocolConstantV206V202404.dataIndex ;
+ cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
+
+ index++ ;
+ cdData.projectNo = 0 + bs[index];
+
+ index++ ;
+ int lng = ByteUtil.BCD2Int_BE(bs, index, index + 4) ;
+ cdData.lng = lng/1000000.0D;
+
+ index += 5 ;
+ int lat = ByteUtil.BCD2Int_BE(bs, index, index + 4) ;
+ cdData.lat = lat/1000000.0D;
+
+ index += 5 ;
+ int softVersion = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+ cdData.softVersion = softVersion/10.0F;
+
+ index += 2 ;
+ int hardVersion = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+ cdData.hardVersion = hardVersion/10.0F;
+
+ index += 2 ;
+ int protocolVersion = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+ cdData.protocolVersion = protocolVersion/10.0F;
+
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Down.java
new file mode 100644
index 0000000..2c414b4
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Down.java
@@ -0,0 +1,76 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd65Vo;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd97Vo;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_97
+})
+public class Cd_97_Down implements CodeParse {
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = false ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ String json = (String)para.param;
+ ComCd97Vo cvo = JSON.parseObject(json, ComCd97Vo.class) ;
+ if(cvo == null){
+ throw new Exception("json杞珻omCd97Vo涓簄ull") ;
+ }
+ byte[] bs = new byte[2] ;
+ int index = 0 ;
+ bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
+
+ index ++ ;
+ bs[index] = cvo.projectNo.byteValue() ;
+
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Up.java
new file mode 100644
index 0000000..9f276fb
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Up.java
@@ -0,0 +1,80 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd50Vo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd65Vo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd97Vo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@AnnotationCodeUp(ifAny={
+ CodeV202404.cd_97
+})
+@SuppressWarnings("unused")
+public class Cd_97_Up implements CodeParse{
+
+ private static final Logger log = LogManager.getLogger(Cd_97_Up.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁
+ */
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+ ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
+ int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
+ if(bsLen > 0){
+ this.doParse(para.upBuffer,
+ bsLen,
+ para.upCode,
+ para.data) ;
+ }
+ log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV202404.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+ MidResultFromRtu midRs = new MidResultFromRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+ midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+ midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ midRs.reportOrResponse_trueOrFalse = false ;
+
+ callback.callback(midRs.reportOrResponse_trueOrFalse);
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鎵ц鍒嗘瀽
+ * @param bs 瀛楄妭鏁扮粍
+ * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+ * @param dataCode 鍔熻兘鐮�
+ * @param data 鏁版嵁
+ * @throws Exception 寮傚父
+ */
+ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+ DataV202404 dV1 = (DataV202404)data.getSubData() ;
+ DataCd97Vo cdData = new DataCd97Vo() ;
+ dV1.subData = cdData ;
+ int index = ProtocolConstantV206V202404.dataIndex ;
+ cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
+
+ index++ ;
+ cdData.projectNo = 0 + bs[index];
+
+ index++ ;
+ byte result = bs[index];
+ if(result == 1){
+ cdData.success = true ;
+ }else{
+ cdData.success = false ;
+ }
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Down.java
new file mode 100644
index 0000000..047e57e
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Down.java
@@ -0,0 +1,76 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd97Vo;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd98Vo;
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+
+@AnnotationCodeDown(ifAny={
+ CodeV202404.cd_98
+})
+public class Cd_98_Down implements CodeParse {
+
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
+ ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
+ byte[] bs = this.doParse(para) ;
+
+ MidResultToRtu midRs = new MidResultToRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉
+ midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�;
+ midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁
+ midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.hasResponse = true ;//鏄惁鏈夊簲绛�
+ midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆
+ midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue
+
+ midRs.isSendFirst = false ;//鍛戒护搴旂瓟锛岄鍏堝彂閫侊紝闃叉RTU閲嶆柊涓婃姤
+ if(isLowPower != null && isLowPower.booleanValue()){
+ //浣庡姛鑰楁椂锛屽敖蹇彂閫�
+ midRs.isQuickSend = true ;
+ }
+
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鏋勯�犱笅琛屾暟鎹�
+ * @param para 鍙傛暟
+ * @return 瀛楄妭鏁扮粍
+ * @throws Exception 寮傚父
+ */
+ public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
+ byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
+ if(para.param != null){
+ String json = (String)para.param;
+ ComCd98Vo cvo = JSON.parseObject(json, ComCd98Vo.class) ;
+ if(cvo == null){
+ throw new Exception("json杞珻omCd98Vo涓簄ull") ;
+ }
+ byte[] bs = new byte[2] ;
+ int index = 0 ;
+ bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
+
+ index ++ ;
+ bs[index] = cvo.projectNo.byteValue() ;
+
+ bytes = ByteUtil.bytesMerge(bytes, bs) ;
+ }else{
+ throw new Exception("涓嬭鍛戒护鍙傛暟鎹负null") ;
+ }
+ GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+ byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬
+
+ bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+ return bytes ;
+ }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Up.java
new file mode 100644
index 0000000..eae5f1a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Up.java
@@ -0,0 +1,74 @@
+package com.dy.common.mw.protocol.p206V202404.parse;
+
+
+import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd98Vo;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+@AnnotationCodeUp(ifAny={
+ CodeV202404.cd_98
+})
+@SuppressWarnings("unused")
+public class Cd_98_Up implements CodeParse{
+
+ private static final Logger log = LogManager.getLogger(Cd_98_Up.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁
+ */
+ @Override
+ public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
+ ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
+ int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
+ if(bsLen > 0){
+ this.doParse(para.upBuffer,
+ bsLen,
+ para.upCode,
+ para.data) ;
+ }
+ log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV202404.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString());
+
+ MidResultFromRtu midRs = new MidResultFromRtu() ;
+ midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О
+ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃
+ midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮�
+ midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡
+ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍
+ midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁
+
+ midRs.reportOrResponse_trueOrFalse = false ;
+
+ callback.callback(midRs.reportOrResponse_trueOrFalse);
+ return new MidResult[]{midRs} ;
+ }
+ /**
+ * 鎵ц鍒嗘瀽
+ * @param bs 瀛楄妭鏁扮粍
+ * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級
+ * @param dataCode 鍔熻兘鐮�
+ * @param data 鏁版嵁
+ * @throws Exception 寮傚父
+ */
+ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
+ DataV202404 dV1 = (DataV202404)data.getSubData() ;
+ DataCd98Vo cdData = new DataCd98Vo() ;
+ dV1.subData = cdData ;
+ int index = ProtocolConstantV206V202404.dataIndex ;
+ cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
+
+ index++ ;
+ cdData.projectNo = 0 + bs[index];
+
+ index++ ;
+ byte result = bs[index];
+ if(result == 1){
+ cdData.success = true ;
+ }else{
+ cdData.success = false ;
+ }
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java
new file mode 100644
index 0000000..16f5543
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java
@@ -0,0 +1,129 @@
+package com.dy.common.mw.protocol.p206V202404.parse.global;
+
+import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0;
+import com.dy.common.mw.protocol.p206V202404.CommonV202404;
+import com.dy.common.mw.protocol.p206V202404.ProtocolConstantV206V202404;
+import com.dy.common.util.ByteUtil;
+import com.dy.common.util.ByteUtilUnsigned;
+import com.dy.common.util.CRC8_for_2_0;
+import com.dy.common.util.DateTime;
+
+public class GlCreate {
+ /**
+ * 6瀛楄妭BCD鐮侊紙12浣嶈鏀垮尯鍒掞級 + 2瀛楄妭HEX
+ * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+ * @param commandCode 鍔熻兘鐮�
+ * @throws Exception
+ */
+ public static byte[] createStart2Cd(String rtuAddr, String commandCode) throws Exception {
+ CommonV202404 commonV202404 = new CommonV202404() ;
+ byte[] bsHead = new byte[ProtocolConstantV206V202404.lenHead2Code] ;
+ byte index = 0 ;
+ bsHead[index] = ProtocolConstantV206V202404.P_Head_Byte ;
+
+ index++ ;
+ bsHead[index] = 0 ;//甯ч暱搴�
+
+ index++ ;
+ bsHead[index] = ProtocolConstantV206V202404.P_Head_Byte ;
+
+ index++ ;
+ bsHead[index] = commonV202404.createCtrl((byte)0, (byte)0) ;
+
+ index++ ;
+ GlCreate.createRtuAddr(rtuAddr, bsHead, index);
+ index += 7 ;
+
+ ByteUtil.hex2Bytes(commandCode, bsHead, index) ;
+ return bsHead ;
+ }
+
+ /**
+ * 鐢熸垚鎺у埗鍣ㄥ湴鍧�
+ * 6瀛楄妭BCD鐮侊紙12浣嶈鏀垮尯鍒掞級 + 2瀛楄妭HEX
+ * @param rtuAddr
+ * @param bs
+ * @param index
+ * @throws Exception
+ */
+ public static void createRtuAddr(String rtuAddr, byte[] bs, int index) throws Exception {
+ String rtuAddr1 = rtuAddr.substring(0, 12) ;
+ String rtuAddr2 = rtuAddr.substring(12) ;
+
+ ByteUtil.string2BCD_BE(bs, rtuAddr1, index) ;
+ index += 6 ;
+
+ Integer rtuAddr2Int = Integer.parseInt(rtuAddr2) ;
+ ByteUtilUnsigned.short2Bytes_LE(bs, rtuAddr2Int.shortValue(), index);
+ }
+
+ /**
+ * 鐢熸垚IC鍗″湴鍧�
+ * @param icCardAddr
+ * @param bs
+ * @param index
+ * @throws Exception
+ */
+ public static void createIcCardAddr(String icCardAddr, byte[] bs, int index) throws Exception {
+ String s1 = icCardAddr.substring(0, 2) ;
+ String s2 = icCardAddr.substring(2, 4) ;
+ String s3 = icCardAddr.substring(4, 6) ;
+ String s4 = icCardAddr.substring(6, 8) ;
+ bs[index++] = (byte) (Integer.parseInt(s1, 16)) ;
+ bs[index++] = (byte) (Integer.parseInt(s2, 16)) ;
+ bs[index++] = (byte) (Integer.parseInt(s3, 16)) ;
+ bs[index++] = (byte) (Integer.parseInt(s4, 16)) ;
+ }
+
+ /**
+ * 鐢熸垚IC鍗$紪鐮�
+ * 6瀛楄妭BCD鐮侊紙12浣嶈鏀垮尯鍒掞級 + 2瀛楄妭HEX
+ * @param icCardNo
+ * @param bs
+ * @param index
+ * @throws Exception
+ */
+ public static void createIcCardNo(String icCardNo, byte[] bs, int index) throws Exception {
+ String icCardNo1 = icCardNo.substring(0, 12) ;
+ String icCardNo2 = icCardNo.substring(12) ;
+
+ ByteUtil.string2BCD_BE(bs, icCardNo1, index) ;
+ index += 6 ;
+
+ Integer icCardNo2Int = Integer.parseInt(icCardNo2) ;
+ ByteUtilUnsigned.short2Bytes_LE(bs, icCardNo2Int.shortValue(), index);
+ }
+ public static void createPw(byte[] bs, int index) throws Exception {
+ bs[index] = 0;
+ bs[index + 1] = 0;
+ }
+
+ public static void createTp(byte[] bs, int index) throws Exception {
+ bs[index] = Byte.parseByte(DateTime.ss()) ;
+ bs[index + 1] = Byte.parseByte(DateTime.mm()) ;
+ bs[index + 2] = Byte.parseByte(DateTime.HH()) ;
+ bs[index + 3] = Byte.parseByte(DateTime.dd()) ;
+ bs[index + 4] = (byte)(DateTime.week_Int().byteValue() << 5 | Byte.parseByte(DateTime.MM())) ;
+ bs[index + 5] = Byte.parseByte(DateTime.yy()) ;
+ }
+
+ public static void createS2D(byte[] bs, int index) throws Exception {
+ bs[index] = Byte.parseByte(DateTime.ss()) ;
+ bs[index + 1] = Byte.parseByte(DateTime.mm()) ;
+ bs[index + 2] = Byte.parseByte(DateTime.HH()) ;
+ bs[index + 3] = Byte.parseByte(DateTime.dd()) ;
+ }
+
+ public static void createLen(byte[] bsNoTail) throws Exception {
+ int len = bsNoTail.length - ProtocolConstantV206V1_0_0.lenHead2ctrl;
+ bsNoTail[ProtocolConstantV206V1_0_0.dataLenIndex] = (byte)len ;
+ }
+
+ public static byte[] createCrcTail(byte[] bsNoTail) throws Exception {
+ int crc = new CRC8_for_2_0().CRC8(bsNoTail, ProtocolConstantV206V1_0_0.ctrlIndex, bsNoTail.length -1) ;
+ byte[] bytes = new byte[ProtocolConstantV206V1_0_0.lenTail] ;
+ bytes[0] = (byte)crc ;
+ bytes[1] = ProtocolConstantV206V1_0_0.P_Tail_Byte ;
+ return bytes ;
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java
new file mode 100644
index 0000000..982ed69
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java
@@ -0,0 +1,253 @@
+package com.dy.common.mw.protocol.p206V202404.parse.global;
+
+import com.dy.common.mw.protocol.p206V202404.ProtocolConstantV206V202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80Vo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd81Vo;
+import com.dy.common.util.ByteUtil;
+import com.dy.common.util.ByteUtilUnsigned;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+public class GlParse {
+
+ private static final Logger log = LogManager.getLogger(GlParse.class);
+
+ /**
+ * 鍒嗘瀽涓婅鏁版嵁涓殑鏃堕挓
+ * @param bs 涓婅瀛楄妭鏁扮粍
+ * @param index 鍚浣�
+ * @return 鎺у埗鍣ㄥ湴鍧�
+ * @throws Exception 寮傚父
+ */
+ public static String parseRtuDt(byte[] bs, int index)throws Exception{
+ String ss = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String MM = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String HH = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String dd = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String mm = ByteUtil.BCD2String_BE(bs, index, index) ;
+ index++ ;
+ String yy = ByteUtil.BCD2String_BE(bs, index, index) ;
+ return yy + "-" + mm + "-" + dd + " " + HH + ":" + MM + ":" + ss ;
+ }
+ /**
+ * 鍒嗘瀽IC鍗$紪鍙�
+ * @param bs 涓婅瀛楄妭鏁扮粍
+ * @param index 鍚浣�
+ * @param len1 绗竴閮ㄥ垎瀛楄妭鏁�
+ * @param len2 绗簩閮ㄥ垎瀛楄妭鏁�
+ * @return 鎺у埗鍣ㄥ湴鍧�
+ * @throws Exception 寮傚父
+ */
+ public static String parseIcCardNo(byte[] bs, int index, int len1, int len2)throws Exception{
+ String rtuAddrBCD = "" + ByteUtil.BCD2Long_BE(bs, index, index + len1 - 1) ;
+ String rtuAddrStr = "" + ByteUtilUnsigned.bytes2Short_LE(bs, index + len1 + len2 -1 ) ;
+ while(rtuAddrStr.length() < 5){
+ rtuAddrStr = "0" + rtuAddrStr ;
+ }
+ return rtuAddrBCD + rtuAddrStr ;
+ }
+
+ /**
+ * 鍒嗘瀽鐘舵�佷笌鎶ヨ
+ * @param bs
+ * @param index
+ * @return
+ */
+ public static void parseAlarmAndState(byte[] bs, int index, DataCd80Vo vo){
+ byte b = bs[index] ;
+ vo.statePump = (byte)(b & 0x1) ;
+ vo.alarmWaterRemain = (byte)(b & 0x2) ;
+ vo.alarm0WaterRemain = (byte)(b & 0x4) ;
+ vo.alarmExceedYear = (byte)(b & 0x8) ;
+ vo.alarmWaterMeterFault = (byte)(b & 0x10) ;
+ vo.alarmSteal = (byte)(b & 0x20) ;
+ vo.alarmWaterMeterBreak = (byte)(b & 0x40) ;
+ vo.alarmEleMeterFault = (byte)(b & 0x80) ;
+
+ index++ ;
+ b = bs[index] ;
+ vo.alarm0MoneyRemain = (byte)(b & 0x1) ;
+ vo.alarmInnerDoor = (byte)(b & 0x2) ;
+ vo.alarmOuterDoor = (byte)(b & 0x4) ;
+ vo.alarmEleMiss = (byte)(b & 0x8) ;
+ vo.alarmEleExceed = (byte)(b & 0x10) ;
+ vo.alarmEleLowVolt = (byte)(b & 0x20) ;
+ vo.stateIcEnable = (byte)(b & 0x40) ;
+ }
+ /**
+ * 鍒嗘瀽鐘舵�佷笌鎶ヨ
+ * @param bs
+ * @param index
+ * @return
+ */
+ public static void parseAlarmAndState(byte[] bs, int index, DataCd81Vo vo){
+ byte b = bs[index] ;
+ vo.statePump = (byte)(b & 0x1) ;
+ vo.alarmWaterRemain = (byte)(b & 0x2) ;
+ vo.alarm0WaterRemain = (byte)(b & 0x4) ;
+ vo.alarmExceedYear = (byte)(b & 0x8) ;
+ vo.alarmWaterMeterFault = (byte)(b & 0x10) ;
+ vo.alarmSteal = (byte)(b & 0x20) ;
+ vo.alarmWaterMeterBreak = (byte)(b & 0x40) ;
+ vo.alarmEleMeterFault = (byte)(b & 0x80) ;
+
+ index++ ;
+ b = bs[index] ;
+ vo.alarm0MoneyRemain = (byte)(b & 0x1) ;
+ vo.alarmInnerDoor = (byte)(b & 0x2) ;
+ vo.alarmOuterDoor = (byte)(b & 0x4) ;
+ vo.alarmEleMiss = (byte)(b & 0x8) ;
+ vo.alarmEleExceed = (byte)(b & 0x10) ;
+ vo.alarmEleLowVolt = (byte)(b & 0x20) ;
+ vo.stateIcEnable = (byte)(b & 0x40) ;
+ }
+
+ public static String parseTp(byte[] bs, short index){
+ String dt = "" ;
+ try{
+ dt = dt + ByteUtil.BCD2String_BE(bs, index, index) ;//绉�
+ index++ ;
+ dt = ByteUtil.BCD2String_BE(bs, index, index) + ":" + dt ;//鍒�
+ index++ ;
+ dt = ByteUtil.BCD2String_BE(bs, index, index) + ":" + dt ;//鏃�
+ index++ ;
+ dt = ByteUtil.BCD2String_BE(bs, index, index) + " " + dt ;//鏃�
+ index++ ;
+ //bs[index] = (byte)(bs[index] & 0x10);
+ dt = ByteUtil.BCD2String_BE(bs, index, index) + "-" + dt ;//鏈�
+ index++ ;
+ dt = "20" + ByteUtil.BCD2String_BE(bs, index, index) + "-" + dt ;//骞�
+ }catch (Exception e){
+ log.error("瑙f瀽鎺у埗鍣ㄦ椂閽熸椂寮傚父锛�" + e.getMessage(), e);
+ }
+ return dt ;
+ }
+
+ /**
+ * 鍒嗘瀽鍔熻兘80鍜�5B鏁版嵁
+ * @param bs
+ * @param cdData
+ * @throws Exception
+ */
+ public static void parseCd80And5B(byte[] bs, DataCd80Vo cdData) throws Exception{
+
+ int index = ProtocolConstantV206V202404.dataIndex ;
+ cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
+
+ index++ ;
+ cdData.projectNo = 0 + bs[index];
+
+ index++ ;
+ cdData.useWaterType = bs[index];
+
+ index++ ;
+ cdData.orderNo = ByteUtil.BCD2String_BE(bs, index, index + 4) ;
+
+ index += 8 ;
+ cdData.icCardAddr = ByteUtil.bytes2Hex(bs, false, index, 4) ;
+
+ index += 4 ;
+ cdData.icCardNo = GlParse.parseIcCardNo(bs, index, 6, 2) ;
+
+ index += 8 ;
+ cdData.rtuDt = GlParse.parseRtuDt(bs, index) ;
+
+ index += 6 ;
+ int waterLevel = ByteUtil.BCD2Int_BE(bs, index, index + 3) ;
+ cdData.waterLevel = waterLevel/1000.0D;
+
+ index += 4 ;
+ int waterPress = ByteUtil.BCD2Int_BE(bs, index, index + 2) ;
+ cdData.waterPress = waterPress/100.0D;
+
+ index += 3 ;
+ int waterInstant = ByteUtil.BCD2Int_BE(bs, index, index + 3) ;
+ cdData.waterInstant = waterInstant/100.0D;
+
+ index += 4 ;
+ int waterTotal = ByteUtil.BCD2Int_BE(bs, index, index + 4) ;
+ cdData.waterTotal = waterTotal/100.0D;
+
+ index += 5 ;
+ int eleTotal = ByteUtil.BCD2Int_BE(bs, index, index + 4) ;
+ cdData.eleTotal = eleTotal/100.0D;
+
+ index += 5 ;
+ int moneyRemain = ByteUtil.BCD2Int_BE(bs, index, index + 4) ;
+ cdData.moneyRemain = moneyRemain/100.0D;
+
+ index += 5 ;
+ int waterRemain = ByteUtil.BCD2Int_BE(bs, index, index + 4) ;
+ cdData.waterRemain = waterRemain/100.0D;
+
+ index += 5 ;
+ int thisEle = ByteUtil.BCD2Int_BE(bs, index, index + 3) ;
+ cdData.thisEle = thisEle/100.0D;
+
+ index += 4 ;
+ int thisWater = ByteUtil.BCD2Int_BE(bs, index, index + 3) ;
+ cdData.thisWater = thisWater/100.0D;
+
+ index += 4 ;
+ int thisMoney = ByteUtil.BCD2Int_BE(bs, index, index + 3) ;
+ cdData.thisMoney = thisMoney/100.0D;
+
+ index += 4 ;
+ cdData.thisDuration = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+
+ index += 2 ;
+ int waterPrice = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+ cdData.waterPrice = waterPrice/100.0D;
+
+ index += 2 ;
+ int elePrice = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+ cdData.elePrice = elePrice/100.0D;
+
+ index += 2 ;
+ GlParse.parseAlarmAndState(bs, index, cdData) ;
+
+ index += 2 ;
+ int aVolt = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+ cdData.aVolt = aVolt/10.0D;
+
+ index += 2 ;
+ int bVolt = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+ cdData.bVolt = bVolt/10.0D;
+
+ index += 2 ;
+ int cVolt = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+ cdData.cVolt = cVolt/10.0D;
+
+ index += 2 ;
+ int aCurrent = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+ cdData.aCurrent = aCurrent/10.0D;
+
+ index += 2 ;
+ int bCurrent = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+ cdData.bCurrent = bCurrent/10.0D;
+
+ index += 2 ;
+ int cCurrent = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+ cdData.cCurrent = cCurrent/10.0D;
+
+ index += 2 ;
+ int batteryVolt = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+ cdData.batteryVolt = batteryVolt/100.0D;
+
+ index += 2 ;
+ int waterMeterTransVolt = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+ cdData.waterMeterTransVolt = waterMeterTransVolt/100.0D;
+
+ index += 2 ;
+ int waterMeterWorkVolt = ByteUtil.BCD2Int_BE(bs, index, index + 1) ;
+ cdData.waterMeterWorkVolt = waterMeterWorkVolt/100.0D;
+
+ index += 2 ;
+ cdData.csq = ByteUtil.BCD2Int_BE(bs, index, index) ;
+
+ }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd02Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd02Vo.java
new file mode 100644
index 0000000..5888f6d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd02Vo.java
@@ -0,0 +1,28 @@
+package com.dy.common.mw.protocol.p206V202404.upVos;
+
+import lombok.Data;
+
+//閾捐矾妫�娴�
+@Data
+public class DataCd02Vo {
+
+ public String controllerType ;//鎺у埗鍣ㄧ被鍨�: 01:娴嬫帶涓�浣撻榾锛�57:浜曠數鎺у埗鍣�
+ public Integer projectNo ;//椤圭洰缂栧彿:
+ public String status ;//淇濇寔鍦ㄧ嚎鐘舵��: F0 鐧诲綍锛孎1 閫�鍑虹櫥褰曪紝F2 鍦ㄧ嚎淇濇寔
+
+ public String toString(){
+ StringBuffer sb = new StringBuffer() ;
+ sb.append(" 閾捐矾妫�娴� : \n") ;
+ sb.append(" 璇锋眰鐘舵�� : ") ;
+ sb.append(status == null?"鏈煡":(status.equals("F0")?"鐧诲綍":(status.equals("F1")?"閫�鍑虹櫥褰�":(status.equals("F2")?"鍦ㄧ嚎淇濇寔":status)))) ;
+ sb.append("\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") ;
+ 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
new file mode 100644
index 0000000..46ce7db
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd10Vo.java
@@ -0,0 +1,28 @@
+package com.dy.common.mw.protocol.p206V202404.upVos;
+
+import lombok.Data;
+
+//璁剧疆璁惧缁堢鍦板潃
+@Data
+public class DataCd10Vo {
+
+ public String controllerType;//鎺у埗鍣ㄧ被鍨�: 01:娴嬫帶涓�浣撻榾锛�57:浜曠數鎺у埗鍣�
+ public Integer projectNo ;//椤圭洰缂栧彿:
+ public String rtuNewAddr ;//鎺у埗鍣ㄦ柊鍦板潃
+
+ public String toString(){
+ StringBuffer sb = new StringBuffer() ;
+ sb.append(" 璁剧疆缁堢鍦板潃搴旂瓟 : \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(rtuNewAddr == null?"鏈煡":rtuNewAddr) ;
+ sb.append("\n") ;
+ return sb.toString() ;
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd15Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd15Vo.java
new file mode 100644
index 0000000..53bae3b
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd15Vo.java
@@ -0,0 +1,30 @@
+package com.dy.common.mw.protocol.p206V202404.upVos;
+
+import lombok.Data;
+
+//杩滅▼鐢ㄦ埛鍏呭��
+@Data
+public class DataCd15Vo {
+
+
+ public String controllerType;//鎺у埗鍣ㄧ被鍨�: 01:娴嬫帶涓�浣撻榾锛�57:浜曠數鎺у埗鍣�
+ public Integer projectNo ;//椤圭洰缂栧彿:
+ public Boolean success ;//鍛戒护缁撴灉锛坱rue鎴愬姛, false澶辫触锛�
+
+ public String toString(){
+ StringBuffer sb = new StringBuffer() ;
+ sb.append(" 娓呴櫎璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍 : \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(success == null?"鏈煡":(success?"鎴愬姛":"澶辫触")) ;
+ sb.append("\n") ;
+
+ return sb.toString() ;
+ }
+
+}
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
new file mode 100644
index 0000000..1c3df62
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd50Vo.java
@@ -0,0 +1,28 @@
+package com.dy.common.mw.protocol.p206V202404.upVos;
+
+import lombok.Data;
+
+//鏌ヨ璁惧缁堢鍦板潃
+@Data
+public class DataCd50Vo {
+
+ public String controllerType;//鎺у埗鍣ㄧ被鍨�: 01:娴嬫帶涓�浣撻榾锛�57:浜曠數鎺у埗鍣�
+ public Integer projectNo ;//椤圭洰缂栧彿:
+ public String rtuAddr;//鎺у埗鍣ㄦ柊鍦板潃
+
+ public String toString(){
+ StringBuffer sb = new StringBuffer() ;
+ sb.append(" 璁剧疆缁堢鍦板潃搴旂瓟 : \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(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
new file mode 100644
index 0000000..a2c4b9a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd55Vo.java
@@ -0,0 +1,53 @@
+package com.dy.common.mw.protocol.p206V202404.upVos;
+
+import lombok.Data;
+
+//鏌ヨ璁惧缁堢鍏呭�艰褰�
+@Data
+public class DataCd55Vo {
+
+ public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣�
+ public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣�
+ public String icCardAddr ;//IC鍗″湴鍧�(8浣嶆暟瀛楁垨瀛楁瘝)
+ public String icCardNo ;//鐢ㄦ埛鍗″簭鍒楀彿锛�16浣嶆暟瀛楋級锛�6瀛楄妭BCD锛�2瀛楄妭HEX锛�
+ public Double chargeMoney ;//鍗曚綅:鍏� 2浣嶅皬鏁扮偣(鏈�澶у�� 99999999.99)
+ public Double chargeWater ;//鍗曚綅:m3 2浣嶅皬鏁扮偣(鏈�澶у�� 99999999.99)
+ public String flowNo ;//娴佹按鍙凤紙12浣嶆暟瀛楋級
+ public Boolean success ;//鍛戒护缁撴灉锛坱rue鎴愬姛, false澶辫触锛�
+ public String dt ;//鍏呭�兼椂闂达紙yyyy-mm-dd HH:mm:ss锛�
+
+
+ public String toString(){
+ StringBuffer sb = new StringBuffer() ;
+ sb.append(" 鏌ヨ璁惧缁堢鍏呭�艰褰� : \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(" 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
new file mode 100644
index 0000000..6ee2945
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd56Vo.java
@@ -0,0 +1,30 @@
+package com.dy.common.mw.protocol.p206V202404.upVos;
+
+import lombok.Data;
+
+//鏌ヨ璁惧缁堢鍓╀綑姘撮噺鍜屽墿浣欓噾棰濇姤璀﹀��
+@Data
+public class DataCd56Vo {
+
+ public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣�
+ public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣�
+ public Integer waterAlarm ;//鍓╀綑姘撮噺鎶ヨ鍊�,鍗曚綅:m3銆傛暣鏁帮紝鍙栧�艰寖鍥�0~65535
+ public Integer moneyAlarm ;//鍓╀綑閲戦鎶ヨ鍊�,鍗曚綅:鍏冦�傛暣鏁帮紝鍙栧�艰寖鍥�0~65535
+
+
+ public String toString(){
+ StringBuffer sb = new StringBuffer() ;
+ sb.append(" 鏌ヨ璁惧缁堢鍓╀綑姘撮噺鍜屽墿浣欓噾棰濇姤璀﹀�� : \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") ;
+ return sb.toString() ;
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5BVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5BVo.java
new file mode 100644
index 0000000..ca92652
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5BVo.java
@@ -0,0 +1,9 @@
+package com.dy.common.mw.protocol.p206V202404.upVos;
+
+import lombok.Data;
+
+//璁惧缁堢宸ヤ綔涓婃姤
+@Data
+public class DataCd5BVo extends DataCd80Vo {
+
+}
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
new file mode 100644
index 0000000..50abb2c
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5CVo.java
@@ -0,0 +1,40 @@
+package com.dy.common.mw.protocol.p206V202404.upVos;
+
+import lombok.Data;
+
+//鏌ヨ璁惧缁堢鐨勫巻鍙叉棩璁板綍
+@Data
+public class DataCd5CVo {
+
+ public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣�
+ public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣�
+ public String dt ;//瑙傚療鏃堕棿锛坹yyy-mm-dd HH锛�
+ public Double meterAmountDay ;//褰撴棩姘磋〃鍑�娴侀噺锛�2涓皬鏁扮偣
+ public Double farmerAmountDay ;//褰撴棩鐢ㄦ埛鐢ㄦ按閲忥紝2涓皬鏁扮偣
+ public Double lossAmountDay ;//褰撴棩婕忔崯姘撮噺锛�2涓皬鏁扮偣
+
+ public String toString(){
+ StringBuffer sb = new StringBuffer() ;
+ sb.append(" 鏌ヨ璁惧缁堢鐨勫巻鍙叉棩璁板綍 : \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(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
new file mode 100644
index 0000000..5395ec4
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd65Vo.java
@@ -0,0 +1,60 @@
+package com.dy.common.mw.protocol.p206V202404.upVos;
+
+import lombok.Data;
+
+//鏌ヨ璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍
+@Data
+public class DataCd65Vo {
+
+ public String controllerType;//鎺у埗鍣ㄧ被鍨�: 01:娴嬫帶涓�浣撻榾锛�57:浜曠數鎺у埗鍣�
+ public Integer projectNo ;//椤圭洰缂栧彿:
+ public String icCardAddr ;//IC鍗″湴鍧�(杩滅▼寮�娉�/闃�鏃舵鏁版嵁涓�0)
+ public String icCardNo ;//鐢ㄦ埛鍗″簭鍒楀彿锛�16浣嶆暟瀛楋級
+ public Double moneyRemain ;//鐢ㄦ埛鍓╀綑閲戦(鍗曚綅0.01鍏�)
+ public Double waterRemain ;//鐢ㄦ埛鍓╀綑姘撮噺(鍗曚綅0.01m3)
+ public Double thisEle ;//鏈浣跨敤鐢甸噺(鍗曚綅0.01搴�)
+ public Double thisWater ;//鏈浣跨敤姘撮噺(鍗曚綅0.01绔嬫柟绫�)
+ public String rtuStartDt ;//鏈寮�濮嬫椂闂� (鍒嗘椂鏃ユ湀)
+ public String rtuEndDt ;//鏈缁撴潫鏃堕棿 (鍒嗘椂鏃ユ湀)
+ public Byte useWaterType ;//鐢ㄦ按鏂瑰紡锛�0x00:姝e父鍒峰崱寮�娉�/闃�鐢ㄦ按 0x01:骞冲彴杩滅▼寮�娉�/闃�鐢ㄦ按 0x02:鐢ㄦ埛杩滅▼寮�娉�/闃�鐢ㄦ按 0x03:娴嬭瘯鍗★紝0x04:鍏跺畠锛�
+
+ public String toString(){
+ StringBuffer sb = new StringBuffer() ;
+ sb.append(" 鏌ヨ璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍 : \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(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/DataCd80Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80Vo.java
new file mode 100644
index 0000000..18ce06b
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80Vo.java
@@ -0,0 +1,204 @@
+package com.dy.common.mw.protocol.p206V202404.upVos;
+
+import lombok.Data;
+
+//璁惧缁堢宸ヤ綔涓婃姤
+@Data
+public class DataCd80Vo {
+
+ public String controllerType;//鎺у埗鍣ㄧ被鍨�: 01:娴嬫帶涓�浣撻榾锛�57:浜曠數鎺у埗鍣�
+ public Integer projectNo ;//椤圭洰缂栧彿:
+ public Byte useWaterType ;//鐢ㄦ按鏂瑰紡锛�0x00:姝e父鍒峰崱寮�娉�/闃�鐢ㄦ按 0x01:骞冲彴杩滅▼寮�娉�/闃�鐢ㄦ按 0x02:鐢ㄦ埛杩滅▼寮�娉�/闃�鐢ㄦ按 0x03:娴嬭瘯鍗★紝0x04:鍏跺畠锛�
+ public String orderNo ;//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
+ public String icCardAddr ;//IC鍗″湴鍧�(杩滅▼寮�娉�/闃�鏃舵鏁版嵁涓�0)
+ public String icCardNo ;//鐢ㄦ埛鍗″簭鍒楀彿锛�16浣嶆暟瀛楋級
+ public String rtuDt ;//瑙傚療鏃堕棿: 6瀛楄妭鐨凚CD鐮�(绉掑垎鏃舵棩鏈堝勾)
+ public Double waterLevel ;//姘翠綅锛堝崟浣�0.001绫筹級
+ public Double waterPress ;//姘村帇锛堝崟浣�0.01鍗冨笗锛�
+ public Double waterInstant ;//鐬椂娴侀噺锛堝崟浣�0.01绔嬫柟绫�/灏忔椂锛�
+ public Double waterTotal ;//姘磋〃绱娴侀噺(鍗曚綅0.01m3)
+ public Double eleTotal ;//鐢佃〃绱鐢甸噺(鍗曚綅0.01搴�)
+ public Double moneyRemain ;//鐢ㄦ埛鍓╀綑閲戦(鍗曚綅0.01鍏�)
+ public Double waterRemain ;//鐢ㄦ埛鍓╀綑姘撮噺(鍗曚綅0.01m3)
+ public Double thisEle ;//鏈浣跨敤鐢甸噺(鍗曚綅0.01搴�)
+ public Double thisWater ;//鏈浣跨敤姘撮噺(鍗曚綅0.01绔嬫柟绫�)
+ public Double thisMoney ;//鏈浣跨敤閲戦(鍗曚綅0.01鍏�)
+ public Integer thisDuration ;//鏈浣跨敤鏃堕暱(鍗曚綅:鍒嗛挓 鏈�澶�9999鍒嗛挓)
+ public Double waterPrice ;//褰撳墠姘撮噺鍗曚环(鍗曚綅0.01鍏� 鏈�澶�99.99鍏�)
+ public Double elePrice ;//褰撳墠鐢甸噺鍗曚环(鍗曚綅0.01鍏� 鏈�澶�99.99鍏�)
+ public Double aVolt ;//浜ゆ祦A鐩哥數鍘嬫暟鎹�(鍗曚綅0.1浼忕壒)
+ public Double bVolt ;//浜ゆ祦B鐩哥數鍘嬫暟鎹�(鍗曚綅0.1浼忕壒)
+ public Double cVolt ;//浜ゆ祦C鐩哥數鍘嬫暟鎹�(鍗曚綅0.1浼忕壒)
+ public Double aCurrent ;//浜ゆ祦A鐩哥數娴佹暟鎹�(鍗曚綅0.1瀹夊煿)
+ public Double bCurrent ;//浜ゆ祦B鐩哥數娴佹暟鎹�(鍗曚綅0.1瀹夊煿)
+ public Double cCurrent ;//浜ゆ祦C鐩哥數娴佹暟鎹�(鍗曚綅0.1瀹夊煿)
+ public Double batteryVolt ;//鍚庡鐢垫睜鐢靛帇(鍗曚綅0.01浼忕壒)
+ public Double waterMeterTransVolt ;//姘磋〃杩滀紶鐢靛帇(鍗曚綅0.01浼忕壒)
+ public Double waterMeterWorkVolt ;//姘磋〃宸ヤ綔鐢靛帇(鍗曚綅0.01浼忕壒)
+ /*
+ CSQ鍊煎簲鍦�0鍒�31涔嬮棿锛屽叾涓�99琛ㄧず鏃犱俊鍙枫��
+ 缃戠粶璐ㄩ噺璇勪及锛�
+ CSQ鍊煎皬浜�10锛氬彲浠ヨ涓虹綉缁滆緝宸��
+ CSQ鍊煎湪10鍜�25涔嬮棿锛氬彲浠ヨ涓虹綉缁滀腑绛夈��
+ CSQ鍊煎ぇ浜�25锛氬彲浠ヨ涓虹綉缁滆緝濂姐��
+ CSQ鍊煎皬浜�11锛氫笉瀹规槗闄勭潃缃戠粶銆�
+ 11 < CSQ < 18锛氱綉缁滀笉绋冲畾锛屽彲鑳戒細瀵艰嚧璇爜杈冨銆�
+ CSQ鍊煎ぇ浜�18锛氳兘绋冲畾閫氫俊
+ */
+ public Integer csq ;//鎵嬫満淇″彿寮哄害 CSQ鍊硷紙锛�
+
+ public Byte statePump ; //娉�/闃�鐘舵�� (1锛氬紑娉�/闃�锛�0锛氬叧娉�/闃�)
+ public Byte alarmWaterRemain ; //鍓╀綑姘撮噺鎶ヨ (1锛氬皬浜庢姤璀︿笂闄愭姤璀� 0锛氭甯�)
+ public Byte alarm0WaterRemain ; //鍓╀綑姘撮噺涓�0鍏虫车/闃� (1锛氬墿浣欐按閲忎负0鍏虫车 0锛氭甯�)
+ public Byte alarmExceedYear ; //骞村害瓒呴噰鎶ヨ (1锛氬勾鐢ㄦ按閲忓ぇ浜庨檺鍒舵按閲忔姤璀� 0锛氭甯�)
+ public Byte alarmWaterMeterFault ; //澶栭儴娴侀噺璁℃晠闅� (1锛氭祦閲忚鏁呴殰鎶ヨ 0锛氭甯�)
+ public Byte alarmSteal ; //鍋锋按鎶ヨ (1锛氱粫寮�鎺у埗鍣ㄧ敤姘存姤璀� 0锛氭甯�)
+ public Byte alarmWaterMeterBreak ; //娴侀噺璁℃崯鍧忔姤璀� (1锛氭甯搁�氳浣嗙灛鏃朵负0鎶ヨ 0锛氭甯�)
+ public Byte alarmEleMeterFault ; //鐢佃〃鏁呴殰鎶ヨ (1锛氬拰鐢佃〃閫氳鏂垨鏁版嵁涓嶆甯� 0锛氭甯�)
+ public Byte alarm0MoneyRemain ; //鍓╀綑閲戦涓�0鍏虫车/闃� (1锛氬墿浣欓噾棰濅负0鎶ヨ 0锛氭甯�)
+ public Byte alarmInnerDoor ; //鎺у埗鍣ㄥ唴闂ㄦ姤璀� (1锛氬唴闂ㄦ墦寮�鎶ヨ 0锛氭甯�)
+ public Byte alarmOuterDoor ; //鎺у埗鍣ㄥ闂ㄦ姤璀� (1锛氬闂ㄦ墦寮�鎶ヨ 0锛氭甯�)
+ public Byte alarmEleMiss ; //浜ゆ祦缂洪」鎶ヨ (1锛氫笁鐩哥己椤规姤璀� 0锛氭甯�)
+ public Byte alarmEleExceed ; //浜ゆ祦杩囨祦鎶ヨ (1锛氫氦娴佽繃娴佹姤璀� 0锛氭甯�)
+ public Byte alarmEleLowVolt ; //涓夌浉鐢垫瑺鍘嬫姤璀� (1锛氭瑺鍘嬫姤璀� 0锛氭甯�)
+ public Byte stateIcEnable ; //IC鍗′娇鑳� (1銆両C鏈夊埛鍗℃敮鎸� 0锛氫笉鏀寔)
+
+
+ public String toString(){
+ StringBuffer sb = new StringBuffer() ;
+ sb.append(" 璁惧缁堢宸ヤ綔涓婃姤 : \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(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(statePump == null?"鏈煡":(statePump.byteValue()==1?"娉�/闃�寮�":(statePump.byteValue()==0?"娉�/闃�鍏�":"鏈煡"))) ;
+ sb.append(" 鍓╀綑姘撮噺鎶ヨ : ") ;
+ sb.append(alarmWaterRemain == null?"鏈煡":(alarmWaterRemain.byteValue()==1?"灏忎簬鎶ヨ涓婇檺":(alarmWaterRemain.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 鍓╀綑姘撮噺涓�0鍏虫车/闃� : ") ;
+ sb.append(alarm0WaterRemain == null?"鏈煡":(alarm0WaterRemain.byteValue()==1?"褰掗浂鍏虫车/闃�":(alarm0WaterRemain.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 骞村害瓒呴噰 : ") ;
+ sb.append(alarmExceedYear == null?"鏈煡":(alarmExceedYear.byteValue()==1?"鎶ヨ":(alarmExceedYear.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 澶栭儴娴侀噺璁℃晠闅� : ") ;
+ sb.append(alarmWaterMeterFault == null?"鏈煡":(alarmWaterMeterFault.byteValue()==1?"鎶ヨ":(alarmWaterMeterFault.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 鍋锋按 : ") ;
+ sb.append(alarmSteal == null?"鏈煡":(alarmSteal.byteValue()==1?"鎶ヨ":(alarmSteal.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 娴侀噺璁℃崯鍧� : ") ;
+ sb.append(alarmWaterMeterBreak == null?"鏈煡":(alarmWaterMeterBreak.byteValue()==1?"鎶ヨ":(alarmWaterMeterBreak.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 鐢佃〃鏁呴殰 : ") ;
+ sb.append(alarmEleMeterFault == null?"鏈煡":(alarmEleMeterFault.byteValue()==1?"鎶ヨ":(alarmEleMeterFault.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 鍓╀綑閲戦涓�0鍏虫车/闃� : ") ;
+ sb.append(alarm0MoneyRemain == null?"鏈煡":(alarm0MoneyRemain.byteValue()==1?"鎶ヨ":(alarm0MoneyRemain.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 鎺у埗鍣ㄥ唴闂� : ") ;
+ sb.append(alarmInnerDoor == null?"鏈煡":(alarmInnerDoor.byteValue()==1?"鎶ヨ":(alarmInnerDoor.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 鎺у埗鍣ㄥ闂� : ") ;
+ sb.append(alarmOuterDoor == null?"鏈煡":(alarmOuterDoor.byteValue()==1?"鎶ヨ":(alarmOuterDoor.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 浜ゆ祦缂洪」 : ") ;
+ sb.append(alarmEleMiss == null?"鏈煡":(alarmEleMiss.byteValue()==1?"鎶ヨ":(alarmEleMiss.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 浜ゆ祦杩囨祦 : ") ;
+ sb.append(alarmEleExceed == null?"鏈煡":(alarmEleExceed.byteValue()==1?"鎶ヨ":(alarmEleExceed.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 涓夌浉鐢垫瑺鍘� : ") ;
+ sb.append(alarmEleLowVolt == null?"鏈煡":(alarmEleLowVolt.byteValue()==1?"鎶ヨ":(alarmEleLowVolt.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" IC鍗′娇鑳� : ") ;
+ sb.append(stateIcEnable == null?"鏈煡":(stateIcEnable.byteValue()==1?"鏀寔":(stateIcEnable.byteValue()==0?"涓嶆敮鎸�":"鏈煡"))) ;
+ sb.append("\n") ;
+ return sb.toString() ;
+ }
+
+}
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
new file mode 100644
index 0000000..665b22a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd81Vo.java
@@ -0,0 +1,85 @@
+package com.dy.common.mw.protocol.p206V202404.upVos;
+
+import lombok.Data;
+
+//璁惧缁堢闅忔満鑷姤
+@Data
+public class DataCd81Vo {
+
+ public String controllerType;//鎺у埗鍣ㄧ被鍨�: 01:娴嬫帶涓�浣撻榾锛�57:浜曠數鎺у埗鍣�
+ public Integer projectNo ;//椤圭洰缂栧彿:
+
+ public Byte statePump ; //娉�/闃�鐘舵�� (1锛氬紑娉�/闃�锛�0锛氬叧娉�/闃�)
+ public Byte alarmWaterRemain ; //鍓╀綑姘撮噺鎶ヨ (1锛氬皬浜庢姤璀︿笂闄愭姤璀� 0锛氭甯�)
+ public Byte alarm0WaterRemain ; //鍓╀綑姘撮噺涓�0鍏虫车/闃� (1锛氬墿浣欐按閲忎负0鍏虫车 0锛氭甯�)
+ public Byte alarmExceedYear ; //骞村害瓒呴噰鎶ヨ (1锛氬勾鐢ㄦ按閲忓ぇ浜庨檺鍒舵按閲忔姤璀� 0锛氭甯�)
+ public Byte alarmWaterMeterFault ; //澶栭儴娴侀噺璁℃晠闅� (1锛氭祦閲忚鏁呴殰鎶ヨ 0锛氭甯�)
+ public Byte alarmSteal ; //鍋锋按鎶ヨ (1锛氱粫寮�鎺у埗鍣ㄧ敤姘存姤璀� 0锛氭甯�)
+ public Byte alarmWaterMeterBreak ; //娴侀噺璁℃崯鍧忔姤璀� (1锛氭甯搁�氳浣嗙灛鏃朵负0鎶ヨ 0锛氭甯�)
+ public Byte alarmEleMeterFault ; //鐢佃〃鏁呴殰鎶ヨ (1锛氬拰鐢佃〃閫氳鏂垨鏁版嵁涓嶆甯� 0锛氭甯�)
+ public Byte alarm0MoneyRemain ; //鍓╀綑閲戦涓�0鍏虫车/闃� (1锛氬墿浣欓噾棰濅负0鎶ヨ 0锛氭甯�)
+ public Byte alarmInnerDoor ; //鎺у埗鍣ㄥ唴闂ㄦ姤璀� (1锛氬唴闂ㄦ墦寮�鎶ヨ 0锛氭甯�)
+ public Byte alarmOuterDoor ; //鎺у埗鍣ㄥ闂ㄦ姤璀� (1锛氬闂ㄦ墦寮�鎶ヨ 0锛氭甯�)
+ public Byte alarmEleMiss ; //浜ゆ祦缂洪」鎶ヨ (1锛氫笁鐩哥己椤规姤璀� 0锛氭甯�)
+ public Byte alarmEleExceed ; //浜ゆ祦杩囨祦鎶ヨ (1锛氫氦娴佽繃娴佹姤璀� 0锛氭甯�)
+ public Byte alarmEleLowVolt ; //涓夌浉鐢垫瑺鍘嬫姤璀� (1锛氭瑺鍘嬫姤璀� 0锛氭甯�)
+ public Byte stateIcEnable ; //IC鍗′娇鑳� (1銆両C鏈夊埛鍗℃敮鎸� 0锛氫笉鏀寔)
+
+
+ public String toString(){
+ StringBuffer sb = new StringBuffer() ;
+ sb.append(" 璁惧缁堢闅忔満鑷姤 : \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(statePump == null?"鏈煡":(statePump.byteValue()==1?"娉�/闃�寮�":(statePump.byteValue()==0?"娉�/闃�鍏�":"鏈煡"))) ;
+ sb.append(" 鍓╀綑姘撮噺鎶ヨ : ") ;
+ sb.append(alarmWaterRemain == null?"鏈煡":(alarmWaterRemain.byteValue()==1?"灏忎簬鎶ヨ涓婇檺":(alarmWaterRemain.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 鍓╀綑姘撮噺涓�0鍏虫车/闃� : ") ;
+ sb.append(alarm0WaterRemain == null?"鏈煡":(alarm0WaterRemain.byteValue()==1?"褰掗浂鍏虫车/闃�":(alarm0WaterRemain.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 骞村害瓒呴噰 : ") ;
+ sb.append(alarmExceedYear == null?"鏈煡":(alarmExceedYear.byteValue()==1?"鎶ヨ":(alarmExceedYear.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 澶栭儴娴侀噺璁℃晠闅� : ") ;
+ sb.append(alarmWaterMeterFault == null?"鏈煡":(alarmWaterMeterFault.byteValue()==1?"鎶ヨ":(alarmWaterMeterFault.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 鍋锋按 : ") ;
+ sb.append(alarmSteal == null?"鏈煡":(alarmSteal.byteValue()==1?"鎶ヨ":(alarmSteal.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 娴侀噺璁℃崯鍧� : ") ;
+ sb.append(alarmWaterMeterBreak == null?"鏈煡":(alarmWaterMeterBreak.byteValue()==1?"鎶ヨ":(alarmWaterMeterBreak.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 鐢佃〃鏁呴殰 : ") ;
+ sb.append(alarmEleMeterFault == null?"鏈煡":(alarmEleMeterFault.byteValue()==1?"鎶ヨ":(alarmEleMeterFault.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 鍓╀綑閲戦涓�0鍏虫车/闃� : ") ;
+ sb.append(alarm0MoneyRemain == null?"鏈煡":(alarm0MoneyRemain.byteValue()==1?"鎶ヨ":(alarm0MoneyRemain.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 鎺у埗鍣ㄥ唴闂� : ") ;
+ sb.append(alarmInnerDoor == null?"鏈煡":(alarmInnerDoor.byteValue()==1?"鎶ヨ":(alarmInnerDoor.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 鎺у埗鍣ㄥ闂� : ") ;
+ sb.append(alarmOuterDoor == null?"鏈煡":(alarmOuterDoor.byteValue()==1?"鎶ヨ":(alarmOuterDoor.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 浜ゆ祦缂洪」 : ") ;
+ sb.append(alarmEleMiss == null?"鏈煡":(alarmEleMiss.byteValue()==1?"鎶ヨ":(alarmEleMiss.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 浜ゆ祦杩囨祦 : ") ;
+ sb.append(alarmEleExceed == null?"鏈煡":(alarmEleExceed.byteValue()==1?"鎶ヨ":(alarmEleExceed.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 涓夌浉鐢垫瑺鍘� : ") ;
+ sb.append(alarmEleLowVolt == null?"鏈煡":(alarmEleLowVolt.byteValue()==1?"鎶ヨ":(alarmEleLowVolt.byteValue()==0?"姝e父":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" IC鍗′娇鑳� : ") ;
+ sb.append(stateIcEnable == null?"鏈煡":(stateIcEnable.byteValue()==1?"鏀寔":(stateIcEnable.byteValue()==0?"涓嶆敮鎸�":"鏈煡"))) ;
+ sb.append("\n") ;
+ return sb.toString() ;
+ }
+
+}
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
new file mode 100644
index 0000000..3915231
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd8AVo.java
@@ -0,0 +1,44 @@
+package com.dy.common.mw.protocol.p206V202404.upVos;
+
+import lombok.Data;
+
+//璁惧鐧诲綍
+@Data
+public class DataCd8AVo {
+
+ public String controllerType;//鎺у埗鍣ㄧ被鍨�: 01:娴嬫帶涓�浣撻榾锛�57:浜曠數鎺у埗鍣�
+ public Integer projectNo ;//椤圭洰缂栧彿:
+ public Double lng ;//缁忓害
+ public Double lat ;//绾害
+ public Float softVersion ;//杞欢鐗堟湰鍙�
+ public Float hardVersion ;//纭欢鐗堟湰鍙�
+ public Float protocolVersion ;//鍗忚鐗堟湰鍙�
+
+ public String toString(){
+ StringBuffer sb = new StringBuffer() ;
+ sb.append(" 璁惧鐧诲綍 : \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(lng == null?"鏈煡":lng) ;
+ sb.append("\n") ;
+ sb.append(" 绾害 : ") ;
+ sb.append(lat == null?"鏈煡":lat) ;
+ sb.append("\n") ;
+ sb.append(" 杞欢鐗堟湰鍙� : ") ;
+ sb.append(softVersion == null?"鏈煡":softVersion) ;
+ sb.append("\n") ;
+ sb.append(" 纭欢鐗堟湰鍙� : ") ;
+ sb.append(hardVersion == null?"鏈煡":hardVersion) ;
+ sb.append("\n") ;
+ sb.append(" 鍗忚鐗堟湰鍙� : ") ;
+ sb.append(protocolVersion == null?"鏈煡":protocolVersion) ;
+ sb.append("\n") ;
+ return sb.toString() ;
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd97Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd97Vo.java
new file mode 100644
index 0000000..a2440c2
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd97Vo.java
@@ -0,0 +1,29 @@
+package com.dy.common.mw.protocol.p206V202404.upVos;
+
+import lombok.Data;
+
+//娓呴櫎璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍
+@Data
+public class DataCd97Vo {
+
+ public String controllerType;//鎺у埗鍣ㄧ被鍨�: 01:娴嬫帶涓�浣撻榾锛�57:浜曠數鎺у埗鍣�
+ public Integer projectNo ;//椤圭洰缂栧彿:
+ public Boolean success ;//鍛戒护缁撴灉锛坱rue鎴愬姛, false澶辫触锛�
+
+ public String toString(){
+ StringBuffer sb = new StringBuffer() ;
+ sb.append(" 娓呴櫎璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍 : \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(success == null?"鏈煡":(success?"鎴愬姛":"澶辫触")) ;
+ sb.append("\n") ;
+
+ return sb.toString() ;
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd98Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd98Vo.java
new file mode 100644
index 0000000..e061feb
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd98Vo.java
@@ -0,0 +1,29 @@
+package com.dy.common.mw.protocol.p206V202404.upVos;
+
+import lombok.Data;
+
+//娓呴櫎璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍
+@Data
+public class DataCd98Vo {
+
+ public String controllerType;//鎺у埗鍣ㄧ被鍨�: 01:娴嬫帶涓�浣撻榾锛�57:浜曠數鎺у埗鍣�
+ public Integer projectNo ;//椤圭洰缂栧彿:
+ public Boolean success ;//鍛戒护缁撴灉锛坱rue鎴愬姛, false澶辫触锛�
+
+ public String toString(){
+ StringBuffer sb = new StringBuffer() ;
+ sb.append(" 娓呴櫎璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍 : \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(success == null?"鏈煡":(success?"鎴愬姛":"澶辫触")) ;
+ sb.append("\n") ;
+
+ return sb.toString() ;
+ }
+
+}
diff --git "a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/\350\257\264\346\230\216.txt" "b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/\350\257\264\346\230\216.txt"
new file mode 100644
index 0000000..f268ed9
--- /dev/null
+++ "b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/\350\257\264\346\230\216.txt"
@@ -0,0 +1,5 @@
+鏍规嵁鐜嬫睙娴峰埗瀹氱殑鏂板崗璁�婃櫤鑳芥帶鍒剁粓绔笌绠$悊骞冲彴浼犺緭鍗忚瑙勮寖240424.doc銆嬪疄鐜�
+
+闈虫�荤増娴嬫帶涓�浣撻榾涓庣帇姹熸捣鐗堟祴鎺т竴浣撻榾涓嶈兘鍦ㄥ悓涓�涓腑闂翠欢杩愯锛�
+鍥犱负涓や釜鐗堟湰鐨勫崗璁崗璁ご閮戒竴鏍凤紝娌℃硶鍖哄垎寮�鏉ワ紝濡傛灉涓ょ璁惧
+閮借搴旂敤锛岄渶瑕侀儴缃蹭袱涓�氫俊涓棿浠躲��
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java
index 7fe22e9..ee7b49d 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java
@@ -1195,7 +1195,7 @@
}
/**
- * 澶х妯″紡銆婃暟鎹綆浣嶅湪鏁扮粍楂樺瓧鑺傘��
+ * 灏忕妯″紡銆婃暟鎹綆浣嶅湪鏁扮粍楂樺瓧鑺傘��
* 瀛楃涓茶浆鎹㈡垚byte鏁扮粍
* @value bs byte[]
* @value str String
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java
index be8a88a..8e97a16 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java
@@ -415,16 +415,29 @@
}
public static Integer week_Int(){
String str = week_Str() ;
- return switch (str) {
- case "Mon" -> 1;
- case "Tue" -> 2;
- case "Wed" -> 3;
- case "Thu" -> 4;
- case "Fri" -> 5;
- case "Sat" -> 6;
- case "Sun" -> 7;
- default -> 0;
- };
+ if(str.startsWith("鍛�")){
+ return switch (str) {
+ case "鍛ㄤ竴" -> 1;
+ case "鍛ㄤ簩" -> 2;
+ case "鍛ㄤ笁" -> 3;
+ case "鍛ㄥ洓" -> 4;
+ case "鍛ㄤ簲" -> 5;
+ case "鍛ㄥ叚" -> 6;
+ case "鍛ㄤ竷" -> 7;
+ default -> 0;
+ };
+ }else{
+ return switch (str) {
+ case "Mon" -> 1;
+ case "Tue" -> 2;
+ case "Wed" -> 3;
+ case "Thu" -> 4;
+ case "Fri" -> 5;
+ case "Sat" -> 6;
+ case "Sun" -> 7;
+ default -> 0;
+ };
+ }
}
/**
* 涓や釜鏃ユ湡闂寸浉宸閽熸暟
@@ -1568,13 +1581,7 @@
String[] s = new String[3] ;
s[0] = ymd.substring(0 , 4) ;
s[1] = ymd.substring(5 , 7) ;
- if(s[1].charAt(0) == '0'){
- s[1] = s[1].substring(1) ;
- }
s[2] = ymd.substring(8,10) ;
- if(s[2].charAt(0) == '0'){
- s[2] = s[2].substring(1) ;
- }
return s ;
}
/**
--
Gitblit v1.8.0