From 6dba613b20244677543795eb91d18ce54d612c27 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 27 六月 2024 13:44:01 +0800
Subject: [PATCH] 靳总协议上行数据处理修改完善

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportLast.java                                      |   33 ++++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java           |   26 +-
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossLast.java                                            |    9 +
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealControllerTramp.java           |    9 +
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java                      |   54 +++---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java          |   27 +-
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java                                  |    8 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Up.java                              |   57 +-----
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java                |   85 ++++------
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd84Vo.java                            |   26 +-
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmCommandHistory.java                                      |    3 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java                                  |    3 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossHistory.java                                         |    9 +
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOnHourReport.java              |    2 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerTrampV202404.java   |    1 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerNoTrampV202404.java |   11 +
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml                                                    |   10 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java                                  |    1 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java                              |   37 +---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealControllerNoTramp.java         |    9 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportHistory.java                                   |   33 ++++
 21 files changed, 238 insertions(+), 215 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java
index 67d963e..4f8929b 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java
@@ -14,7 +14,7 @@
 	public static final String cd_39 = "39" ;//璁剧疆鐢垫睜鐢靛帇鎶ヨ鍊�
 	public static final String cd_3A = "3A" ;//璁剧疆闃�闂ㄥ牭杞數娴�
 	public static final String cd_3B = "3B" ;//璁剧疆闃�闂ㄨ秴鏃舵椂闂�
-    public static final String cd_3C = "3C" ;//璁剧疆鑷姤鍛ㄦ湡锛堟湭瀹炵幇锛�
+    public static final String cd_3C = "3C" ;//璁剧疆鑷姤鍛ㄦ湡
     public static final String cd_3D = "3D" ;//璁剧疆闃舵姘翠环
     public static final String cd_3E = "3E" ;//璁剧疆榛戝悕鍗曪紙鏈疄鐜帮級
 	public static final String cd_50 = "50" ;//鏌ヨ閬ユ祴绔欑粓绔湴鍧�
@@ -33,7 +33,6 @@
 	public static final String cd_81 = "81" ;//闅忔満鑷姤鎶�
 	public static final String cd_83 = "83" ;//閬ユ祴绔欏紑鍏抽榾鑷姤
 	public static final String cd_84 = "84" ;//寮�闃�宸ヤ綔鎶�
-	public static final String cd_85 = "85" ;//APP寮�闃�宸ヤ綔鎶�
 	public static final String cd_91 = "91" ;//娓呯┖鍘嗗彶璁板綍
 	public static final String cd_92 = "92" ;//閬ユ帶鍚姩闃�闂�
 	public static final String cd_93 = "93" ;//閬ユ帶鍏抽棴闃�闂�
@@ -43,7 +42,7 @@
 	public static final String cd_99 = "99" ;//瀹氭椂鍏抽榾寮�闃�
 	public static final String cd_A0 = "A0" ;//瀹氶噺鍏抽榾寮�闃�
 	public static final String cd_B0 = "B0" ;//鏌ヨ瀹炴椂鏁版嵁锛堟湭瀹炵幇锛�
