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-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java |   54 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 28 insertions(+), 26 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java
index 18fdf20..78dbea4 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java
@@ -4,6 +4,8 @@
 import com.dy.common.mw.protocol.p206V202404.DataV202404;
 import com.dy.common.mw.protocol.p206V202404.upVos.DataCd84Vo;
 import com.dy.pipIrrGlobal.pojoPr.PrController;
+import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory;
+import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveLast;
 import com.dy.rtuMw.server.rtuData.TaskSurpport;
 import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
 import org.apache.logging.log4j.LogManager;
@@ -54,8 +56,8 @@
      * @param cdData 鍔熻兘鏁版嵁
      */
     private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd84Vo cdData) throws Exception {
-        //this.saveOrUpdateLast(sv, controller, rtuAddr, dataV202404, cdData);
-        //this.saveHistory(sv, controller, rtuAddr, dataV202404, cdData);
+        this.saveOrUpdateLast(sv, controller, rtuAddr, dataV202404, cdData);
+        this.saveHistory(sv, controller, rtuAddr, dataV202404, cdData);
     }
 
     /**
@@ -66,22 +68,22 @@
      * @param dataV202404 鍗忚鏁版嵁
      * @param cdData 鍔熻兘鏁版嵁
      */
-    //private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd84Vo cdData)throws Exception {
-    //    RmTimingReportLast po = sv.getRmTimingReportLast(rtuAddr) ;
-    //    if(po == null){
-    //        po = new RmTimingReportLast();
-    //        po.controllerId = controller==null?null:controller.getId();
-    //        po.intakeId = controller==null?null:controller.getIntakeId();
-    //        po.rtuAddr = rtuAddr;
-    //        po.valueFrom(dataV202404, cdData);
-    //        sv.saveRmTimingReportLast(po) ;
-    //    }else{
-    //        po.controllerId = controller==null?null:controller.getId();
-    //        po.intakeId = controller==null?null:controller.getIntakeId();
-    //        po.valueFrom(dataV202404, cdData);
-    //        sv.updateRmTimingReportLast(po);
-    //    }
-    //}
+    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd84Vo cdData)throws Exception {
+        RmOpenCloseValveLast po = sv.getRmOpenCloseValveLast(controller.getIntakeId());
+        if(po == null){
+            po = new RmOpenCloseValveLast();
+            po.controllerId = controller==null?null:controller.getId();
+            po.intakeId = controller==null?null:controller.getIntakeId();
+            po.rtuAddr = rtuAddr;
+            po.valueFrom84(dataV202404, cdData);
+            sv.saveRmOpenCloseValveLast(po);
+        }else{
+            po.controllerId = controller==null?null:controller.getId();
+            po.intakeId = controller==null?null:controller.getIntakeId();
+            po.valueFrom84(dataV202404, cdData);
+            sv.updateRmOpenCloseValveLast(po);
+        }
+    }
 
     /**
      * 淇濆瓨鎺у埗鍣ㄥ伐浣滄姤鍘嗗彶鏁版嵁
@@ -91,12 +93,12 @@
      * @param dataV202404 鍗忚鏁版嵁
      * @param cdData 鍔熻兘鏁版嵁
      */
-    //private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd84Vo cdData)throws Exception {
-    //    RmTimingReportHistory po = new RmTimingReportHistory();
-    //    po.controllerId = controller==null?null:controller.getId();
-    //    po.intakeId = controller==null?null:controller.getIntakeId();
-    //    po.rtuAddr = rtuAddr;
-    //    po.valueFrom(dataV202404, cdData);
-    //    sv.saveRmTimingReportHistory(po); ;
-    //}
+    private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd84Vo cdData)throws Exception {
+        RmOpenCloseValveHistory po = new RmOpenCloseValveHistory();
+        po.controllerId = controller==null?null:controller.getId();
+        po.intakeId = controller==null?null:controller.getIntakeId();
+        po.rtuAddr = rtuAddr;
+        po.valueFrom84(dataV202404, cdData);
+        sv.saveRmOpenCloseValveHistory(po); ;
+    }
 }

--
Gitblit v1.8.0