From f695fa17fce26c0266ff682622d761767a8dcbfa Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 20 十一月 2024 17:06:01 +0800
Subject: [PATCH] 1、优化代码; 2、增加一个统计状态:离线升级失败状态。

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java         |    7 +++++--
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java    |    2 +-
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java |   18 +++++++++++-------
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java    |   20 +++++++++++---------
 4 files changed, 28 insertions(+), 19 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java
index 115b945..f1983e7 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java
@@ -16,8 +16,9 @@
     public int runningTotal ;//鎵�鏈夋鍦ㄥ崌绾�
     public int overTotal ;//鎵�鏈夌粨鏉燂紙鍖呮嫭鎴愬姛涓庢墍鏈夊け璐ワ級
     public int successTotal ;//鎵�鏈夋垚鍔�
-    public int failTotal ;//鎵�鏈夊け璐�
+    public int failTotal ;//鎵�鏈夊け璐ワ紙涓�鍖呮澶辫触+澶氬寘姝诲け璐�+绂荤嚎澶辫触锛�
     public int failOneTotal ;//鎵�鏈変竴鍖呮澶辫触
+    public int failOffTotal ;//鎵�鏈夌绾垮け璐�
 
     public Boolean allOver ;//鎵�鏈夐兘缁撴潫锛坱rue:鏄紝false:鍚︼級
 
@@ -34,6 +35,7 @@
         this.successTotal = 0;
         this.failTotal = 0;
         this.failOneTotal = 0;
+        this.failOffTotal = 0;
         this.allOver = false ;
     }
 
@@ -47,7 +49,8 @@
         sb.append("    \n宸茬粨鏉熸�绘暟锛�" + overTotal) ;
         sb.append("    \n鎴愬姛鎬绘暟锛�" + successTotal) ;
         sb.append("    \n澶辫触鎬绘暟锛�" + failTotal) ;
-        sb.append("    \n1鍖呮鎬绘暟锛�" + failOneTotal) ;
+        sb.append("    \n1鍖呮澶辫触鎬绘暟锛�" + failOneTotal) ;
+        sb.append("    \n绂荤嚎澶辫触鎬绘暟锛�" + failOffTotal) ;
         sb.append("    \n鍏ㄧ粨鏉燂細" + allOver) ;
         return sb.toString() ;
     }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java
index 09b5f9b..c2e0801 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java
@@ -75,10 +75,13 @@
     }
 
     /**
-     * 缁撴潫褰撳墠鍗囩骇浠诲姟
+     * 寮哄埗缁撴潫褰撳墠鍗囩骇浠诲姟锛�
+     * 姝ゅ姛鑳藉彲鑳戒笉浼氬紑鏀惧嚭鍘伙紝
+     * 鍥犱负寮哄埗缁撴潫鍗囩骇浠诲姟锛屽涓�涓湭鍗囩骇瀹屾垚鐨凴TU灏变細鍗℃锛�
+     * 鎵�浠ュ綋寮哄埗缁撴潫鍗囩骇浠诲姟锛屼唬鐮侀�昏緫骞舵病鏈夊己鍒剁粨鏋淩TU鍗囩骇杩囩▼锛屽鏋滃崌绾ц繃绋嬩篃寮哄埗鍋滄锛岄偅涔圧TU鐪熶細鍗℃
      * @throws Exception
      */