-	public static final String cd_C0 = "C0" ;//閬ユ祴绔欒嚜鎶ュ疄鏃舵暟鎹�
+	public static final String cd_C0 = "C0" ;//閬ユ祴绔欐暣鐐逛笂鎶ュ疄鏃舵暟鎹�
 
     public static String getCodeName(String code) {
 		String name = (code.equals(cd_02) ? "閾捐矾妫�娴�" :
@@ -77,7 +76,6 @@
 			(code.equals(cd_81) ? "闅忔満鑷姤" :
 			(code.equals(cd_83) ? "寮�鍏抽榾鑷姤" :
 			(code.equals(cd_84) ? "寮�闃�宸ヤ綔鎶�" :
-			(code.equals(cd_85) ? "APP寮�闃�宸ヤ綔鎶�" :
 			(code.equals(cd_91) ? "娓呯┖鍘嗗彶璁板綍" :
 			(code.equals(cd_92) ? "閬ユ帶鍚姩闃�闂�" :
 			(code.equals(cd_93) ? "閬ユ帶鍏抽棴闃�闂�" :
@@ -88,7 +86,7 @@
 			(code.equals(cd_A0) ? "瀹氶噺鍏抽榾寮�闃�" :
 			(code.equals(cd_B0) ? "鏌ヨ瀹炴椂鏁版嵁" :
 			(code.equals(cd_C0) ? "鑷姤瀹炴椂鏁版嵁" :
-			"")))))))))))))))))))))))))))))))))))))))))) ;
+			""))))))))))))))))))))))))))))))))))))))))) ;
 		return name ;
 	}
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java
index ef1095f..718adcc 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java
@@ -16,6 +16,7 @@
 	public String toString(){
 		StringBuffer sb = new StringBuffer() ;
 		sb.append("   鎺у埗鍣ㄥ湴鍧� : " + (rtuAddr==null?"":rtuAddr) + "\n") ;
+		sb.append("   鎺ユ敹鏁版嵁鏃堕棿 : " + (dt==null?"":dt) + "\n") ;
 		sb.append("   缁堢鏁版嵁:\n") ;
 		if(subData != null){
 			sb.append(subData.toString()) ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java
index e8e34f4..7f09c37 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java
@@ -100,47 +100,26 @@
         cdData.type = opType ;
 
         short index = ProtocolConstantV206V1_0_0.dataIndex + 1 ;
-        //绱娴侀噺锛�5瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~9999999999锛屽崟浣嶄负m3銆�
+        //绱娴侀噺锛�5瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~99999999.99锛屽崟浣嶄负m3銆�
         cdData.totalAmount = 0.0D ;
-        int tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.totalAmount += tpInt;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.totalAmount += tpInt * 100.0 ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.totalAmount += tpInt * 10000.0 ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.totalAmount += tpInt * 1000000.0 ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.totalAmount += tpInt * 100000000.0 ;
+        int tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 4) ;
+        cdData.totalAmount += tpInt/100.0 ;
 
+        index += 5 ;
         //鐢ㄦ按鎴峰彿鏁版嵁鏍煎紡锛�5瀛楄妭BCD鐮佷綆浣嶅湪鍓嶉珮浣嶅湪鍚庛��
         cdData.icCardNo = ByteUtil.BCD2String_LE(bs, index, index + 4) ;
-        index += 5 ;
 
+        index += 5 ;
         //IC鍗″彿鏍煎紡锛�4瀛楄妭HEX鐮佷綆浣嶅湪鍓嶉珮浣嶅湪鍚庛��
         cdData.icCardAddr = ByteUtil.bytesToHex(bs, index, index + 3) ;
-        index += 4 ;
 
+        index += 4 ;
         //鐢ㄦ按鎴蜂綑棰濓細鐢ㄦ埛浣欓4瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0.00~999999.99锛屽崟浣嶄负鍏冦��
         cdData.remainMoney = 0.0D ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
+        tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 3) ;
         cdData.remainMoney += tpInt/100.0 ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.remainMoney += tpInt;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.remainMoney += tpInt * 100.0 ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.remainMoney += tpInt * 10000.0 ;
 
+        index += 4 ;
         //鐢ㄦ按鎴风敤姘村紑濮嬫椂闂达細6瀛楄妭BCD鐮侊紝椤哄簭鏄勾鏈堟棩鏃跺垎绉掞紝鍏朵腑鍏厓骞�=2000+骞淬��
         cdData.openDt = GlParse.parseTp(bs, index) ;
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Up.java
index e4fd9cd..fe33156 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Up.java
@@ -88,70 +88,37 @@
         dV1.subData = cdData ;
 
         short index = ProtocolConstantV206V1_0_0.dataIndex ;
-        cdData.opType = bs[index] ;
+        //cdData.opType = bs[index] ;
 
-        index++ ;
-        cdData.cardType = bs[index] ;
+        //index++ ;
+        //cdData.cardType = bs[index] ;
 
-        index++ ;
-        cdData.cardAddr = ByteUtil.bytes2Hex(bs, false,  index, 4) ;
+        //index++ ;
+        //cdData.cardAddr = ByteUtil.bytes2Hex(bs, false,  index, 4) ;
 
-        index += 4 ;
+        //index += 4 ;
         //鐢ㄦ按鎴峰彿鏁版嵁鏍煎紡锛�5瀛楄妭BCD鐮佷綆浣嶅湪鍓嶉珮浣嶅湪鍚庛��
         cdData.cardNo = ByteUtil.BCD2String_LE(bs, index, index + 4) ;
 
         index += 5 ;
         //鐢ㄦ按鎴蜂綑棰濓細鐢ㄦ埛浣欓4瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0.00~999999.99锛屽崟浣嶄负鍏冦��
         cdData.remainMoney = 0.0D ;
-        int tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
+        int tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 3) ;
         cdData.remainMoney += tpInt/100.0 ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.remainMoney += tpInt;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.remainMoney += tpInt * 100.0 ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.remainMoney += tpInt * 10000.0 ;
 
+        index += 4 ;
         //绱娴侀噺锛�5瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~9999999999锛屽崟浣嶄负m3銆�
         cdData.totalAmount = 0.0D ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
+        tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 4) ;
         cdData.totalAmount += tpInt;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.totalAmount += tpInt * 100.0 ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.totalAmount += tpInt * 10000.0 ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.totalAmount += tpInt * 1000000.0 ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.totalAmount += tpInt * 100000000.0 ;
 
+        index += 5 ;
         //鐬椂娴侀噺锛�5瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~9999999.999锛屽崟浣嶄负m3/h銆�
         cdData.instantAmount = 0.0D ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
+        tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 4) ;
         cdData.instantAmount += tpInt/1000.0 ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.instantAmount += tpInt/10.0 ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.instantAmount += tpInt * 10.0 ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.instantAmount += tpInt * 1000.0 ;
-        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
-        index++ ;
-        cdData.instantAmount += tpInt * 100000.0 ;
 
