From b397edee2be2dfcc3f28eeac50298b4de26b1afa Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 13 十二月 2024 16:53:45 +0800
Subject: [PATCH] 取水口日取水量表中,出现一些大数,明显不正确,发析系统日志,发现一些阀控器会上报一些累计流量为0的数据,且无规律,推测是其不能从水表读取到累计流量时会上报0值。如果间歇上报0值,间歇上报一些非0值,非0值减去0值,就会出现大数,一天中出现几次那么会大数进行累加,数值将更大。为此变更算法,规避这种情况,但也会丢失一些流量值。
---
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java | 24 +++++++++++++++++++-----
1 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java
index a235a0c..a31da14 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java
@@ -42,6 +42,13 @@
private RtuUpgradeSv sv ;
/**
+ * 寮哄埗缁撴潫鍗囩骇浠诲姟閫氫俊涓棿浠舵垚鍔熸墽琛屽悗
+ */
+ public static void afterMwForceOverCurUgTask(){
+ cache = null ;
+ }
+
+ /**
* rtu杩滅▼鍗囩骇浠诲姟閫氫俊涓棿浠舵墽琛屾儏鍐电粺璁″洖鏀�
* @param info 鏁版嵁
* @return 鎿嶄綔缁撴灉
@@ -112,12 +119,15 @@
private void save2Db(String taskId, List<UpgradeRtu> newList, List<UpgradeRtu> oldList){
List<UpgradeRtu> newOverList = newList.stream().filter(vo -> vo.isOver).collect(Collectors.toList()) ;
List<UpgradeRtu> oldNoOverList = newList.stream().filter(vo -> !vo.isOver).collect(Collectors.toList()) ;
+ boolean oldExist = false ;
for(UpgradeRtu nvo : newOverList){
- if(nvo != null) {
- if(oldNoOverList.stream().anyMatch(vo -> vo.rtuAddr.equals(nvo.rtuAddr))){
- //涓婃娌℃湁鍗囩骇缁撴潫锛岃�屽綋鍓嶅崌绾х粨鏉熶簡
- this.sv.saveRtuUpgradeState(Long.parseLong(taskId), nvo);
- }
+ oldExist = false ;
+ if(oldNoOverList.stream().anyMatch(vo -> vo.rtuAddr.equals(nvo.rtuAddr))){
+ oldExist = true ;
+ }
+ if(!oldExist){
+ //涓婃娌℃湁鍗囩骇缁撴潫锛岃�屽綋鍓嶅崌绾х粨鏉熶簡
+ this.sv.saveRtuUpgradeState(Long.parseLong(taskId), nvo);
}
}
}
@@ -231,6 +241,7 @@
rtu.currentPackage = 0 ;
rtu.currentRamAddr = 0x00 ;
rtu.lastDownDt = "" ;
+ rtu.lastDownDtAt = 0L ;
rtu.reTryTimes = 0 ;
rtu.isOver = false ;
}else{
@@ -238,6 +249,7 @@
rtu.currentPackage = 1 ;
rtu.currentRamAddr = 0x00 ;
rtu.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
+ rtu.lastDownDtAt = System.currentTimeMillis() ;
rtu.reTryTimes = 0 ;
rtu.isOver = false ;
}
@@ -288,6 +300,7 @@
rtu.currentPackage = 1 ;
rtu.currentRamAddr = 0x00 ;
rtu.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
+ rtu.lastDownDtAt = System.currentTimeMillis() ;
rtu.reTryTimes++ ;
rtu.isOver = false ;
return ;
@@ -300,6 +313,7 @@
rtu.currentPackage += 1 ;
rtu.currentRamAddr = 0x00 + UpgradeRtu.RAMADDRADD ;
rtu.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
+ rtu.lastDownDtAt = System.currentTimeMillis() ;
rtu.isOver = false ;
}
--
Gitblit v1.8.0