From f5658e38d9aaec4fc002f22938646343a7e86c81 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 26 六月 2024 21:40:27 +0800
Subject: [PATCH] 1、靳总协议功能码调整与增加; 2、实现只有靳总协议中有的整上报数据处理逻辑及数据库设计。
---
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/CodeV1_0_1.java | 47 +
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-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-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOnHourReportHistory.java | 124 ++++++
19 files changed, 1,015 insertions(+), 151 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_3C_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Down.java
deleted file mode 100644
index 98c53c8..0000000
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Down.java
+++ /dev/null
@@ -1,100 +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_3C
-})
-public class Cd_3C_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] ;
- 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);
- 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_3C_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Up.java
deleted file mode 100644
index 5c748d1..0000000
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_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.DataCd3CVo;
-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_3C
-})
-public class Cd_3C_Up implements CodeParse {
-
- private static final Logger log = LogManager.getLogger(Cd_3C_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() ;
- DataCd3CVo cdData = new DataCd3CVo() ;
- dV1.subData = cdData ;
- 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_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_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-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