+        index += 5 ;
         cdData.alarmVo = GlParse.parseAlarm(bs, index) ;
         index += 2 ;
         cdData.stateVo = GlParse.parseState(bs, index) ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd84Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd84Vo.java
index eadff1c..1553cd5 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd84Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd84Vo.java
@@ -9,12 +9,12 @@
 @Data
 public class DataCd84Vo {
 
-    public Byte opType;//寮�鍏抽榾绫诲瀷(1:鍒峰崱寮�闃�锛�2:鍒峰崱鍏抽榾锛�3:涓績绔欏紑闃�锛�4:涓績绔欏叧闃�锛�5:娆犺垂鍏抽榾锛�6:娴侀噺璁℃晠闅滃叧闃�锛�7:绱ф�ュ叧闂紱8:鐢ㄦ埛杩滅▼寮�闃�锛�9:鐢ㄦ埛杩滅▼鍏抽榾锛�10:寮�鍏抽榾鍗″叧闃�锛�11:寮�鍏抽榾鍗″埛鍗″崱寮�闃�锛�)
-    public Byte cardType ;//鍗$被鍨�(1:鐢ㄦ埛鍗★紱2锛氱鐞嗗憳鍗★紱3锛氳皟璇曞崱锛�4锛氬紑鍏抽榾鍗★紱5锛氭竻绌哄崱)
-    public String cardAddr ;//IC鍗″湴鍧�锛�8浣嶅瓧绗︼級
+    //public Byte opType;//寮�鍏抽榾绫诲瀷(1:鍒峰崱寮�闃�锛�2:鍒峰崱鍏抽榾锛�3:涓績绔欏紑闃�锛�4:涓績绔欏叧闃�锛�5:娆犺垂鍏抽榾锛�6:娴侀噺璁℃晠闅滃叧闃�锛�7:绱ф�ュ叧闂紱8:鐢ㄦ埛杩滅▼寮�闃�锛�9:鐢ㄦ埛杩滅▼鍏抽榾锛�10:寮�鍏抽榾鍗″叧闃�锛�11:寮�鍏抽榾鍗″埛鍗″崱寮�闃�锛�)
+    //public Byte cardType ;//鍗$被鍨�(1:鐢ㄦ埛鍗★紱2锛氱鐞嗗憳鍗★紱3锛氳皟璇曞崱锛�4锛氬紑鍏抽榾鍗★紱5锛氭竻绌哄崱)
+    //public String cardAddr ;//IC鍗″湴鍧�锛�8浣嶅瓧绗︼級
     public String cardNo ;//IC鍗$紪鍙�
     public Double remainMoney ;//鍓╀綑閲戦锛氱敤鎴蜂綑棰�4瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0.00~999999.99锛屽崟浣嶄负鍏�
-    public Double totalAmount; //绱娴侀噺锛堟湰娆″紑闃�浠ユ潵鐨勭疮璁℃祦閲忥級锛�5瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~9999999999锛屽崟浣嶄负m3銆�
+    public Double totalAmount; //绱娴侀噺锛堟按琛ㄤ笂鐨勭疮璁℃祦閲忥級锛�5瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~9999999999锛屽崟浣嶄负m3銆�
     public Double instantAmount; //鐬椂娴侀噺锛�5瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~9999999.999锛屽崟浣嶄负m3/h銆�
     public String rtuDt ;//鎺у埗鍣ㄦ椂閽�
 
@@ -24,15 +24,15 @@
     public String toString(){
         StringBuilder sb = new StringBuilder() ;
         sb.append("   缁堢寮�闃�宸ヤ綔鎶�:\n");
-        sb.append("      寮�闃�绫诲瀷锛�");
-        sb.append(opType==null?"鏈煡": CommonV1_0_1.openCloseValveType(opType));
-        sb.append("\n");
-        sb.append("      IC鍗$被鍨嬶細");
-        sb.append(cardType==null?"鏈煡":CommonV1_0_1.icCardType(cardType)) ;
-        sb.append("\n");
-        sb.append("      IC鍗″湴鍧�锛�");
-        sb.append(cardAddr);
-        sb.append("\n");
+//        sb.append("      寮�闃�绫诲瀷锛�");
+//        sb.append(opType==null?"鏈煡": CommonV1_0_1.openCloseValveType(opType));
+//        sb.append("\n");
+//        sb.append("      IC鍗$被鍨嬶細");
+//        sb.append(cardType==null?"鏈煡":CommonV1_0_1.icCardType(cardType)) ;
+//        sb.append("\n");
+//        sb.append("      IC鍗″湴鍧�锛�");
+//        sb.append(cardAddr);
+//        sb.append("\n");
         sb.append("      IC鍗$紪鍙凤細");
         sb.append(cardNo);
         sb.append("\n");
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmCommandHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmCommandHistory.java
index 3825187..83b2a95 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmCommandHistory.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmCommandHistory.java
@@ -15,6 +15,7 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
+import com.dy.common.po.BaseEntity;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
@@ -31,7 +32,7 @@
 @ToString
 @NoArgsConstructor
 @AllArgsConstructor
-public class RmCommandHistory {
+public class RmCommandHistory implements BaseEntity {
     public static final long serialVersionUID = 202401151517005L;
 
     /**
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossHistory.java
index 6379112..7497e81 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossHistory.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossHistory.java
@@ -5,7 +5,10 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCdC0Vo;
 import com.dy.common.po.BaseEntity;
+import com.dy.common.util.DateTime;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
@@ -85,4 +88,10 @@
     public Double lossAmount;
 
 
+    public void valueFrom(DataV1_0_1 dV1_0_1, DataCdC0Vo cdData) throws Exception{
+        this.dt = DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt);
+        this.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt);
+        this.dtRtu = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
+        this.lossAmount = cdData.lossAmount ;// 鎹熷け娴侀噺(浠�0鏃跺埌褰撳墠鐨勬紡鎹熺疮璁℃祦閲忥紝24鏃朵竴涓懆鏈燂紝0鏃跺綊0)鍗曚綅涓簃3銆�
+    }
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossLast.java
index cf86424..5b5479d 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossLast.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossLast.java
@@ -5,7 +5,10 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCdC0Vo;
 import com.dy.common.po.BaseEntity;
+import com.dy.common.util.DateTime;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
@@ -91,5 +94,11 @@
     @Schema(description = "鏃ユ紡鎹熼噺锛坢3锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
     public Double lossAmount;
 
+    public void valueFrom(DataV1_0_1 dV1_0_1, DataCdC0Vo cdData) throws Exception{
+        this.dt = DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt);
+        this.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt);
+        this.dtRtu = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
+        this.lossAmount = cdData.lossAmount ;// 鎹熷け娴侀噺(浠�0鏃跺埌褰撳墠鐨勬紡鎹熺疮璁℃祦閲忥紝24鏃朵竴涓懆鏈燂紝0鏃跺綊0)鍗曚綅涓簃3銆�
+    }
 
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java
index 8950a0f..9eef5cf 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.po.BaseEntity;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
@@ -24,7 +25,7 @@
 @NoArgsConstructor
 @AllArgsConstructor
 @Schema(name = "鎺у埗鍣ㄥ紑鍏抽榾涓婃姤鏈�鏂版暟鎹�")
-public class RmOpenCloseValveLast {
+public class RmOpenCloseValveLast  implements BaseEntity {
 
     public static final long serialVersionUID = 202402231602001L;
     /**
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportHistory.java
index 8e6f9ee..313bc5c 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportHistory.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportHistory.java
@@ -5,6 +5,8 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd84Vo;
 import com.dy.common.mw.protocol.p206V202404.DataV202404;
 import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80_5BVo;
 import com.dy.common.po.BaseEntity;
@@ -252,4 +254,35 @@
         this.waterMeterTransVolt = cdData.waterMeterTransVolt ;
         this.waterMeterWorkVolt = cdData.waterMeterWorkVolt ;
     }
+
+
+    public void valueFrom(DataV1_0_1 dV1_0_1, DataCd84Vo cdData) throws Exception{
+        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt);
+        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
+        //this.orderNo = cdData.orderNo ;
+        //this.icCardAddr = cdData.icCardAddr ;
+        this.icCardNo = cdData.cardNo ;
+        //this.waterLevel = cdData.waterLevel ;
+        //this.waterPress = cdData.waterPress ;
+        this.waterInstant = cdData.instantAmount ;
+        this.waterTotal = cdData.totalAmount ;
+        //this.eleTotal = cdData.eleTotal ;
+        this.moneyRemain = cdData.remainMoney ;
+        //this.waterRemain = cdData.waterRemain ;
+        //this.thisEle = cdData.thisEle ;
+        //this.thisWater = cdData.thisWater ;
+        //this.thisMoney = cdData.thisMoney ;
+        //this.thisDuration = cdData.thisDuration ;
+        //this.waterPrice = cdData.waterPrice ;
+        //this.elePrice = cdData.elePrice ;
+        //this.aVolt = cdData.aVolt ;
+        //this.bVolt = cdData.bVolt ;
+        //this.cVolt = cdData.cVolt ;
+        //this.aCurrent = cdData.aCurrent ;
+        //this.bCurrent = cdData.bCurrent ;
+        //this.cCurrent = cdData.cCurrent ;
+        //this.batteryVolt = cdData.batteryVolt ;
+        //this.waterMeterTransVolt = cdData.waterMeterTransVolt ;
+        //this.waterMeterWorkVolt = cdData.waterMeterWorkVolt ;
+    }
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportLast.java
index 96b1308..c51c98f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportLast.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportLast.java
@@ -5,6 +5,8 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd84Vo;
 import com.dy.common.mw.protocol.p206V202404.DataV202404;
 import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80_5BVo;
 import com.dy.common.po.BaseEntity;
@@ -251,4 +253,35 @@
          this.waterMeterTransVolt = cdData.waterMeterTransVolt ;
          this.waterMeterWorkVolt = cdData.waterMeterWorkVolt ;
     }
+
+
+    public void valueFrom(DataV1_0_1 dV1_0_1, DataCd84Vo cdData) throws Exception{
+        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt);
+        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
+        //this.orderNo = cdData.orderNo ;
+        //this.icCardAddr = cdData.icCardAddr ;
+        this.icCardNo = cdData.cardNo ;
+        //this.waterLevel = cdData.waterLevel ;
+        //this.waterPress = cdData.waterPress ;
+        this.waterInstant = cdData.instantAmount ;
+        this.waterTotal = cdData.totalAmount ;
+        //this.eleTotal = cdData.eleTotal ;
+        this.moneyRemain = cdData.remainMoney ;
+        //this.waterRemain = cdData.waterRemain ;
+        //this.thisEle = cdData.thisEle ;
+        //this.thisWater = cdData.thisWater ;
+        //this.thisMoney = cdData.thisMoney ;
+        //this.thisDuration = cdData.thisDuration ;
+        //this.waterPrice = cdData.waterPrice ;
+        //this.elePrice = cdData.elePrice ;
+        //this.aVolt = cdData.aVolt ;
+        //this.bVolt = cdData.bVolt ;
+        //this.cVolt = cdData.cVolt ;
+        //this.aCurrent = cdData.aCurrent ;
+        //this.bCurrent = cdData.bCurrent ;
+        //this.cCurrent = cdData.cCurrent ;
+        //this.batteryVolt = cdData.batteryVolt ;
+        //this.waterMeterTransVolt = cdData.waterMeterTransVolt ;
+        //this.waterMeterWorkVolt = cdData.waterMeterWorkVolt ;
+    }
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
index 802e440..e5ec88e 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
@@ -3,6 +3,7 @@
 import com.dy.common.mw.protocol.Data;
 import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
 import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd83CloseVo;
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd83OpenVo;
 import com.dy.common.util.DateTime;
 import com.dy.pipIrrGlobal.pojoPr.PrController;
 import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory;
@@ -27,7 +28,6 @@
 
     //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷�
     public static final String taskId = "TkDealCloseValveReport" ;
-
     /**
      * 鎵ц鑺傜偣浠诲姟: 澶勭悊鎺у埗鍣ㄥ叧闃�涓婃姤
      * @param data 闇�瑕佸鐞嗙殑鏁版嵁
@@ -35,21 +35,20 @@
     @Override
     public void execute(Object data) {
         Data d = (Data) data;
-        Object subD = d.getSubData();
-        if (subD != null) {
-            DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD;
-//            if (dV1_0_1 != null && dV1_0_1.dataCd83CloseVo != null) {
-//                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
-//                DbSv sv = (DbSv)objs[0] ;
-//                PrController controller = (PrController)objs[1] ;
-//                try{
-//                    this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCd83CloseVo) ;
-//                }catch (Exception e){
-//                    log.error("淇濆瓨鎺у埗鍣ㄥ叧闃�涓婃姤鏃跺彂鐢熷紓甯�", e);
-//                }
-//            }
+        DataV1_0_1 dV1_0_1 = (DataV1_0_1) d.getSubData();
+        Object cdObj = dV1_0_1.subData;
+        if (cdObj != null && cdObj instanceof DataCd83CloseVo) {
+            Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
+            DbSv sv = (DbSv)objs[0] ;
+            PrController controller = (PrController)objs[1] ;
+            try{
+                this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCd83CloseVo)cdObj) ;
+            }catch (Exception e){
+                log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e);
+            }
         }
     }
+
     /**
      * 淇濆瓨鏁版嵁
      * @param sv 鏈嶅姟
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealControllerNoTramp.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealControllerNoTramp.java
index 3d324df..c67631e 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealControllerNoTramp.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealControllerNoTramp.java
@@ -1,6 +1,8 @@
 package com.dy.rtuMw.server.rtuData.p206V1_0_0;
 
+import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
 import com.dy.rtuMw.server.rtuData.TaskSurpport;
+import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -24,7 +26,10 @@
      */
     @Override
     public void execute(Object data) {
-        //姝や换鍔℃棤鍏蜂綋涓氬姟閫昏緫锛屽彧鏄湪浠诲姟xml閰嶇疆鏂囦欢涓紝妗嗕綇鍏跺瓙浠诲姟鑺傜偣
-        this.toNextTasks(data);
+        Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
+        PrControllerTramp tramp = (PrControllerTramp)objs[2] ;
+        if(tramp == null){
+            this.toNextTasks(data);
+        }
     }
 }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealControllerTramp.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealControllerTramp.java
index 1218314..4f53df5 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealControllerTramp.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealControllerTramp.java
@@ -6,6 +6,8 @@
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
+import java.util.Date;
+
 /**
  * @Author liurunyu
  * @Date 2024/1/15 16:29
@@ -33,7 +35,12 @@
         PrControllerTramp tramp = (PrControllerTramp)objs[2] ;
         if(tramp != null){
             DbSv sv = (DbSv)objs[0] ;
-            sv.savePrConctrollerTramp(tramp);
+            if(tramp.id == null){
+                sv.savePrConctrollerTramp(tramp);
+            }else{
+                tramp.findDt = new Date() ;
+                sv.updatePrConctrollerTramp(tramp) ;
+            }
         }
     }
 }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java
index 361434c..fb6b51f 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java
@@ -33,18 +33,16 @@
     @Override
     public void execute(Object data) {
         Data d = (Data) data;
-        Object subD = d.getSubData();
-        if (subD != null) {
-            DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD;
-            if (dV1_0_1 != null && dV1_0_1.subData != null && dV1_0_1.subData instanceof DataCdC0Vo) {
-                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId);
-                DbSv sv = (DbSv) objs[0];
-                PrController controller = (PrController) objs[1];
-                try {
-                    this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCdC0Vo)dV1_0_1.subData);
-                } catch (Exception e) {
-                    log.error("淇濆瓨閬ユ祴绔欒嚜鎶ュ疄鏃舵暟鎹腑鐨勬紡鎹熸暟鎹椂鍙戠敓寮傚父", e);
-                }
+        DataV1_0_1 dV1_0_1 = (DataV1_0_1) d.getSubData();//鍓嶉潰浠诲姟宸茬粡鍒ゆ柇涓嶄负null
+        Object cdObj = dV1_0_1.subData;
+        if (cdObj != null && cdObj instanceof DataCdC0Vo){
+            Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
+            DbSv sv = (DbSv)objs[0] ;
+            PrController controller = (PrController)objs[1] ;
+            try{
+                this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCdC0Vo)cdObj);
+            }catch (Exception e){
+                log.error("淇濆瓨閬ユ祴绔欒嚜鎶ュ疄鏃舵暟鎹腑鐨勬紡鎹熸暟鎹椂鍙戠敓寮傚父", e);
             }
         }
     }
@@ -93,7 +91,7 @@
                     this.newAndSaveHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCdC0Vo, poLast);
                     sv.saveRmLossLast(poLast);
                 }else{
-                    //杩欑鎯呭喌涓嶅瓨鍦紙鏀跺埌鏁版嵁鐨勬棩鏈熸棭浜庢湰鍦拌褰曚腑鐨勬棩鏈燂紝姝ょ鎯呭喌涓嶄細瀛樺湪锛�
+                    //杩欑鎯呭喌涓嶅瓨鍦紙RTU鏃堕挓鏃╀簬鏈湴璁板綍涓殑RTU鏃堕挓锛圧TU绌胯秺鍥炶繃鍘讳簡锛屽彲鑳芥椂閽熼噸缃簡锛夛紝姝ょ鎯呭喌涓嶅鐞嗭級
                 }
             }
         }
@@ -104,17 +102,16 @@
      * @param controller
      * @param rtuAddr
      * @param dV1_0_1
-     * @param dataCdC0Vo
+     * @param cdData
      * @return
      * @throws Exception
      */
-    private RmLossLast newRmLossLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo)throws Exception {
-        RmLossLast po = new RmLossLast(null, null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
-                rtuAddr,
-                DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt),
-                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
-                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt),
-                dataCdC0Vo.lossAmount) ;
+    private RmLossLast newRmLossLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData)throws Exception {
+        RmLossLast po = new RmLossLast() ;
+        po.controllerId = controller==null?null:controller.getId();
+        po.intakeId = controller==null?null:controller.getIntakeId();
+        po.rtuAddr = rtuAddr;
+        po.valueFrom(dV1_0_1, cdData) ;
         return po ;
     }
 
