From 0f800de26789c0a985bb40f9133b764fef1f8148 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 25 十一月 2024 09:08:55 +0800
Subject: [PATCH] 优化代码

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 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 9c606ec..5e11afd 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
@@ -13,6 +13,7 @@
 
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
  * @Author: liurunyu
@@ -136,8 +137,7 @@
                     //rtu涓嶅湪鍗囩骇涔嬪垪
                     return ;
                 }
-            }
-            if(ugRtu != null){
+            }else{
                 if(ugRtu.isOver){
                     //褰撳墠RTU宸茬粡鍗囩骇瀹屾垚锛屾棤闇�鍐嶅崌绾�
                     return;
@@ -173,9 +173,6 @@
                          ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ;
                     }
                 }
-            }else{
-                //rtu涓嶅湪鍗囩骇涔嬪垪
-                return ;
             }
         }
     }
@@ -202,19 +199,21 @@
         if(this.taskVo.rtuAddrList != null && this.taskVo.rtuAddrList.size() > 0){
             state.rtuTotal = this.taskVo.rtuAddrList.size() ;
             if(this.upgradeRtus != null && this.upgradeRtus.size() > 0){
-                this.upgradeRtus.values().stream().forEach(info ->{
+                AtomicBoolean hasRunning = new AtomicBoolean(false);
+                this.upgradeRtus.values().forEach(info ->{
                     if(info.state == UpgradeRtu.STATE_OFFLINE){
-                        state.offLineTotal ++ ;
+                        state.offLineTotal++ ;
                     }else if(info.state == UpgradeRtu.STATE_UNSTART){
                         state.unStartTotal ++ ;
                     }else if(info.state == UpgradeRtu.STATE_RUNNING){
                         state.runningTotal ++ ;
                     }else if(info.state == UpgradeRtu.STATE_SUCCESS) {
                         state.successTotal++;
-                    }else if(info.state == UpgradeRtu.STATE_FAIL) {
-                        state.failTotal++;
                     }else if(info.state == UpgradeRtu.STATE_FAILONE) {
                         state.failOneTotal++;
+                        state.failTotal++;
+                    }else if(info.state == UpgradeRtu.STATE_FAIL) {
+                        state.failMultiTotal++;
                         state.failTotal++;
                     }else if(info.state == UpgradeRtu.STATE_FAILOFFLINE) {
                         state.failTotal++;
@@ -222,8 +221,15 @@
                     }
                     if(info.isOver){
                         state.overTotal++;
+                    }else{
+                        hasRunning.set(true);
                     }
                 });
+                if(!hasRunning.get()){
+                    state.allOver = true ;
+                }else{
+                    state.allOver = false ;
+                }
             }
         }
         return state ;
@@ -266,7 +272,9 @@
     }
 
     ///////////////////////////////////////////////////////////
-    //浠ヤ笅鏂规硶涓哄唴閮ㄦ湇鍔★紝涓嶅澶栨彁渚涙湇鍔�
+    //
+    //   浠ヤ笅鏂规硶涓哄唴閮ㄦ湇鍔★紝涓嶅澶栨彁渚涙湇鍔�
+    //
     ///////////////////////////////////////////////////////////
 
     /**

--
Gitblit v1.8.0