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 | 61 +++++++++++++++++++++++++-----
1 files changed, 51 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 5e11afd..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,28 +319,65 @@
runningTotal ++ ;
}
}
- this.curUgRunningRtuTotal = runningTotal ;
+ return this.curUgRunningRtuTotal = runningTotal ;
}
/**
* 缁熻闇�瑕佸崌绾т絾褰撳墠绂荤嚎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 ;
+ }
+ }
+
+ /**
+ * 缁熻:宸茬粡杩涘崌绾т絾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 ;
}
-
/**
* 缁熻鏄惁鍗囩骇鍏ㄩ儴缁撴潫
*/
--
Gitblit v1.8.0