@@ -123,17 +120,16 @@
      * @param controller
      * @param rtuAddr
      * @param dV1_0_1
-     * @param dataCdC0Vo
+     * @param cdData
      * @return
      * @throws Exception
      */
-    private RmLossHistory newRmLossHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo)throws Exception {
-        RmLossHistory po = new RmLossHistory(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
-                rtuAddr,
-                DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt),
-                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
-                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt),
-                dataCdC0Vo.lossAmount) ;
+    private RmLossHistory newRmLossHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData)throws Exception {
+        RmLossHistory po = new RmLossHistory() ;
+        po.controllerId = controller==null?null:controller.getId();
+        po.intakeId = controller==null?null:controller.getIntakeId();
+        po.rtuAddr = rtuAddr;
+        po.valueFrom(dV1_0_1, cdData);
         return po ;
     }
 
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOnHourReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOnHourReport.java
index 2d5c015..5f9f604 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOnHourReport.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOnHourReport.java
@@ -82,8 +82,6 @@
             po.valueFrom(dV1_0_1, cdData);
             sv.updateRmOnHourReportLast(po);
         }
-
-
     }
 
 
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java
index 0c326bd..dd8d58a 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java
@@ -3,6 +3,7 @@
 import com.dy.common.mw.protocol.Data;
 import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
 import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd83OpenVo;
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd84Vo;
 import com.dy.common.util.DateTime;
 import com.dy.pipIrrGlobal.pojoPr.PrController;
 import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory;
