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-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java |   51 ++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 34 insertions(+), 17 deletions(-)

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 acfc12e..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();
@@ -192,15 +195,25 @@
             }else{
                 if(!this.task.taskIsOver){
                     //鍗囩骇浠诲姟鏈畬鎴�
-                    //宸ヤ綔1锛氱粺璁″綋鍓嶆鍦ㄥ崌绾х殑RTU鏁伴噺锛屼负鍙楅檺鍚屾椂鍗囩骇鏁伴噺鍋氬噯澶�
-                    this.task.statisticsRunningRtuCount() ;
+                    //宸ヤ綔1锛氬垽鏂槸鍚︽棤浠讳綍涓�涓猂TU杩涜杩囧崌绾э紝骞朵笖杈惧埌鏃堕檺锛屽垯璁や负褰撳墠鍗囩骇浠诲姟瀹屾垚
+                    //-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.countRunningRtuCount() ;
 
-                    //宸ヤ綔2锛氱粺璁¢渶瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐�
-                    this.task.statisticsOffRtuCountAndSet() ;
+                        //宸ヤ綔3锛氱粺璁¢渶瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐碉紝瓒呰繃鏃堕檺鐨勮澶囦负鍗囩骇瀹屾垚
+                        this.task.countOffRtuAndSetIfOver() ;
 
-                    //宸ヤ綔3锛氱粺璁℃槸鍚﹀叏閮ㄥ崌绾у畬鎴�
-                    this.task.taskIsOver = this.task.statisticsIsAllOver() ;
-
+                        //宸ヤ綔4锛氱粺璁℃槸鍚﹀叏閮ㄥ崌绾у畬鎴�
+                        this.task.taskIsOver = this.task.countIsAllOver() ;
+                    }else if(temp == 0){
+                        //涓嶄綔涓�
+                    }
                     if(this.task.taskIsOver){
                         if(!this.task.taskOverType.equals(UpgradeTask.TaskOverType_Force)){
                             //浠诲姟涓嶆槸寮哄埗缁撴潫鐨�
@@ -208,16 +221,20 @@
                             this.task.taskOverDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;//浠诲姟瀹屾垚鏃堕棿(yyyy-mm-dd HH:MM:SS)
                         }
                         //浠诲姟瀹屾垚锛屾墽琛屾渶鍚庝竴娆″崌绾х姸鎬侀�氱煡
-                        //宸ヤ綔4锛氬崌绾х姸鎬侀�氱煡
-                        if(!first){
-                            this.notifyUpgradeStatus() ;
-                        }
+                        //宸ヤ綔5锛氬崌绾х姸鎬侀�氱煡
+                        //if(!first){
+                        //    this.notifyUpgradeStatus() ;
+                        //}
                     }else{
                         //浠诲姟鏈畬鎴愶紝缁х画鎵ц鍗囩骇鐘舵�侀�氱煡
-                        //宸ヤ綔4锛� 鍗囩骇鐘舵�侀�氱煡
-                        if(!first){
-                            this.notifyUpgradeStatus() ;
-                        }
+                        //宸ヤ綔5锛� 鍗囩骇鐘舵�侀�氱煡
+                        //if(!first){
+                        //    this.notifyUpgradeStatus() ;
+                        //}
+                    }
+                    //宸ヤ綔5锛氬崌绾х姸鎬侀�氱煡
+                    if(!first){
+                        this.notifyUpgradeStatus() ;
                     }
                 }else{
                     //浠诲姟宸茬粡瀹屾垚

--
Gitblit v1.8.0