-    public void overUpgradeTask() throws Exception {
+    public void forceOverUpgradeTask() throws Exception {
         if(this.task != null){
             this.stop();
             this.task.forceOver();
@@ -193,20 +196,21 @@
                 if(!this.task.taskIsOver){
                     //鍗囩骇浠诲姟鏈畬鎴�
                     //宸ヤ綔1锛氬垽鏂槸鍚︽棤浠讳綍涓�涓猂TU杩涜杩囧崌绾э紝骞朵笖杈惧埌鏃堕檺锛屽垯璁や负褰撳墠鍗囩骇浠诲姟瀹屾垚
-                    int temp = this.task.countNoOneRtuUpgrade() ;
+                    //-1:鏃犱竴RTU鍗囩骇涓旇秴鏃讹紝0锛氭棤RTU鍗囩骇浣嗘湭瓒呮椂绛夊緟锛�1鏈塕TU鍗囩骇姝e父鎵ц
+                    int temp = this.task.countNoOneRtuUpgradeInDuration() ;
                     if(temp == -1){
                         this.task.taskIsOver = true ;
                         //浠诲姟宸茬粡瀹屾垚
                         this.stop();
                     }else if(temp == 1){
                         //宸ヤ綔2锛氱粺璁″綋鍓嶆鍦ㄥ崌绾х殑RTU鏁伴噺锛屼负鍚屾椂鍗囩骇鏁伴噺闄愬埗鍋氬噯澶�
-                        this.task.statisticsRunningRtuCount() ;
+                        this.task.countRunningRtuCount() ;
 
-                        //宸ヤ綔3锛氱粺璁¢渶瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐�
-                        this.task.statisticsOffRtuCountAndSet() ;
+                        //宸ヤ綔3锛氱粺璁¢渶瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐碉紝瓒呰繃鏃堕檺鐨勮澶囦负鍗囩骇瀹屾垚
+                        this.task.countOffRtuAndSetIfOver() ;
 
                         //宸ヤ綔4锛氱粺璁℃槸鍚﹀叏閮ㄥ崌绾у畬鎴�
-                        this.task.taskIsOver = this.task.statisticsIsAllOver() ;
+                        this.task.taskIsOver = this.task.countIsAllOver() ;
                     }else if(temp == 0){
                         //涓嶄綔涓�
                     }
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 68d6305..9c606ec 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
@@ -202,8 +202,7 @@
         if(this.taskVo.rtuAddrList != null && this.taskVo.rtuAddrList.size() > 0){
             state.rtuTotal = this.taskVo.rtuAddrList.size() ;
             if(this.upgradeRtus != null && this.upgradeRtus.size() > 0){
-                Collection<UpgradeRtu> col = this.upgradeRtus.values() ;
-                for(UpgradeRtu info : col){
+                this.upgradeRtus.values().stream().forEach(info ->{
                     if(info.state == UpgradeRtu.STATE_OFFLINE){
                         state.offLineTotal ++ ;
                     }else if(info.state == UpgradeRtu.STATE_UNSTART){
@@ -212,16 +211,19 @@
                         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) {
+                    }else if(info.state == UpgradeRtu.STATE_FAILOFFLINE) {
                         state.failTotal++;
+                        state.failOffTotal++;
                     }
                     if(info.isOver){
                         state.overTotal++;
                     }
-                }
+                });
             }
         }
         return state ;
@@ -271,7 +273,7 @@
      * 鍒ゆ柇鏄惁娌$敤浠讳綍涓�涓猂TU杩涜杩囧崌绾э紝鑰屼笖瓒呰繃浜嗘椂闄�
      * @return -1:鏃犱竴RTU鍗囩骇涓旇秴鏃讹紝0锛氭棤RTU鍗囩骇浣嗘湭瓒呮椂绛夊緟锛�1鏈塕TU鍗囩骇姝e父鎵ц
      */
-    protected int countNoOneRtuUpgrade(){
+    protected int countNoOneRtuUpgradeInDuration(){
         if(this.upgradeRtus == null || upgradeRtus.size() == 0){
             //褰撳墠娌℃湁浠讳綍涓�涓澶囪繘琛岃繃鍗囩骇
             Long now = System.currentTimeMillis() ;
@@ -297,7 +299,7 @@
     /**
      * 缁熻褰撳墠姝e湪鍗囩骇鐨凴TU鏁伴噺锛屼负鍚屾椂鍗囩骇鏁伴噺闄愬埗鍋氬噯澶�
      */
-    protected void statisticsRunningRtuCount(){
+    protected void countRunningRtuCount(){
         int runningTotal = 0 ;
         Collection<UpgradeRtu> col = this.upgradeRtus.values() ;
         for(UpgradeRtu info : col){
@@ -309,9 +311,9 @@
     }
 
     /**
-     * 缁熻闇�瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐�
+     * 缁熻闇�瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐碉紝瓒呰繃鏃堕檺鐨勮澶囦负鍗囩骇瀹屾垚
      */
-    protected void statisticsOffRtuCountAndSet() {
+    protected void countOffRtuAndSetIfOver() {
         Long now = System.currentTimeMillis() ;
         if(now - this.setupDtLong > UpgradeUnit.confVo.rtuOffLineWaitDuration){
             //rtu绂荤嚎锛岀瓑寰呭叾鍗囩骇鐨勬椂闀�(姣)锛岃秴杩囬厤缃殑鏈�澶ф椂闀匡紝璁剧疆鍏跺崌绾уけ璐ワ紝涓旇缃崌绾т换鍔″畬鎴�
@@ -330,7 +332,7 @@
     /**
      * 缁熻鏄惁鍗囩骇鍏ㄩ儴缁撴潫
      */
-    protected boolean statisticsIsAllOver() {
+    protected boolean countIsAllOver() {
         if (this.taskVo.rtuAddrList != null && this.taskVo.rtuAddrList.size() > 0) {
             Collection<UpgradeRtu> col = this.upgradeRtus.values() ;
             for(UpgradeRtu info : col){
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java
index e923f27..d2b8947 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java
@@ -78,7 +78,7 @@
      */
     public void overUpgradeTask() throws Exception {
         if(manager != null ){
-            manager.overUpgradeTask() ;
+            manager.forceOverUpgradeTask() ;
         }
     }
 

--
Gitblit v1.8.0