@@ -33,21 +34,16 @@
     @Override
     public void execute(Object data) {
         Data d = (Data) data;
-        Object subD = d.getSubData();
-        if (subD != null) {
-            DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD;
-            if (dV1_0_1 != null && dV1_0_1.subData != null) {
-                if(dV1_0_1.subData instanceof DataCd83OpenVo){
-                    DataCd83OpenVo vo83 = (DataCd83OpenVo)dV1_0_1.subData ;
-                    Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
-                    DbSv sv = (DbSv)objs[0] ;
-                    PrController controller = (PrController)objs[1] ;
-                    try{
-                        this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, vo83) ;
-                    }catch (Exception e){
-                        log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e);
-                    }
-                }
+        DataV1_0_1 dV1_0_1 = (DataV1_0_1) d.getSubData();
+        Object cdObj = dV1_0_1.subData;
+        if (cdObj != null && cdObj instanceof DataCd83OpenVo) {
+            Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
+            DbSv sv = (DbSv)objs[0] ;
+            PrController controller = (PrController)objs[1] ;
+            try{
+                this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCd83OpenVo)cdObj) ;
+            }catch (Exception e){
+                log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e);
             }
         }
     }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java
index a1f920f..e7280fe 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java
@@ -5,7 +5,6 @@
 import com.dy.common.mw.protocol.Data;
 import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd84Vo;
 import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
