From 5447abaae60e4d8d98c52c952a10d9c4ad6c06d6 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期四, 27 六月 2024 09:19:20 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java                       |   54 ++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmTimingReportLast.java                               |    3 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_12_Up.java                         |    6 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Down.java                       |   18 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd3CAnd65Vo.java                  |    2 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java                             |   47 +
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Down.java                       |    5 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOnHourReportLast.java                               |  127 ++++++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java                             |   53 ++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_12_Down.java                       |    6 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Up.java                         |    8 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6D_Down.java                       |    4 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml                                      |  208 ++++++++++
 /dev/null                                                                                                                    |  105 -----
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOnHourReport.java         |  107 +++++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java |    7 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6D_Up.java                         |    6 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Up.java                         |    8 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml                                               |    2 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java                          |   65 +++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml                                         |  216 ++++++++++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Up.java                         |    4 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOnHourReportHistory.java                            |  124 ++++++
 23 files changed, 1,024 insertions(+), 161 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 e794d02..67d963e 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
@@ -4,51 +4,68 @@
 	//鍔熻兘鐮佷负瀛楃涓诧紝鍗佸叚杩涘埗鏁版嵁
 	public static final String cd_02 = "02" ;//閬ユ祴绔欓摼璺娴�
 	public static final String cd_10 = "10" ;//璁剧疆閬ユ祴绔欑粓绔湴鍧�
+	public static final String cd_11 = "11" ;//璁剧疆閬ユ祴绔欐椂閽燂紙鏈疄鐜帮級
+	public static final String cd_12 = "12" ;//璁剧疆宸ヤ綔妯″紡锛堟湭瀹炵幇锛�
+	public static final String cd_1F = "1F" ;//璁剧疆娴侀噺鍙傛暟涓婇檺鍊硷紙鏈疄鐜帮級
 	public static final String cd_21 = "21" ;//璁剧疆鏈嶅姟绔疘P鍜岀鍙�
-	public static final String cd_35 = "35" ;//璁剧疆鑷姤鍛ㄦ湡
 	public static final String cd_36 = "36" ;//璁剧疆涓讳俊閬揑P鍜岀鍙�
 	public static final String cd_37 = "37" ;//璁剧疆娴侀噺閲囬泦鍛ㄦ湡
 	public static final String cd_38 = "38" ;//璁剧疆鐢ㄦ埛浣欓鎶ヨ鍊�
 	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_3D = "3D" ;//璁剧疆闃舵姘翠环
+    public static final String cd_3E = "3E" ;//璁剧疆榛戝悕鍗曪紙鏈疄鐜帮級
 	public static final String cd_50 = "50" ;//鏌ヨ閬ユ祴绔欑粓绔湴鍧�
+    public static final String cd_51 = "51" ;//鏌ヨ鏃堕挓锛堟湭瀹炵幇锛�
+    public static final String cd_52 = "52" ;//鏌ヨ宸ヤ綔妯″紡锛堟湭瀹炵幇锛�
+    public static final String cd_53 = "53" ;//鏌ヨ鑷姤绉嶇被鍙婃椂闂撮棿闅旓紙鏈疄鐜帮級
+    public static final String cd_5E = "5E" ;//鏌ヨ缁堢鐘舵�佸拰鎶ヨ鐘舵�侊紙鏈疄鐜帮級
 	public static final String cd_65 = "65" ;//鏌ヨ鑷姤鍛ㄦ湡
 	public static final String cd_66 = "66" ;//鏌ヨIP鍜岀鍙�
-	//public static final String cd_66 = "66" ;//鏌ヨ闃�闂ㄧ姸鎬�(闈虫�绘妸璇ュ懡浠よ璁℃垚鍙祴83鍔熻兘鐮佹暟鎹殑鍛戒护浜嗭紝鍥犱负杩欎釜鍛戒护鍥炴墽娌℃湁闃�闂ㄧ姸鎬佹暟鎹煙锛屾墍浠ヨ繖涓懡浠ゅ彧鑳戒綔涓哄彫娴嬪懡浠ょ敤浜�)
 	public static final String cd_67 = "67" ;//鏌ヨ娴侀噺閲囬泦鍛ㄦ湡
 	public static final String cd_68 = "68" ;//鏌ヨ鐢ㄦ埛浣欓鎶ヨ鍊�
 	public static final String cd_69 = "69" ;//鏌ヨ鐢垫睜鐢靛帇鎶ヨ鍊�
 	public static final String cd_6A = "6A" ;//鏌ヨ闃�闂ㄥ牭杞數娴佸��
 	public static final String cd_6B = "6B" ;//鏌ヨ闃�闂ㄨ秴鏃舵椂闂�
-	public static final String cd_71 = "71" ;//璁剧疆宸ヤ綔妯″紡锛堟潕澶╄祼鍒跺畾鐨勫崗璁紝褰撳墠鏈疄鐜帮級
+	public static final String cd_6D = "6D" ;//鏌ヨ闃舵姘翠环锛堟湭瀹炵幇锛�
 	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" ;//閬ユ帶鍏抽棴闃�闂�
+	public static final String cd_95 = "95" ;//澶嶄綅缁堢鍙傛暟鍜岀姸鎬侊紙鏈疄鐜帮級
 	public static final String cd_97 = "97" ;//APP杩滅▼寮�闃�
 	public static final String cd_98 = "98" ;//APP杩滅▼鍏抽榾
 	public static final String cd_99 = "99" ;//瀹氭椂鍏抽榾寮�闃�
 	public static final String cd_A0 = "A0" ;//瀹氶噺鍏抽榾寮�闃�
-	public static final String cd_3C = "3C" ;//璁剧疆姘翠环
-	public static final String cd_6C = "6C" ;//鏌ヨ姘翠环
-	public static final String cd_3D = "3D" ;//璁剧疆榛戝悕鍗�
+	public static final String cd_B0 = "B0" ;//鏌ヨ瀹炴椂鏁版嵁锛堟湭瀹炵幇锛�
 	public static final String cd_C0 = "C0" ;//閬ユ祴绔欒嚜鎶ュ疄鏃舵暟鎹�
 
