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-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeClientAmountSv.java | 31 +++++++++++++++++++++++++++++++
1 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeClientAmountSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeClientAmountSv.java
index 185b9dd..8f3b788 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeClientAmountSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeClientAmountSv.java
@@ -1,6 +1,7 @@
package com.dy.pipIrrTemp.delSome;
import com.dy.pipIrrGlobal.daoTmp.DeleteMapper;
+import com.dy.pipIrrGlobal.voTmp.VoStClientAmountDay;
import com.dy.pipIrrGlobal.voTmp.VoStClientAmountMonth;
import com.dy.pipIrrGlobal.voTmp.VoStClientAmountYear;
import lombok.extern.slf4j.Slf4j;
@@ -26,6 +27,31 @@
@Autowired
private void setDao(DeleteMapper dao){
this.dao = dao;
+ }
+
+ public void delStClientDay(){
+ VoStClientAmountDay first = null ;
+ List<VoStClientAmountDay> list = dao.selectAllStClientDay() ;
+ if(list != null && list.size() > 0){
+ for(VoStClientAmountDay vo : list){
+ if(first == null){
+ first = vo ;
+ }else{
+ if(first.clientId.longValue() != vo.clientId.longValue()){
+ //鍐滄埛鍙樹簡
+ first = vo ;
+ }else{
+ if(!first.dt.equals(vo.dt)) {
+ //鏃ユ湡鍙樹簡
+ first = vo ;
+ }else{
+ //鍚屼竴涓啘鎴峰悓鏃ユ湡
+ doDelStClientDay(vo.id) ;
+ }
+ }
+ }
+ }
+ }
}
public void delStClientMonth(){
@@ -84,6 +110,11 @@
}
}
@Transactional
+ int doDelStClientDay(Long id){
+ return dao.deleteStClientDayById(id) ;
+ }
+
+ @Transactional
int doDelStClientMonth(Long id){
return dao.deleteStClientMonthById(id) ;
}
--
Gitblit v1.8.0