-import com.dy.common.util.DateTime;
 import com.dy.pipIrrGlobal.pojoPr.PrController;
 import com.dy.pipIrrGlobal.pojoRm.RmWorkReportHistory;
 import com.dy.pipIrrGlobal.pojoRm.RmWorkReportLast;
@@ -32,19 +31,17 @@
     @Override
     public void execute(Object data) {
         Data d = (Data) data;
-        Object subD = d.getSubData();
-        if (subD != null) {
-            DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD;
-//            if (dV1_0_1 != null && dV1_0_1.dataCd84Vo != null) {
-//                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
-//                DbSv sv = (DbSv)objs[0] ;
-//                PrController controller = (PrController)objs[1] ;
-//                try{
-//                    this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCd84Vo) ;
-//                }catch (Exception e){
-//                    log.error("淇濆瓨鎺у埗鍣ㄩ榾寮�宸ヤ綔鎶ユ椂鍙戠敓寮傚父", e);
-//                }
-//            }
+        DataV1_0_1 dV1_0_1 = (DataV1_0_1) d.getSubData();//鍓嶉潰浠诲姟宸茬粡鍒ゆ柇涓嶄负null
+        Object cdObj = dV1_0_1.subData;
+        if (cdObj != null && cdObj instanceof DataCd84Vo) {
+            Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
+            DbSv sv = (DbSv)objs[0] ;
+            PrController controller = (PrController)objs[1] ;
+            try{
+                this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCd84Vo)cdObj) ;
+            }catch (Exception e){
+                log.error("淇濆瓨鎺у埗鍣ㄩ榾寮�宸ヤ綔鎶ユ椂鍙戠敓寮傚父", e);
+            }
         }
     }
     /**
@@ -65,32 +62,23 @@
      * @param controller
      * @param rtuAddr
      * @param dV1_0_1
-     * @param dataCd84Vo
+     * @param cdData
      */
