From e48d097ca0532090a7a109af4c2c9c6e1b288a34 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 05 十二月 2024 15:06:43 +0800 Subject: [PATCH] 优化代码 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java | 51 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 43 insertions(+), 8 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java index b19ea75..81fa856 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java @@ -52,7 +52,7 @@ /////////////////////////////////////////////////// //浠ヤ笅鍐呴儴鎺у埗鐢� @JSONField(serialize = false) - private int curUgRunningRtuTotal = 0 ;//褰撳墠姝e湪鍗囩骇鐨凴TU涓暟 + protected int curUgRunningRtuTotal = 0 ;//褰撳墠姝e湪鍗囩骇鐨凴TU涓暟 public UpgradeTask() { this.curUgRunningRtuTotal = 0 ; @@ -176,7 +176,6 @@ } } } - /** * 寮哄埗缁撴潫鍗囩骇浠诲姟 */ @@ -189,6 +188,7 @@ //this.upgradeState.clear(); } } + /** * 褰撳墠鍗囩骇鐘舵�� @@ -210,11 +210,15 @@ }else if(info.state == UpgradeRtu.STATE_SUCCESS) { state.successTotal++; }else if(info.state == UpgradeRtu.STATE_FAILONE) { - state.failOneTotal++; - state.failTotal++; + state.dieOneTotal++; + if(info.isOver){ + state.failTotal++; + } }else if(info.state == UpgradeRtu.STATE_FAIL) { - state.failMultiTotal++; - state.failTotal++; + state.dieMultiTotal++; + if(info.isOver) { + state.failTotal++; + } }else if(info.state == UpgradeRtu.STATE_FAILOFFLINE) { state.failTotal++; state.failOffTotal++; @@ -307,7 +311,7 @@ /** * 缁熻褰撳墠姝e湪鍗囩骇鐨凴TU鏁伴噺锛屼负鍚屾椂鍗囩骇鏁伴噺闄愬埗鍋氬噯澶� */ - protected void countRunningRtuCount(){ + protected int countRunningRtuCount(){ int runningTotal = 0 ; Collection<UpgradeRtu> col = this.upgradeRtus.values() ; for(UpgradeRtu info : col){ @@ -315,7 +319,7 @@ runningTotal ++ ; } } - this.curUgRunningRtuTotal = runningTotal ; + return this.curUgRunningRtuTotal = runningTotal ; } /** @@ -344,6 +348,37 @@ } /** + * 缁熻:宸茬粡杩涘崌绾т絾RTU鍙堣繘鍏ュ仠姝㈠崌绾у彂鍛嗙姸鎬侊紝瓒呰繃涓�瀹氭椂闄愶紝璁剧疆璁惧涓�鍖呮鎴栧鍖呮锛屽苟璁剧疆涓哄崌绾у畬鎴� + * @return -1:娌℃湁瓒呮椂锛�0瓒呮椂浜嗕笖鏃犲洜绂荤嚎琚己鍒惰缃崌绾у畬鎴愮殑RTU锛�>0绂荤嚎琚己鍒惰缃崌绾у畬鎴愮殑RTU鏁伴噺 + */ + protected int countRunningIdleRtuAndSetIfOver() { + Long now = System.currentTimeMillis() ; + int count = -1 ; + if(now - this.setupDtLong > UpgradeUnit.confVo.rtuOffLineWaitDuration){ + //璁剧疆涓婂彞锛岄槻姝㈤绻佽繘鍏ヤ笅闈㈣鍙ヨ繘琛岃绠� + if (this.taskVo.rtuAddrList != null && this.taskVo.rtuAddrList.size() > 0) { + Collection<UpgradeRtu> col = this.upgradeRtus.values() ; + for(UpgradeRtu info : col){ + if(info.state == UpgradeRtu.STATE_RUNNING && info.isOver == false){ + //鍗囩骇涓紝浣嗘湭鍗囩骇瀹屾垚 + if(now - info.lastDownDtAt > UpgradeUnit.confVo.runningAndIdleDuration){ + if(info.currentPackage <= 1){ + //涓�鍖呮 + info.state = UpgradeRtu.STATE_FAILONE ; + }else{ + //澶氬寘姝� + info.state = UpgradeRtu.STATE_FAIL ; + } + info.isOver = true ; + count ++ ; + } + } + } + } + } + return count ; + } + /** * 缁熻鏄惁鍗囩骇鍏ㄩ儴缁撴潫 */ protected boolean countIsAllOver() { -- Gitblit v1.8.0