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/forTcp/TcpIoSessionCallback.java | 16 +++++++++------- 1 files changed, 9 insertions(+), 7 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java index e123b4d..7bccddf 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java @@ -19,8 +19,10 @@ public void sessionOpened(IoSession session) throws Exception { log.info("缃戠粶杩炴帴寤虹珛锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()) ; if(session != null) { - String rtuAddr = (String) session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrIdKey); - RtuLogDealer.log(rtuAddr, "缃戠粶鎺ュ叆"); + String rtuAddr = (String) session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr); + if(rtuAddr != null && !rtuAddr.trim().equals("")){ + RtuLogDealer.log(rtuAddr, "缃戠粶鎺ュ叆"); + } } } @@ -30,13 +32,13 @@ @Override public void sessionClosed(IoSession session) throws Exception { if(session != null){ - String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrIdKey) ; + String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr) ; - if(rtuAddr != null){ + if(rtuAddr != null && !rtuAddr.trim().equals("")){ //璁板綍鐘舵�� RtuStatusDealer.offLine(rtuAddr); + RtuLogDealer.log(rtuAddr, "缃戠粶杩炴帴鍏抽棴"); } - RtuLogDealer.log(rtuAddr, "缃戠粶杩炴帴鍏抽棴"); log.info("缃戠粶杩炴帴鍏抽棴锛�" + (rtuAddr==null?"":("缁堢鍦板潃鏄細" + rtuAddr))) ; //+ (session==null?"":(session.getRemoteAddress() == null?"":(session.getRemoteAddress().toString()==null?"":("锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()))))) ; @@ -47,7 +49,7 @@ */ public void exceptionCaught(IoSession session, Throwable cause) throws Exception { if(session != null && cause != null){ - String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrIdKey) ; + String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr) ; log.error("缃戠粶浼氳瘽鍙戠敓寮傚父锛�" + (rtuAddr==null?"":("缁堢鍦板潃鏄細" + rtuAddr)) + (session==null?"":(session.getRemoteAddress() != null?("锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()):"")) @@ -59,7 +61,7 @@ * TCP閫氶亾鍙戦�佸畬鏁版嵁鍚庯紝鍥炶皟鐨勬柟娉曪紝杩涜鍚庣画鏁版嵁澶勭悊 */ public void messageSended(IoSession session, Object message) throws Exception { - String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrIdKey) ; + String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr) ; log.info("缃戠粶鍙戦�佷簡鏁版嵁锛�" + (rtuAddr==null?"":("缁堢鍦板潃鏄細" + rtuAddr)) + (session==null?"":(session.getRemoteAddress() != null?("锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()):"")) ); -- Gitblit v1.8.0