-    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd84Vo dataCd84Vo) throws Exception {
-//        RmWorkReportLast po = sv.getRmWorkReportLast(rtuAddr) ;
-//        if(po == null){
-//            po = new RmWorkReportLast(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
-//                    rtuAddr,
-//                    DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
-//                    DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.rtuDt),
-//                    dataCd84Vo.cardNo,
-//                    dataCd84Vo.totalAmount,
-//                    dataCd84Vo.instantAmount,
-//                    dataCd84Vo.remainMoney) ;
-//            sv.saveRmWorkReportLast(po) ;
-//        }else{
-//            po.controllerId = controller==null?null:controller.getId();
-//            po.intakeId = controller==null?null:controller.getIntakeId();
-//
-//            po.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt);
-//            po.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.rtuDt);
-//            po.icCardNo = dataCd84Vo.cardNo;
-//            po.totalAmount = dataCd84Vo.totalAmount;
-//            po.instantAmount = dataCd84Vo.instantAmount;
-//            po.remainMoney = dataCd84Vo.remainMoney;
-//            sv.updateRmWorkReportLast(po);
-//        }
+    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd84Vo cdData) throws Exception {
+        RmWorkReportLast po = sv.getRmWorkReportLast(rtuAddr) ;
+        if(po == null){
+            po = new RmWorkReportLast() ;
+            po.controllerId = controller==null?null:controller.getId();
+            po.intakeId = controller==null?null:controller.getIntakeId();
+            po.rtuAddr = rtuAddr;
+            po.valueFrom(dV1_0_1, cdData);
+            sv.saveRmWorkReportLast(po) ;
+        }else{
+            po.controllerId = controller==null?null:controller.getId();
+            po.intakeId = controller==null?null:controller.getIntakeId();
+            po.valueFrom(dV1_0_1, cdData);
+            sv.updateRmWorkReportLast(po);
+        }
     }
     /**
      * 淇濆瓨闃�寮�宸ヤ綔鎶ュ巻鍙叉暟鎹�
@@ -98,18 +86,15 @@
      * @param controller
      * @param rtuAddr
      * @param dV1_0_1
-     * @param dataCd84Vo
+     * @param cdData
      */