-	public static String getCodeName(String code) {
+    public static String getCodeName(String code) {
 		String name = (code.equals(cd_02) ? "閾捐矾妫�娴�" :
-			(code.equals(cd_10) ? "璁剧疆閬ユ祴绔欑粓绔湴鍧�" :
+			(code.equals(cd_10) ? "璁剧疆缁堢鍦板潃" :
+			(code.equals(cd_11) ? "璁剧疆缁堢鏃堕挓" :
+			(code.equals(cd_12) ? "璁剧疆缁堢宸ヤ綔妯″紡" :
+			(code.equals(cd_1F) ? "璁剧疆娴侀噺鍙傛暟涓婇檺鍊�" :
 			(code.equals(cd_21) ? "璁剧疆IP鍜岀鍙�" :
-			(code.equals(cd_35) ? "璁剧疆鑷姤鍛ㄦ湡" :
 			(code.equals(cd_36) ? "璁剧疆IP鍜岀鍙�" :
 			(code.equals(cd_37) ? "璁剧疆娴侀噺閲囬泦鍛ㄦ湡" :
 			(code.equals(cd_38) ? "璁剧疆鐢ㄦ埛浣欓鎶ヨ鍊�" :
 			(code.equals(cd_39) ? "璁剧疆鐢垫睜鐢靛帇鎶ヨ鍊�" :
 			(code.equals(cd_3A) ? "璁剧疆闃�闂ㄥ牭杞數娴�" :
 			(code.equals(cd_3B) ? "璁剧疆闃�闂ㄨ秴鏃舵椂闂�" :
-			(code.equals(cd_50) ? "鏌ヨ閬ユ祴绔欑粓绔湴鍧�" :
+            (code.equals(cd_3C) ? "璁剧疆鑷姤鍛ㄦ湡" :
+            (code.equals(cd_3D) ? "璁剧疆姘翠环" :
+            (code.equals(cd_3E) ? "璁剧疆榛戝悕鍗�" :
+			(code.equals(cd_50) ? "鏌ヨ缁堢鍦板潃" :
+			(code.equals(cd_51) ? "鏌ヨ缁堢鏃堕挓" :
+			(code.equals(cd_52) ? "鏌ヨ缁堢宸ヤ綔妯″紡" :
+			(code.equals(cd_53) ? "鏌ヨ鑷姤绉嶇被鍙婃椂闂撮棿闅�" :
+			(code.equals(cd_5E) ? "鏌ヨ缁堢鐘舵�佸拰鎶ヨ鐘舵��" :
 			(code.equals(cd_65) ? "鏌ヨ鑷姤鍛ㄦ湡" :
 			(code.equals(cd_66) ? "鏌ヨIP鍜岀鍙�" :
 			(code.equals(cd_67) ? "鏌ヨ娴侀噺閲囬泦鍛ㄦ湡" :
@@ -56,22 +73,22 @@
 			(code.equals(cd_69) ? "鏌ヨ鐢垫睜鐢靛帇鎶ヨ鍊�" :
 			(code.equals(cd_6A) ? "鏌ヨ闃�闂ㄥ牭杞數娴佸��" :
 			(code.equals(cd_6B) ? "鏌ヨ闃�闂ㄨ秴鏃舵椂闂�" :
-			(code.equals(cd_71) ? "璁剧疆宸ヤ綔妯″紡" :
+            (code.equals(cd_6D) ? "鏌ヨ姘翠环" :
 			(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) ? "閬ユ帶鍏抽棴闃�闂�" :
+			(code.equals(cd_95) ? "澶嶄綅缁堢鍙傛暟鍜岀姸鎬�" :
 			(code.equals(cd_97) ? "APP杩滅▼寮�闃�" :
 			(code.equals(cd_98) ? "APP杩滅▼鍏抽榾" :
 			(code.equals(cd_99) ? "瀹氭椂鍏抽榾寮�闃�" :
 			(code.equals(cd_A0) ? "瀹氶噺鍏抽榾寮�闃�" :
-			(code.equals(cd_3C) ? "璁剧疆姘翠环" :
-			(code.equals(cd_6C) ? "鏌ヨ姘翠环" :
-			(code.equals(cd_3D) ? "璁剧疆榛戝悕鍗�" :
+			(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/parse/Cd_71_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_12_Down.java
similarity index 95%
rename from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Down.java
rename to pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_12_Down.java
index 9d7e002..0bee0b1 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_12_Down.java
@@ -9,11 +9,11 @@
 import com.dy.common.util.ByteUtil;
 
 @AnnotationCodeDown(ifAny={
-        CodeV1_0_1.cd_71
+        CodeV1_0_1.cd_12
 })
-public class Cd_71_Down implements CodeParse {
+public class Cd_12_Down implements CodeParse {
 
-    //private static Logger log = LogManager.getLogger(Cd_71_Down.class);
+    //private static Logger log = LogManager.getLogger(Cd_12_Down.class);
 
     @Override
     public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_12_Up.java
similarity index 94%
rename from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Up.java
rename to pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_12_Up.java
index 0df3b8b..be3d81d 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_12_Up.java
@@ -7,12 +7,12 @@
 import org.apache.logging.log4j.Logger;
 
 @AnnotationCodeUp(ifAny={
-        CodeV1_0_1.cd_71
+        CodeV1_0_1.cd_12
 })
 @SuppressWarnings("unused")
-public class Cd_71_Up implements CodeParse {
+public class Cd_12_Up implements CodeParse {
 
-    private static final Logger log = LogManager.getLogger(Cd_71_Up.class);
+    private static final Logger log = LogManager.getLogger(Cd_12_Up.class);
 
     /**
      * 鍒嗘瀽涓婅鏁版嵁
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
deleted file mode 100644
index df34fc2..0000000
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Down.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package com.dy.common.mw.protocol.p206V1_0_0.parse;
-
-import com.dy.common.mw.protocol.*;
-import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1;
-import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1;
-import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1;
-import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0;
-import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate;
-import com.dy.common.util.ByteUtil;
-import com.dy.common.util.ByteUtilUnsigned;
-
-/**
- * @Author liurunyu
- * @Date 2024/4/10 18:26
- * @LastEditTime 2024/4/10 18:26
- * @Description 璁剧疆姘翠环
- */
-@AnnotationCodeDown(ifAny={
-        CodeV1_0_1.cd_35
-})
-public class Cd_35_Down implements CodeParse {
-
-    @Override
-    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
-        ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ;
-        byte[] bs = this.doParse(para) ;
-
-        MidResultToRtu midRs = new MidResultToRtu() ;
-        midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL
-        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
-
-        if(isLowPower != null && isLowPower.booleanValue()){
-            //浣庡姛鑰楁椂锛屽敖蹇彂閫�
-            midRs.isQuickSend = true ;
-        }
-
-        return new MidResult[]{midRs} ;
-    }
-
-    /**
-     * 鏋勯�犱笅琛屾暟鎹�
-     * @param para 鍙傛暟
-     * @return 瀛楄妭鏁扮粍
-     * @throws Exception 寮傚父
-     */
-    public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception {
-        CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ;
-        byte[] bytes ;
-        byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ;
-        byte index = 0 ;
-        bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ;
-
-        index++ ;
-        bsHead[index] = 0 ;//甯ч暱搴�
-
-        index++ ;
-        bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ;
-
-        index++ ;
-        bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ;
-
-        index++ ;
-        GlCreate.createRtuAddr(para.rtuAddr, bsHead, index);
-        index += 5 ;
-
-        ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ;
-
-        if(para.param == null){
-            throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ;
-        }else{
-            index = 0 ;
-            byte[] bs = new byte[10] ;
-            Integer minute = (Integer)para.param ;
-            ByteUtilUnsigned.short2Bytes_LE(bs, minute.shortValue(), index);
-            index += 2 ;
-            GlCreate.createPw(bs, index);
-            index += 2 ;
-            GlCreate.createTp(bs, index);
-            bytes = ByteUtil.bytesMerge(bsHead, bs) ;
-        }
-
-        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/p206V1_0_0/parse/Cd_35_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Up.java
deleted file mode 100644
index cfe0b79..0000000
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Up.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package com.dy.common.mw.protocol.p206V1_0_0.parse;
-
-import com.dy.common.mw.protocol.*;
-import com.dy.common.mw.protocol.p206V1_0_0.*;
-import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd35And65Vo;
-import com.dy.common.util.ByteUtilUnsigned;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-/**
- * @Author liurunyu
- * @Date 2024/4/10 18:42
- * @LastEditTime 2024/4/10 18:42
- * @Description
- */
-@AnnotationCodeUp(ifAny={
-        CodeV1_0_1.cd_35
-})
-public class Cd_35_Up implements CodeParse {
-
-    private static final Logger log = LogManager.getLogger(Cd_35_Up.class);
-
-    /**
-     * 鍒嗘瀽涓婅鏁版嵁
-     */
-    @Override
-    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
-        ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ;
-        int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ;
-        if(bsLen > 0){
-            this.doParse(para.upBuffer,
-                    bsLen,
-                    para.upCode,
-                    para.data) ;
-        }
-        log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.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 {
-        DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ;
-        DataCd35And65Vo cdData = new DataCd35And65Vo() ;
-        dV1.subData = cdData ;
-        int minute = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ;
-        cdData.minute = minute;
-    }
-
-}
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 98c53c8..96bf643 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
@@ -78,9 +78,8 @@
         }else{
             index = 0 ;
             byte[] bs = new byte[10] ;
-            Double priceDb = ((Double)para.param) * 100 ;
-            Integer priceInt = priceDb.intValue() ;
-            ByteUtilUnsigned.short2Bytes_LE(bs, priceInt.shortValue(), index);
+            Integer minute = (Integer)para.param ;
+            ByteUtilUnsigned.short2Bytes_LE(bs, minute.shortValue(), index);
             index += 2 ;
             GlCreate.createPw(bs, index);
             index += 2 ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Up.java
index 5c748d1..e1ec234 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Up.java
@@ -2,7 +2,7 @@
 
 import com.dy.common.mw.protocol.*;
 import com.dy.common.mw.protocol.p206V1_0_0.*;
-import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd3CVo;
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd3CAnd65Vo;
 import com.dy.common.util.ByteUtilUnsigned;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -58,10 +58,10 @@
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
         DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ;
-        DataCd3CVo cdData = new DataCd3CVo() ;
+        DataCd3CAnd65Vo cdData = new DataCd3CAnd65Vo() ;
         dV1.subData = cdData ;
-        int priceInt = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ;
-        cdData.price = priceInt/100.0D;
+        int minute = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ;
+        cdData.minute = minute;
     }
 
 }
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 5387d72..b8c2557 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
@@ -11,9 +11,9 @@
 
 /**
  * @Author liurunyu
- * @Date 2024/4/10 18:51
- * @LastEditTime 2024/4/10 18:51
- * @Description
+ * @Date 2024/4/10 18:26
+ * @LastEditTime 2024/4/10 18:26
+ * @Description 璁剧疆姘翠环
  */
 @AnnotationCodeDown(ifAny={
         CodeV1_0_1.cd_3D
@@ -77,11 +77,11 @@
             throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ;
         }else{
             index = 0 ;
-            byte[] bs = new byte[12] ;
-            String icCardNo = ((String)para.param) ;
-            Integer icCardNoInt = Integer.valueOf(icCardNo);
-            ByteUtilUnsigned.int2Bytes_LE(bs, icCardNoInt, index);
-            index += 4 ;
+            byte[] bs = new byte[10] ;
+            Double priceDb = ((Double)para.param) * 100 ;
+            Integer priceInt = priceDb.intValue() ;
+            ByteUtilUnsigned.short2Bytes_LE(bs, priceInt.shortValue(), index);
+            index += 2 ;
             GlCreate.createPw(bs, index);
             index += 2 ;
             GlCreate.createTp(bs, index);
@@ -97,4 +97,4 @@
         return bytes ;
     }
 
-}
\ No newline at end of file
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Up.java
index 866626a..b8063d6 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Up.java
@@ -2,7 +2,7 @@
 
 import com.dy.common.mw.protocol.*;
 import com.dy.common.mw.protocol.p206V1_0_0.*;
-import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd3DVo;
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd3CVo;
 import com.dy.common.util.ByteUtilUnsigned;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -58,10 +58,10 @@
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
         DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ;
-        DataCd3DVo cdData = new DataCd3DVo() ;
+        DataCd3CVo cdData = new DataCd3CVo() ;
         dV1.subData = cdData ;
-        Long v = ByteUtilUnsigned.bytes2Int_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ;
-        cdData.icCardNo = "" + v;
+        int priceInt = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ;
+        cdData.price = priceInt/100.0D;
     }
 
 }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Up.java
index 934f557..704df8c 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Up.java
@@ -2,7 +2,7 @@
 
 import com.dy.common.mw.protocol.*;
 import com.dy.common.mw.protocol.p206V1_0_0.*;
-import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd35And65Vo;
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd3CAnd65Vo;
 import com.dy.common.util.ByteUtilUnsigned;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -58,7 +58,7 @@
      */
     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
         DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ;
-        DataCd35And65Vo cdData = new DataCd35And65Vo() ;
+        DataCd3CAnd65Vo cdData = new DataCd3CAnd65Vo() ;
         dV1.subData = cdData ;
         int minute = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ;
         cdData.minute =minute ;
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_6D_Down.java
similarity index 97%
rename from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Down.java
rename to pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6D_Down.java
index aeb1980..c77a657 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_6D_Down.java
@@ -16,9 +16,9 @@
  * @Description
  */
 @AnnotationCodeDown(ifAny={
-        CodeV1_0_1.cd_6C
+        CodeV1_0_1.cd_6D
 })
-public class Cd_6C_Down implements CodeParse {
+public class Cd_6D_Down implements CodeParse {
 
     @Override
     public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6D_Up.java
similarity index 94%
rename from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Up.java
rename to pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6D_Up.java
index eafb6d7..715fc87 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6D_Up.java
@@ -14,11 +14,11 @@
  * @Description
  */
 @AnnotationCodeUp(ifAny={
-        CodeV1_0_1.cd_6C
+        CodeV1_0_1.cd_6D
 })
-public class Cd_6C_Up implements CodeParse {
+public class Cd_6D_Up implements CodeParse {
 
-    private static final Logger log = LogManager.getLogger(Cd_6C_Up.class);
+    private static final Logger log = LogManager.getLogger(Cd_6D_Up.class);
 
     /**
      * 鍒嗘瀽涓婅鏁版嵁
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd35And65Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd3CAnd65Vo.java
similarity index 93%
rename from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd35And65Vo.java
rename to pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd3CAnd65Vo.java
index f361a1f..67da1f0 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd35And65Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd3CAnd65Vo.java
@@ -9,7 +9,7 @@
  * @Description
  */
 @Data
-public class DataCd35And65Vo {
+public class DataCd3CAnd65Vo {
     public Integer minute ;
 
     public String toString(){
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java
new file mode 100644
index 0000000..e586066
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java
@@ -0,0 +1,54 @@
+package com.dy.pipIrrGlobal.daoRm;
+
+import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/6/26 21:32
+ * @Description
+ */
+@Mapper
+public interface RmOnHourReportHistoryMapper {
+    /**
+     * delete by primary key
+     * @param id primaryKey
+     * @return deleteCount
+     */
+    int deleteByPrimaryKey(Long id);
+
+    /**
+     * insert record to table
+     * @param record the record
+     * @return insert count
+     */
+    int insert(RmOnHourReportHistory record);
+
+    /**
+     * insert record to table selective
+     * @param record the record
+     * @return insert count
+     */
+    int insertSelective(RmOnHourReportHistory record);
+
+    /**
+     * select by primary key
+     * @param id primary key
+     * @return object by primary key
+     */
+    RmOnHourReportHistory selectByPrimaryKey(Long id);
+
+    /**
+     * update record selective
+     * @param record the updated record
+     * @return update count
+     */
+    int updateByPrimaryKeySelective(RmOnHourReportHistory record);
+
+    /**
+     * update record
+     * @param record the updated record
+     * @return update count
+     */
+    int updateByPrimaryKey(RmOnHourReportHistory record);
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java
new file mode 100644
index 0000000..82153f3
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java
@@ -0,0 +1,65 @@
+package com.dy.pipIrrGlobal.daoRm;
+
+import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/6/26 21:15
+ * @Description
+ */
+@Mapper
+public interface RmOnHourReportLastMapper {
+    /**
+     * delete by primary key
+     * @param id primaryKey
+     * @return deleteCount
+     */
+    int deleteByPrimaryKey(Long id);
+
+    /**
+     * insert record to table
+     * @param record the record
+     * @return insert count
+     */
+    int insert(RmOnHourReportLast record);
+
+    /**
+     * insert record to table selective
+     * @param record the record
+     * @return insert count
+     */
+    int insertSelective(RmOnHourReportLast record);
+
+    /**
+     * select by primary key
+     * @param id primary key
+     * @return object by primary key
+     */
+    RmOnHourReportLast selectByPrimaryKey(Long id);
+
+    /**
+     * update record selective
+     * @param record the updated record
+     * @return update count
+     */
+    int updateByPrimaryKeySelective(RmOnHourReportLast record);
+
+    /**
+     * update record
+     * @param record the updated record
+     * @return update count
+     */
+    int updateByPrimaryKey(RmOnHourReportLast record);
+
+
+
+    /**
+     * 鏍规嵁闃�鎺у櫒鍦板潃鑾峰彇鏁寸偣涓婃姤鏈�鏂版暟鎹�
+     * @param rtuAddr
+     * @return
+     */
+    List<RmOnHourReportLast> getRmOnHourReportLast(String rtuAddr);
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOnHourReportHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOnHourReportHistory.java
new file mode 100644
index 0000000..e5f3beb
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOnHourReportHistory.java
@@ -0,0 +1,124 @@
+package com.dy.pipIrrGlobal.pojoRm;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+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.*;
+
+import java.util.Date;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/6/26 21:32
+ * @Description
+ */
+/**
+ * 鎺у埗鍣ㄦ暣鐐规姤锛堝彧鏈夐澇鎬诲崗璁湁锛�
+ */
+
+@TableName(value="rm_on_hour_report_last", autoResultMap = true)
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+@Schema(name = "鎺у埗鍣ㄦ暣鐐规姤鍘嗗彶鏁版嵁")
+public class RmOnHourReportHistory implements BaseEntity {
+    public static final long serialVersionUID = 202406262133001L;
+    /**
+     * 涓婚敭
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    @TableId(type = IdType.INPUT)
+    public Long id;
+
+    /**
+     * 鎺у埗鍣ㄥ疄浣揑D(澶栭敭)
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    public Long controllerId;
+
+    /**
+     * 鍙栨按鍙e疄浣揑D锛堝閿級
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    public Long intakeId;
+
+    /**
+     * 鎺у埗鍣ㄥ湴鍧�
+
+     */
+    public String rtuAddr;
+
+    /**
+     * 鏁版嵁鎺ユ敹鏃ユ湡鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    public Date dt;
+
+    /**
+     * 鎺у埗鍣ㄦ椂閽�
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    public Date rtuDt;
+
+    /**
+     * 鐬椂娴侀噺,鍗曚綅涓簃3/h
+     */
+    public Double instantAmount;
+
+    /**
+     * 绱娴侀噺,鍗曚綅涓簃3
+     */
+    public Double totalAmount;
+
+    /**
+     * 鎹熷け娴侀噺(浠�0鏃跺埌褰撳墠鐨勬紡鎹熺疮璁℃祦閲忥紝24鏃朵竴涓懆鏈燂紝0鏃跺綊0)鍗曚綅涓簃3銆�
+     */
+    public Double lossAmount;
+
+    /**
+     * 姘村帇,鍗曚綅涓篕Pa
+     */
+    public Double waterPress;
+
+    /**
+     * 钃勭數姹犵數鍘嬶紝鍗曚綅涓篤
+     */
+    public Double batteryVolt;
+
+    /**
+     * 澶槼鑳界數鍘嬶紝鍗曚綅涓篤
+     */
+    public Double sunVolt;
+
+    /**
+     * 淇″彿寮哄害锛屽彇鍊艰寖鍥�0~99
+     */
+    public Integer signalValue;
+
+    /**
+     * 姘翠环锛屽崟浣嶄负鍏�
+     */
+    public Double waterPrice;
+    public void valueFrom(DataV1_0_1 dV1_0_1, DataCdC0Vo 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.instantAmount = cdData.instantAmount; //鐬椂娴侀噺,鍗曚綅涓簃3/h
+        this.totalAmount = cdData.totalAmount ;//绱娴侀噺,鍗曚綅涓簃3
+        this.lossAmount = cdData.lossAmount ;// 鎹熷け娴侀噺(浠�0鏃跺埌褰撳墠鐨勬紡鎹熺疮璁℃祦閲忥紝24鏃朵竴涓懆鏈燂紝0鏃跺綊0)鍗曚綅涓簃3銆�
+        this.waterPress = cdData.waterPress ;// 姘村帇,鍗曚綅涓篕Pa
+        this.batteryVolt = cdData.batteryVolt ;// 钃勭數姹犵數鍘嬶紝鍗曚綅涓篤
+        this.sunVolt = cdData.sunVolt ;//  澶槼鑳界數鍘嬶紝鍗曚綅涓篤
+        this.signalValue = cdData.signalValue ;//  淇″彿寮哄害锛屽彇鍊艰寖鍥�0~99
+        this.waterPrice = cdData.waterPrice ;//  姘翠环锛屽崟浣嶄负鍏冦��
+    }
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOnHourReportLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOnHourReportLast.java
new file mode 100644
index 0000000..dfcf02f
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOnHourReportLast.java
@@ -0,0 +1,127 @@
+package com.dy.pipIrrGlobal.pojoRm;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+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.*;
+
+import java.util.Date;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/6/26 21:15
+ * @Description
+ */
+/**
+ * 鎺у埗鍣ㄦ暣鐐规姤锛堝彧鏈夐澇鎬诲崗璁湁锛�
+ */
+
+@TableName(value="rm_on_hour_report_last", autoResultMap = true)
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+@Schema(name = "鎺у埗鍣ㄦ暣鐐规姤鏈�鏂版暟鎹�")
+public class RmOnHourReportLast  implements BaseEntity {
+    public static final long serialVersionUID = 202406262117001L;
+    /**
+    * 涓婚敭
+    */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    @TableId(type = IdType.INPUT)
+    public Long id;
+
+    /**
+    * 鎺у埗鍣ㄥ疄浣揑D(澶栭敭)
+    */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    public Long controllerId;
+
+    /**
+    * 鍙栨按鍙e疄浣揑D锛堝閿級
+    */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    public Long intakeId;
+
+    /**
+    * 鎺у埗鍣ㄥ湴鍧�
+
+    */
+    public String rtuAddr;
+
+    /**
+    * 鏁版嵁鎺ユ敹鏃ユ湡鏃堕棿
+    */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    public Date dt;
+
+    /**
+    * 鎺у埗鍣ㄦ椂閽�
+    */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    public Date rtuDt;
+
+    /**
+    * 鐬椂娴侀噺,鍗曚綅涓簃3/h
+    */
+    public Double instantAmount;
+
+    /**
+    * 绱娴侀噺,鍗曚綅涓簃3
+    */
+    public Double totalAmount;
+
+    /**
+    * 鎹熷け娴侀噺(浠�0鏃跺埌褰撳墠鐨勬紡鎹熺疮璁℃祦閲忥紝24鏃朵竴涓懆鏈燂紝0鏃跺綊0)鍗曚綅涓簃3銆�
+    */
+    public Double lossAmount;
+
+    /**
+    * 姘村帇,鍗曚綅涓篕Pa
+    */
+    public Double waterPress;
+
+    /**
+    * 钃勭數姹犵數鍘嬶紝鍗曚綅涓篤
+    */
+    public Double batteryVolt;
+
+    /**
+    * 澶槼鑳界數鍘嬶紝鍗曚綅涓篤
+    */
+    public Double sunVolt;
+
+    /**
+    * 淇″彿寮哄害锛屽彇鍊艰寖鍥�0~99
+    */
+    public Integer signalValue;
+
+    /**
+    * 姘翠环锛屽崟浣嶄负鍏�
+    */
+    public Double waterPrice;
+
+
+    public void valueFrom(DataV1_0_1 dV1_0_1, DataCdC0Vo 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.instantAmount = cdData.instantAmount; //鐬椂娴侀噺,鍗曚綅涓簃3/h
+        this.totalAmount = cdData.totalAmount ;//绱娴侀噺,鍗曚綅涓簃3
+        this.lossAmount = cdData.lossAmount ;// 鎹熷け娴侀噺(浠�0鏃跺埌褰撳墠鐨勬紡鎹熺疮璁℃祦閲忥紝24鏃朵竴涓懆鏈燂紝0鏃跺綊0)鍗曚綅涓簃3銆�
+        this.waterPress = cdData.waterPress ;// 姘村帇,鍗曚綅涓篕Pa
+        this.batteryVolt = cdData.batteryVolt ;// 钃勭數姹犵數鍘嬶紝鍗曚綅涓篤
+        this.sunVolt = cdData.sunVolt ;//  澶槼鑳界數鍘嬶紝鍗曚綅涓篤
+        this.signalValue = cdData.signalValue ;//  淇″彿寮哄害锛屽彇鍊艰寖鍥�0~99
+        this.waterPrice = cdData.waterPrice ;//  姘翠环锛屽崟浣嶄负鍏冦��
+    }
+
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmTimingReportLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmTimingReportLast.java
index 4a9469b..70af947 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmTimingReportLast.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmTimingReportLast.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.DataCdC0Vo;
 import com.dy.common.mw.protocol.p206V202404.DataV202404;
 import com.dy.common.mw.protocol.p206V202404.upVos.DataCd83Vo;
 import com.dy.common.po.BaseEntity;
@@ -130,4 +132,5 @@
         this.lossTotalAmountDay = cdData.lossTotalAmountDay ;//  婕忔崯姘撮噺
         this.batteryVolt = cdData.batteryVolt ;// 鍚庡鐢垫睜鐢靛帇
     }
+
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
new file mode 100644
index 0000000..ec8521a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmOnHourReportHistoryMapper">
+  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory">
+    <!--@mbg.generated-->
+    <!--@Table rm_on_hour_report_history-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="controller_id" jdbcType="BIGINT" property="controllerId" />
+    <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
+    <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr" />
+    <result column="dt" jdbcType="TIMESTAMP" property="dt" />
+    <result column="rtu_dt" jdbcType="TIMESTAMP" property="rtuDt" />
+    <result column="instant_amount" jdbcType="FLOAT" property="instantAmount" />
+    <result column="total_amount" jdbcType="FLOAT" property="totalAmount" />
+    <result column="loss_amount" jdbcType="FLOAT" property="lossAmount" />
+    <result column="water_press" jdbcType="FLOAT" property="waterPress" />
+    <result column="battery_volt" jdbcType="FLOAT" property="batteryVolt" />
+    <result column="sun_volt" jdbcType="FLOAT" property="sunVolt" />
+    <result column="signal_value" jdbcType="INTEGER" property="signalValue" />
+    <result column="water_price" jdbcType="FLOAT" property="waterPrice" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, controller_id, intake_id, rtu_addr, dt, rtu_dt, instant_amount, total_amount, 
+    loss_amount, water_press, battery_volt, sun_volt, signal_value, water_price
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    <!--@mbg.generated-->
+    select 
+    <include refid="Base_Column_List" />
+    from rm_on_hour_report_history
+    where id = #{id,jdbcType=BIGINT}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    <!--@mbg.generated-->
+    delete from rm_on_hour_report_history
+    where id = #{id,jdbcType=BIGINT}
+  </delete>
+  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory">
+    <!--@mbg.generated-->
+    insert into rm_on_hour_report_history (id, controller_id, intake_id, 
+      rtu_addr, dt, rtu_dt, 
+      instant_amount, total_amount, loss_amount, 
+      water_press, battery_volt, sun_volt, 
+      signal_value, water_price)
+    values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, 
+      #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP}, 
+      #{instantAmount,jdbcType=FLOAT}, #{totalAmount,jdbcType=FLOAT}, #{lossAmount,jdbcType=FLOAT}, 
+      #{waterPress,jdbcType=FLOAT}, #{batteryVolt,jdbcType=FLOAT}, #{sunVolt,jdbcType=FLOAT}, 
+      #{signalValue,jdbcType=INTEGER}, #{waterPrice,jdbcType=FLOAT})
+  </insert>
+  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory">
+    <!--@mbg.generated-->
+    insert into rm_on_hour_report_history
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="controllerId != null">
+        controller_id,
+      </if>
+      <if test="intakeId != null">
+        intake_id,
+      </if>
+      <if test="rtuAddr != null">
+        rtu_addr,
+      </if>
+      <if test="dt != null">
+        dt,
+      </if>
+      <if test="rtuDt != null">
+        rtu_dt,
+      </if>
+      <if test="instantAmount != null">
+        instant_amount,
+      </if>
+      <if test="totalAmount != null">
+        total_amount,
+      </if>
+      <if test="lossAmount != null">
+        loss_amount,
+      </if>
+      <if test="waterPress != null">
+        water_press,
+      </if>
+      <if test="batteryVolt != null">
+        battery_volt,
+      </if>
+      <if test="sunVolt != null">
+        sun_volt,
+      </if>
+      <if test="signalValue != null">
+        signal_value,
+      </if>
+      <if test="waterPrice != null">
+        water_price,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=BIGINT},
+      </if>
+      <if test="controllerId != null">
+        #{controllerId,jdbcType=BIGINT},
+      </if>
+      <if test="intakeId != null">
+        #{intakeId,jdbcType=BIGINT},
+      </if>
+      <if test="rtuAddr != null">
+        #{rtuAddr,jdbcType=VARCHAR},
+      </if>
+      <if test="dt != null">
+        #{dt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="rtuDt != null">
+        #{rtuDt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="instantAmount != null">
+        #{instantAmount,jdbcType=FLOAT},
+      </if>
+      <if test="totalAmount != null">
+        #{totalAmount,jdbcType=FLOAT},
+      </if>
+      <if test="lossAmount != null">
+        #{lossAmount,jdbcType=FLOAT},
+      </if>
+      <if test="waterPress != null">
+        #{waterPress,jdbcType=FLOAT},
+      </if>
+      <if test="batteryVolt != null">
+        #{batteryVolt,jdbcType=FLOAT},
+      </if>
+      <if test="sunVolt != null">
+        #{sunVolt,jdbcType=FLOAT},
+      </if>
+      <if test="signalValue != null">
+        #{signalValue,jdbcType=INTEGER},
+      </if>
+      <if test="waterPrice != null">
+        #{waterPrice,jdbcType=FLOAT},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory">
+    <!--@mbg.generated-->
+    update rm_on_hour_report_history
+    <set>
+      <if test="controllerId != null">
+        controller_id = #{controllerId,jdbcType=BIGINT},
+      </if>
+      <if test="intakeId != null">
+        intake_id = #{intakeId,jdbcType=BIGINT},
+      </if>
+      <if test="rtuAddr != null">
+        rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
+      </if>
+      <if test="dt != null">
+        dt = #{dt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="rtuDt != null">
+        rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="instantAmount != null">
+        instant_amount = #{instantAmount,jdbcType=FLOAT},
+      </if>
+      <if test="totalAmount != null">
+        total_amount = #{totalAmount,jdbcType=FLOAT},
+      </if>
+      <if test="lossAmount != null">
+        loss_amount = #{lossAmount,jdbcType=FLOAT},
+      </if>
+      <if test="waterPress != null">
+        water_press = #{waterPress,jdbcType=FLOAT},
+      </if>
+      <if test="batteryVolt != null">
+        battery_volt = #{batteryVolt,jdbcType=FLOAT},
+      </if>
+      <if test="sunVolt != null">
+        sun_volt = #{sunVolt,jdbcType=FLOAT},
+      </if>
+      <if test="signalValue != null">
+        signal_value = #{signalValue,jdbcType=INTEGER},
+      </if>
+      <if test="waterPrice != null">
+        water_price = #{waterPrice,jdbcType=FLOAT},
+      </if>
+    </set>
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory">
+    <!--@mbg.generated-->
+    update rm_on_hour_report_history
+    set controller_id = #{controllerId,jdbcType=BIGINT},
+      intake_id = #{intakeId,jdbcType=BIGINT},
+      rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
+      dt = #{dt,jdbcType=TIMESTAMP},
+      rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
+      instant_amount = #{instantAmount,jdbcType=FLOAT},
+      total_amount = #{totalAmount,jdbcType=FLOAT},
+      loss_amount = #{lossAmount,jdbcType=FLOAT},
+      water_press = #{waterPress,jdbcType=FLOAT},
+      battery_volt = #{batteryVolt,jdbcType=FLOAT},
+      sun_volt = #{sunVolt,jdbcType=FLOAT},
+      signal_value = #{signalValue,jdbcType=INTEGER},
+      water_price = #{waterPrice,jdbcType=FLOAT}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml
new file mode 100644
index 0000000..f7c0177
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmOnHourReportLastMapper">
+  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
+    <!--@mbg.generated-->
+    <!--@Table rm_on_hour_report_last-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="controller_id" jdbcType="BIGINT" property="controllerId" />
+    <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
+    <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr" />
+    <result column="dt" jdbcType="TIMESTAMP" property="dt" />
+    <result column="rtu_dt" jdbcType="TIMESTAMP" property="rtuDt" />
+    <result column="instant_amount" jdbcType="FLOAT" property="instantAmount" />
+    <result column="total_amount" jdbcType="FLOAT" property="totalAmount" />
+    <result column="loss_amount" jdbcType="FLOAT" property="lossAmount" />
+    <result column="water_press" jdbcType="FLOAT" property="waterPress" />
+    <result column="battery_volt" jdbcType="FLOAT" property="batteryVolt" />
+    <result column="sun_volt" jdbcType="FLOAT" property="sunVolt" />
+    <result column="signal_value" jdbcType="INTEGER" property="signalValue" />
+    <result column="water_price" jdbcType="FLOAT" property="waterPrice" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, controller_id, intake_id, rtu_addr, dt, rtu_dt, instant_amount, total_amount, 
+    loss_amount, water_press, battery_volt, sun_volt, signal_value, water_price
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    <!--@mbg.generated-->
+    select 
+    <include refid="Base_Column_List" />
+    from rm_on_hour_report_last
+    where id = #{id,jdbcType=BIGINT}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    <!--@mbg.generated-->
+    delete from rm_on_hour_report_last
+    where id = #{id,jdbcType=BIGINT}
+  </delete>
+  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
+    <!--@mbg.generated-->
+    insert into rm_on_hour_report_last (id, controller_id, intake_id, 
+      rtu_addr, dt, rtu_dt, 
+      instant_amount, total_amount, loss_amount, 
+      water_press, battery_volt, sun_volt, 
+      signal_value, water_price)
+    values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, 
+      #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP}, 
+      #{instantAmount,jdbcType=FLOAT}, #{totalAmount,jdbcType=FLOAT}, #{lossAmount,jdbcType=FLOAT}, 
+      #{waterPress,jdbcType=FLOAT}, #{batteryVolt,jdbcType=FLOAT}, #{sunVolt,jdbcType=FLOAT}, 
+      #{signalValue,jdbcType=INTEGER}, #{waterPrice,jdbcType=FLOAT})
+  </insert>
+  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
+    <!--@mbg.generated-->
+    insert into rm_on_hour_report_last
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="controllerId != null">
+        controller_id,
+      </if>
+      <if test="intakeId != null">
+        intake_id,
+      </if>
+      <if test="rtuAddr != null">
+        rtu_addr,
+      </if>
+      <if test="dt != null">
+        dt,
+      </if>
+      <if test="rtuDt != null">
+        rtu_dt,
+      </if>
+      <if test="instantAmount != null">
+        instant_amount,
+      </if>
+      <if test="totalAmount != null">
+        total_amount,
+      </if>
+      <if test="lossAmount != null">
+        loss_amount,
+      </if>
+      <if test="waterPress != null">
+        water_press,
+      </if>
+      <if test="batteryVolt != null">
+        battery_volt,
+      </if>
+      <if test="sunVolt != null">
+        sun_volt,
+      </if>
+      <if test="signalValue != null">
+        signal_value,
+      </if>
+      <if test="waterPrice != null">
+        water_price,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=BIGINT},
+      </if>
+      <if test="controllerId != null">
+        #{controllerId,jdbcType=BIGINT},
+      </if>
+      <if test="intakeId != null">
+        #{intakeId,jdbcType=BIGINT},
+      </if>
+      <if test="rtuAddr != null">
+        #{rtuAddr,jdbcType=VARCHAR},
+      </if>
+      <if test="dt != null">
+        #{dt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="rtuDt != null">
+        #{rtuDt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="instantAmount != null">
+        #{instantAmount,jdbcType=FLOAT},
+      </if>
+      <if test="totalAmount != null">
+        #{totalAmount,jdbcType=FLOAT},
+      </if>
+      <if test="lossAmount != null">
+        #{lossAmount,jdbcType=FLOAT},
+      </if>
+      <if test="waterPress != null">
+        #{waterPress,jdbcType=FLOAT},
+      </if>
+      <if test="batteryVolt != null">
+        #{batteryVolt,jdbcType=FLOAT},
+      </if>
+      <if test="sunVolt != null">
+        #{sunVolt,jdbcType=FLOAT},
+      </if>
+      <if test="signalValue != null">
+        #{signalValue,jdbcType=INTEGER},
+      </if>
+      <if test="waterPrice != null">
+        #{waterPrice,jdbcType=FLOAT},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
+    <!--@mbg.generated-->
+    update rm_on_hour_report_last
+    <set>
+      <if test="controllerId != null">
+        controller_id = #{controllerId,jdbcType=BIGINT},
+      </if>
+      <if test="intakeId != null">
+        intake_id = #{intakeId,jdbcType=BIGINT},
+      </if>
+      <if test="rtuAddr != null">
+        rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
+      </if>
+      <if test="dt != null">
+        dt = #{dt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="rtuDt != null">
+        rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="instantAmount != null">
+        instant_amount = #{instantAmount,jdbcType=FLOAT},
+      </if>
+      <if test="totalAmount != null">
+        total_amount = #{totalAmount,jdbcType=FLOAT},
+      </if>
+      <if test="lossAmount != null">
+        loss_amount = #{lossAmount,jdbcType=FLOAT},
+      </if>
+      <if test="waterPress != null">
+        water_press = #{waterPress,jdbcType=FLOAT},
+      </if>
+      <if test="batteryVolt != null">
+        battery_volt = #{batteryVolt,jdbcType=FLOAT},
+      </if>
+      <if test="sunVolt != null">
+        sun_volt = #{sunVolt,jdbcType=FLOAT},
+      </if>
+      <if test="signalValue != null">
+        signal_value = #{signalValue,jdbcType=INTEGER},
+      </if>
+      <if test="waterPrice != null">
+        water_price = #{waterPrice,jdbcType=FLOAT},
+      </if>
+    </set>
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
+    <!--@mbg.generated-->
+    update rm_on_hour_report_last
+    set controller_id = #{controllerId,jdbcType=BIGINT},
+      intake_id = #{intakeId,jdbcType=BIGINT},
+      rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
+      dt = #{dt,jdbcType=TIMESTAMP},
+      rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
+      instant_amount = #{instantAmount,jdbcType=FLOAT},
+      total_amount = #{totalAmount,jdbcType=FLOAT},
+      loss_amount = #{lossAmount,jdbcType=FLOAT},
+      water_press = #{waterPress,jdbcType=FLOAT},
+      battery_volt = #{batteryVolt,jdbcType=FLOAT},
+      sun_volt = #{sunVolt,jdbcType=FLOAT},
+      signal_value = #{signalValue,jdbcType=INTEGER},
+      water_price = #{waterPrice,jdbcType=FLOAT}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+
+    <!--鏍规嵁闃�鎺у櫒鍦板潃鑾峰彇瀹氱偣涓婃姤鏈�鏂版暟鎹�-->
+    <select id="getRmOnHourReportLast" resultType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast">
+        select
+        <include refid="Base_Column_List" />
+        from rm_on_hour_report_last
+        where rtu_addr = #{rtuAddr}
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
index 7492484..773046e 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
@@ -53,6 +53,11 @@
     private RmTimingReportLastMapper rmTimingReportLastDao; // 瀹氱偣涓婃姤鏈�鏂版暟鎹瓺AO
 
     @Autowired
+    private RmOnHourReportHistoryMapper rmOnHourReportHistoryDao; // 鏁寸偣涓婃姤鍘嗗彶鏁版嵁DAO
+    @Autowired
+    private RmOnHourReportLastMapper rmOnHourReportLastDao; // 鏁寸偣涓婃姤鏈�鏂版暟鎹瓺AO
+
+    @Autowired
     private RmOpenCloseHistoryMapper rmOpenCloseHistoryDao;
     @Autowired
     private RmOpenCloseLastMapper rmOpenCloseLastDao;
@@ -162,7 +167,7 @@
 
     /////////////////////////////////////////////////
     //
-    // 瀹氱偣鎶ユ暟鎹姛鑳�
+    // 瀹氱偣鎶ユ暟鎹姛鑳�(鍙湪鐜嬫睙娴风殑鍗忚鏈夋鏁版嵁)
     //
     ////////////////////////////////////////////////
 
@@ -207,6 +212,52 @@
         this.rmTimingReportLastDao.updateByPrimaryKeySelective(po);
     }
 
+    /////////////////////////////////////////////////
+    //
+    // 鏁寸偣涓婃姤瀹炴椂鏁版嵁鍔熻兘(鍙湪闈虫�荤殑鍗忚鏈夋鏁版嵁)
+    //
+    ////////////////////////////////////////////////
+
+    /**
+     * 淇濆瓨鎺у埗鍣ㄦ暣鐐逛笂鎶ュ巻鍙叉暟鎹�
+     * @param po
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void saveRmOnHourReportHistory(RmOnHourReportHistory po){
+        this.rmOnHourReportHistoryDao.insert(po);
+    }
+
+    /**
+     * 鏍规嵁闃�鎺у櫒鍦板潃鑾峰彇鏁寸偣涓婃姤鏈�鏂版暟鎹�
+     * @param rtuAddr
+     * @return
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public RmOnHourReportLast getRmOnHourReportLast(String rtuAddr) {
+        List<RmOnHourReportLast> list = this.rmOnHourReportLastDao.getRmOnHourReportLast(rtuAddr) ;
+        if(list != null && list.size() > 0){
+            return list.get(0) ;
+        }
+        return null ;
+    }
+
+    /**
+     * 淇濆瓨鎺у埗鍣ㄦ暣鐐逛笂鎶ユ渶鏂版暟鎹�
+     * @param po
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void saveRmOnHourReportLast(RmOnHourReportLast po) {
+        this.rmOnHourReportLastDao.insert(po);
+    }
+
+    /**
+     * 淇濆瓨鎺у埗鍣ㄦ暣鐐逛笂鎶ョ姜琛屾暟鎹�
+     * @param po
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void updateRmOnHourReportLast(RmOnHourReportLast po) {
+        this.rmOnHourReportLastDao.updateByPrimaryKeySelective(po);
+    }
 
     /////////////////////////////////////////////////
     //
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java
deleted file mode 100644
index 0ccee24..0000000
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.dy.rtuMw.server.rtuData.p206V1_0_0;
-
-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.DataCdC0Vo;
-import com.dy.pipIrrGlobal.pojoPr.PrController;
-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;
-
-/**
- * @Author liurunyu
- * @Date 2024/1/16 14:11
- * @LastEditTime 2024/1/16 14:11
- * @Description 鎺у埗鍣ㄨ嚜鎶ユ暟鎹紙鍔熻兘鐮佷负C0锛夛紙鏁寸偣涓婃姤锛�
- */
-public class TkDealAutoReport  extends TaskSurpport {
-
-    private static final Logger log = LogManager.getLogger(TkDealAutoReport.class.getName()) ;
-
-    //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷�
-    public static final String taskId = "TkDealAutoReport" ;
-
-    /**
-     * 鎵ц鑺傜偣浠诲姟锛氭帶鍒跺櫒鑷姤鏁版嵁锛堝姛鑳界爜涓篊0锛�
-     * @param data 闇�瑕佸鐞嗙殑鏁版嵁
-     */
-    @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.dataCdC0Vo != null) {
-//                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
-//                DbSv sv = (DbSv)objs[0] ;
-//                PrController controller = (PrController)objs[1] ;
-//                try{
-//                    this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCdC0Vo) ;
-//                    this.saveHistory(sv, controller, d.getRtuAddr(),dV1_0_1, dV1_0_1.dataCdC0Vo) ;
-//                }catch (Exception e){
-//                    log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e);
-//                }
-//            }
-        }
-    }
-    /**
-     * 淇濆瓨鑷姤鏈�鏂版暟鎹�
-     * @param sv 鏈嶅姟
-     * @param controller 鎺у埗鍣ㄥ璞�
-     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
-     * @param dataCdC0Vo 鑷姤鏁版嵁瀵硅薄
-     */
-    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception {
-        //RmAutoReportLast po = sv.getRmAutoReportLast(rtuAddr) ;
-        //if(po == null){
-        //    po = new RmAutoReportLast(null, controller==null?null:controller.getId(), controller==null?null:controller.getId(),
-        //            rtuAddr,
-        //            DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
-        //            DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt),
-        //            dataCdC0Vo.instantAmount, dataCdC0Vo.totalAmount, dataCdC0Vo.lossAmount,
-        //            dataCdC0Vo.waterPress, dataCdC0Vo.batteryVolt, dataCdC0Vo.sunVolt, dataCdC0Vo.signalValue) ;
-        //    sv.saveRmAutoReportLast(po) ;
-        //}else{
-        //    po = this.update(controller, po, dV1_0_1, dataCdC0Vo) ;
-        //    sv.updateRmAutoReportLast(po);
-        //}
-    }
-
-    /**
-     * 淇濆瓨鑷姤鍘嗗彶璁板綍
-     * @param sv 鏈嶅姟
-     * @param controller 鎺у埗鍣ㄥ璞�
-     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
-     * @param dataCdC0Vo 鑷姤鏁版嵁瀵硅薄
-     */
-    //private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception {
-    //    RmAutoReportHistory po = new RmAutoReportHistory(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(dataCdC0Vo.rtuDt),
-    //            dataCdC0Vo.instantAmount, dataCdC0Vo.totalAmount, dataCdC0Vo.lossAmount,
-    //            dataCdC0Vo.waterPress, dataCdC0Vo.batteryVolt, dataCdC0Vo.sunVolt, dataCdC0Vo.signalValue) ;
-    //    sv.saveRmAutoReportHistory(po) ;
-    //}
-
-
-    //private RmAutoReportLast update(PrController controller, RmAutoReportLast po, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception {
-    //    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(dataCdC0Vo.rtuDt) ;
-    //    po.instantamount = dataCdC0Vo.instantAmount;
-    //    po.totalamount = dataCdC0Vo.totalAmount;
-    //    po.lossamount = dataCdC0Vo.lossAmount;
-    //    po.waterpress = dataCdC0Vo.waterPress;
-    //    po.batteryvolt = dataCdC0Vo.batteryVolt;
-    //    po.sunvolt = dataCdC0Vo.sunVolt;
-    //    po.signalvalue = dataCdC0Vo.signalValue;
-    //    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
new file mode 100644
index 0000000..2d5c015
--- /dev/null
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOnHourReport.java
@@ -0,0 +1,107 @@
+package com.dy.rtuMw.server.rtuData.p206V1_0_0;
+
+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.DataCdC0Vo;
+import com.dy.common.mw.protocol.p206V202404.DataV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd83Vo;
+import com.dy.pipIrrGlobal.pojoPr.PrController;
+import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory;
+import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast;
+import com.dy.pipIrrGlobal.pojoRm.RmTimingReportHistory;
+import com.dy.pipIrrGlobal.pojoRm.RmTimingReportLast;
+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;
+
+/**
+ * @Author liurunyu
+ * @Date 2024/1/16 14:11
+ * @LastEditTime 2024/1/16 14:11
+ * @Description 鎺у埗鍣ㄨ嚜鎶ュ疄鏃舵暟鎹紙鍔熻兘鐮佷负C0锛夛紙鏁寸偣涓婃姤锛�
+ */
+public class TkDealOnHourReport extends TaskSurpport {
+
+    private static final Logger log = LogManager.getLogger(TkDealOnHourReport.class.getName()) ;
+
+    //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷�
+    public static final String taskId = "TkDealOnHourReport" ;
+
+    /**
+     * 鎵ц鑺傜偣浠诲姟锛氭帶鍒跺櫒鑷姤鏁版嵁锛堝姛鑳界爜涓篊0锛�
+     * @param data 闇�瑕佸鐞嗙殑鏁版嵁
+     */
+    @Override
+    public void execute(Object data) {
+        Data d = (Data) data;
+        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);
+            }
+        }
+    }
+    /**
+     * 澶勭悊闃�涓婃姤鏁版嵁
+     * @param sv 鏈嶅姟
+     * @param controller 鎺у埗鍣ㄥ璞�
+     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+     * @param cdData 鍗忚鏁版嵁
+     * @param cdData 鍔熻兘鏁版嵁
+     */
+    private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData) throws Exception {
+        this.saveOrUpdateLast(sv, controller, rtuAddr, dV1_0_1, cdData);
+        this.saveHistory(sv, controller, rtuAddr, dV1_0_1, cdData);
+    }
+    /**
+     * 淇濆瓨鑷姤鏈�鏂版暟鎹�
+     * @param sv 鏈嶅姟
+     * @param controller 鎺у埗鍣ㄥ璞�
+     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+     * @param cdData 鑷姤鏁版嵁瀵硅薄
+     */
+    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData) throws Exception {
+        RmOnHourReportLast po = sv.getRmOnHourReportLast(rtuAddr) ;
+        if(po == null){
+            po = new RmOnHourReportLast();
+            po.controllerId = controller==null?null:controller.getId();
+            po.intakeId = controller==null?null:controller.getIntakeId();
+            po.rtuAddr = rtuAddr;
+            po.valueFrom(dV1_0_1, cdData);
+            sv.saveRmOnHourReportLast(po) ;
+        }else{
+            po.controllerId = controller==null?null:controller.getId();
+            po.intakeId = controller==null?null:controller.getIntakeId();
+            po.valueFrom(dV1_0_1, cdData);
+            sv.updateRmOnHourReportLast(po);
+        }
+
+
+    }
+
+
+    /**
+     * 淇濆瓨鎴栨洿鏂版帶鍒跺櫒璇ヤ笂鎶ュ巻鍙叉暟鎹�
+     * @param sv 鏈嶅姟bean
+     * @param controller 鎺у埗鍣ㄥ璞�
+     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+     * @param dV1_0_1 鍗忚鏁版嵁
+     * @param cdData 鍔熻兘鏁版嵁
+     */
+    private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData)throws Exception {
+        RmOnHourReportHistory po = new RmOnHourReportHistory();
+        po.controllerId = controller==null?null:controller.getId();
+        po.intakeId = controller==null?null:controller.getIntakeId();
+        po.rtuAddr = rtuAddr;
+        po.valueFrom(dV1_0_1, cdData);
+        sv.saveRmOnHourReportHistory(po); ;
+    }
+}
+
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java
index 0cf2cb2..011161e 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java
@@ -33,15 +33,12 @@
         Data d = (Data) data;
         DataV202404 dV202404 = (DataV202404) d.getSubData();//鍓嶉潰浠诲姟宸茬粡鍒ゆ柇涓嶄负null
         Object cdObj = dV202404.subData;
-        if (cdObj != null) {
+        if (cdObj != null && cdObj instanceof DataCd83Vo) {
             try {
                 Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId);
                 DbSv sv = (DbSv) objs[0];
                 PrController controller = (PrController) objs[1];
-                if (cdObj instanceof DataCd83Vo) {
-                    DataCd83Vo cdData = (DataCd83Vo) (cdObj);
-                    this.doDeal(sv, controller, d.getRtuAddr(), dV202404, (DataCd83Vo)cdObj);
-                }
+                this.doDeal(sv, controller, d.getRtuAddr(), dV202404, (DataCd83Vo)cdObj);
             } catch (Exception e) {
                 log.error("淇濆瓨鎺у埗鍣ㄦ帶鍒跺櫒瀹氭椂鎶ユ暟鎹椂鍙戠敓寮傚父", e);
             }
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 50a0e54..a911f43 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,7 +16,7 @@
 						<!-- 璇嗗埆闈炲懡浠ゅ簲绛斾笂琛屾暟鎹� -->
 						<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="TkDealAutoReport" name="鎺у埗鍣ㄨ嚜鎶ユ暟鎹紙鏁寸偣鎶ワ級" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealAutoReport" />
+							<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" />

--
Gitblit v1.8.0