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