From 664eb6bc8536b7498a6eb92b84d900e2cbbc4fb5 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 28 十一月 2024 09:04:40 +0800
Subject: [PATCH] 修改一包死多包死与升级失败统计的逻辑bug

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 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 39db13a..4378bb4 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
@@ -137,8 +137,7 @@
                     //rtu涓嶅湪鍗囩骇涔嬪垪
                     return ;
                 }
-            }
-            if(ugRtu != null){
+            }else{
                 if(ugRtu.isOver){
                     //褰撳墠RTU宸茬粡鍗囩骇瀹屾垚锛屾棤闇�鍐嶅崌绾�
                     return;
@@ -174,9 +173,6 @@
                          ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ;
                     }
                 }
-            }else{
-                //rtu涓嶅湪鍗囩骇涔嬪垪
-                return ;
             }
         }
     }
@@ -207,7 +203,6 @@
                 this.upgradeRtus.values().forEach(info ->{
                     if(info.state == UpgradeRtu.STATE_OFFLINE){
                         state.offLineTotal++ ;
-                        state.failTotal++;
                     }else if(info.state == UpgradeRtu.STATE_UNSTART){
                         state.unStartTotal ++ ;
                     }else if(info.state == UpgradeRtu.STATE_RUNNING){
@@ -215,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++;
@@ -277,7 +276,9 @@
     }
 
     ///////////////////////////////////////////////////////////
-    //浠ヤ笅鏂规硶涓哄唴閮ㄦ湇鍔★紝涓嶅澶栨彁渚涙湇鍔�
+    //
+    //   浠ヤ笅鏂规硶涓哄唴閮ㄦ湇鍔★紝涓嶅澶栨彁渚涙湇鍔�
+    //
     ///////////////////////////////////////////////////////////
 
     /**
@@ -323,20 +324,26 @@
 
     /**
      * 缁熻闇�瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐碉紝瓒呰繃鏃堕檺鐨勮澶囦负鍗囩骇瀹屾垚
+     * @return -1:娌℃湁瓒呮椂锛�0瓒呮椂浜嗕笖鏃犲洜绂荤嚎琚己鍒惰缃崌绾у畬鎴愮殑RTU锛�>0绂荤嚎琚己鍒惰缃崌绾у畬鎴愮殑RTU鏁伴噺
      */
-    protected void countOffRtuAndSetIfOver() {
+    protected int countOffRtuAndSetIfOver() {
         Long now = System.currentTimeMillis() ;
         if(now - this.setupDtLong > UpgradeUnit.confVo.rtuOffLineWaitDuration){
             //rtu绂荤嚎锛岀瓑寰呭叾鍗囩骇鐨勬椂闀�(姣)锛岃秴杩囬厤缃殑鏈�澶ф椂闀匡紝璁剧疆鍏跺崌绾уけ璐ワ紝涓旇缃崌绾т换鍔″畬鎴�
+            int count = 0 ;
             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_OFFLINE){
                         info.isOver = true ;
                         info.state = UpgradeRtu.STATE_FAILOFFLINE ;
+                        count ++ ;
                     }
                 }
             }
+            return count ;
+        }else{
+            return -1 ;
         }
     }
 

--
Gitblit v1.8.0