-    private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd84Vo dataCd84Vo) throws Exception {
-//        RmWorkReportHistory po = new RmWorkReportHistory(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
-//                rtuAddr,
-//                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
-//                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.rtuDt),
-//                dataCd84Vo.cardNo,
-//                dataCd84Vo.totalAmount,
-//                dataCd84Vo.instantAmount,
-//                dataCd84Vo.remainMoney) ;
-//        sv.saveRmWorkReportHistory(po) ;
+    private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd84Vo cdData) throws Exception {
+        RmWorkReportHistory po = new RmWorkReportHistory();
+        po.controllerId = controller==null?null:controller.getId();
+        po.intakeId = controller==null?null:controller.getIntakeId();
+        po.rtuAddr = rtuAddr;
+        po.valueFrom(dV1_0_1, cdData);
+        sv.saveRmWorkReportHistory(po) ;
     }
 
 
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerNoTrampV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerNoTrampV202404.java
index 0a0723a..33c8cb4 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerNoTrampV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerNoTrampV202404.java
@@ -1,8 +1,12 @@
 package com.dy.rtuMw.server.rtuData.p206V202404;
 
+import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
 import com.dy.rtuMw.server.rtuData.TaskSurpport;
+import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+
+import java.util.Date;
 
 /**
  * @Author liurunyu
@@ -22,7 +26,10 @@
      */
     @Override
     public void execute(Object data) {
-        //姝や换鍔℃棤鍏蜂綋涓氬姟閫昏緫锛屽彧鏄湪浠诲姟xml閰嶇疆鏂囦欢涓紝妗嗕綇鍏跺瓙浠诲姟鑺傜偣
-        this.toNextTasks(data);
+        Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId) ;
+        PrControllerTramp tramp = (PrControllerTramp)objs[2] ;
+        if(tramp == null){
+            this.toNextTasks(data);
+        }
     }
 }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerTrampV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerTrampV202404.java
index 9f6d275..eb36205 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerTrampV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerTrampV202404.java
@@ -35,7 +35,6 @@
                 tramp.findDt = new Date() ;
                 sv.updatePrConctrollerTramp(tramp) ;
             }
-
         }
     }
 }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml
index a911f43..9b1f6c7 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml
@@ -16,11 +16,11 @@
 						<!-- 璇嗗埆闈炲懡浠ゅ簲绛斾笂琛屾暟鎹� -->
 						<task id="TkFindReport" name="璇嗗埆闈炲懡浠ゅ簲绛斾笂琛屾暟鎹�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkFindReport">
 							<task id="TkDealAlarmStatus" name="鎺у埗鍣ㄦ姤璀︿笌鐘舵�佹暟鎹�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealAlarmStatus" />
-							<task id="TkDealOnHourReport" name="鎺у埗鍣ㄨ嚜鎶ユ暟鎹紙鏁寸偣鎶ワ級" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealOnHourReport" />
-							<task id="TkDealWorkReport" name="鎺у埗鍣ㄩ榾寮�宸ヤ綔涓婃姤" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealWorkReport" />
-							<task id="TkDealOpenValveReport" name="鎺у埗鍣ㄥ紑闃�涓婃姤" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealOpenValveReport" />
-							<task id="TkDealCloseValveReport" name="鎺у埗鍣ㄥ叧闃�涓婃姤" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealCloseValveReport" />
-							<task id="TkDealLoss" name="鎺у埗鍣ㄦ紡鎹熺粺璁★紙寰呮柊鍗忚鍑烘潵鍚庝慨鏀瑰疄鐜帮級" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealLoss" />
+							<task id="TkDealOnHourReport" name="鎺у埗鍣ㄨ嚜鎶ユ暟鎹紙鏁寸偣鎶ワ級(鍔熻兘鐮丆0)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealOnHourReport" />
+							<task id="TkDealWorkReport" name="鎺у埗鍣ㄩ榾寮�宸ヤ綔涓婃姤(鍔熻兘鐮�84)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealWorkReport" />
+							<task id="TkDealOpenValveReport" name="鎺у埗鍣ㄥ紑闃�涓婃姤(鍔熻兘鐮�83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealOpenValveReport" />
+							<task id="TkDealCloseValveReport" name="鎺у埗鍣ㄥ叧闃�涓婃姤(鍔熻兘鐮�83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealCloseValveReport" />
+							<task id="TkDealLoss" name="鎺у埗鍣ㄦ紡鎹熺粺璁�(鍔熻兘鐮丆0)锛堝緟鏂板崗璁嚭鏉ュ悗淇敼瀹炵幇锛�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealLoss" />
 						</task>
 						<!-- 璇嗗埆鍛戒护鍝嶅簲鏁版嵁 -->
 						<task id="TkFindComResponse" name="璇嗗埆鍝嶅簲鍛戒护鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkFindComResponse">

--
Gitblit v1.8.0