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-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowCtrl.java | 21 ++++++++++++++++++---
1 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowCtrl.java
index 65d274c..79b50a8 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowCtrl.java
@@ -5,6 +5,7 @@
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.ResultCodeMsg;
import com.dy.pipIrrGlobal.pojoPr.PrFlowMonitoring;
+import com.dy.pipIrrGlobal.pojoPr.PrFlowmeter;
import com.dy.pipIrrGlobal.pojoPr.PrMonitoringFlowmeter;
import com.dy.pipIrrProject.result.ProjectResultCode;
import io.swagger.v3.oas.annotations.Operation;
@@ -85,8 +86,15 @@
prMonitoringFlowmeter.setOperatedt(operateTime);
prMonitoringFlowmeter.setOperatetype((byte) 1);
+ PrFlowmeter flowmeter = new PrFlowmeter();
+ flowmeter.setMonitoringId(po.getMonitoringId().toString());
+ flowmeter.setId(po.getFlowmeterId());
+ flowmeter.setOperator(po.getOperator());
+ flowmeter.setOperateDt(operateTime);
+ Integer shu = flowmeterSv.flowmeterAddMonId(flowmeter);
+
Integer rec = Optional.ofNullable(moniFlowSv.addRecord(prMonitoringFlowmeter)).orElse(0);
- if (rec == 0) {
+ if (rec == 0 || shu == 0) {
return BaseResponseUtils.buildFail(ProjectResultCode.MONITORING_FLOWMETER_BIND_FAIL.getMessage());
}
return BaseResponseUtils.buildSuccess(true);
@@ -125,10 +133,17 @@
PrMonitoringFlowmeter prMonitoringFlowmeter = DtoToMoniFlowPojo.INSTANCT.po2vo(po);
Date operateTime = new Date();
prMonitoringFlowmeter.setOperatedt(operateTime);
- prMonitoringFlowmeter.setOperatetype((byte) 1);
+ prMonitoringFlowmeter.setOperatetype((byte) 2);
+
+ PrFlowmeter flowmeter = new PrFlowmeter();
+ flowmeter.setMonitoringId(null);
+ flowmeter.setId(po.getFlowmeterId());
+ flowmeter.setOperator(po.getOperator());
+ flowmeter.setOperateDt(operateTime);
+ Integer shu = flowmeterSv.flowmeterAddMonId(flowmeter);
Integer rec = Optional.ofNullable(moniFlowSv.addRecord(prMonitoringFlowmeter)).orElse(0);
- if (rec == 0) {
+ if (rec == 0 || shu == 0) {
return BaseResponseUtils.buildFail(ProjectResultCode.MONITORING_FLOWMETER_BIND_FAIL.getMessage());
}
return BaseResponseUtils.buildSuccess(true);
--
Gitblit v1.8.0