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/TkDealTimingReportV202404.java |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

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..23490d3 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);
             }
@@ -69,7 +66,7 @@
      * @param cdData 鍔熻兘鏁版嵁
      */
     private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd83Vo cdData)throws Exception {
-        RmTimingReportLast po = sv.getRmTimingReportLast(rtuAddr) ;
+        RmTimingReportLast po = sv.getRmTimingReportLast(controller.getIntakeId()) ;
         if(po == null){
             po = new RmTimingReportLast();
             po.controllerId = controller==null?null:controller.getId();

--
Gitblit v1.8.0