From 8c1f294b7ba20b05753ad274dcb5530a389ea78d Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 29 十一月 2024 14:28:37 +0800
Subject: [PATCH] RTU升级结果判断并数据库存逻辑bug修改
---
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java | 36 ++++++++++++++++++++++--------------
1 files changed, 22 insertions(+), 14 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 f58698e..b4707e6 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 ;
@@ -137,8 +137,7 @@
//rtu涓嶅湪鍗囩骇涔嬪垪
return ;
}
- }
- if(ugRtu != null){
+ }else{
if(ugRtu.isOver){
//褰撳墠RTU宸茬粡鍗囩骇瀹屾垚锛屾棤闇�鍐嶅崌绾�
return;
@@ -174,13 +173,9 @@
ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ;
}
}
- }else{
- //rtu涓嶅湪鍗囩骇涔嬪垪
- return ;
}
}
}
-
/**
* 寮哄埗缁撴潫鍗囩骇浠诲姟
*/
@@ -194,6 +189,7 @@
}
}
+
/**
* 褰撳墠鍗囩骇鐘舵��
* @return
@@ -206,7 +202,7 @@
AtomicBoolean hasRunning = new AtomicBoolean(false);
this.upgradeRtus.values().forEach(info ->{
if(info.state == UpgradeRtu.STATE_OFFLINE){
- state.failTotal++;
+ state.offLineTotal++ ;
}else if(info.state == UpgradeRtu.STATE_UNSTART){
state.unStartTotal ++ ;
}else if(info.state == UpgradeRtu.STATE_RUNNING){
@@ -214,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++;
@@ -276,7 +276,9 @@
}
///////////////////////////////////////////////////////////
- //浠ヤ笅鏂规硶涓哄唴閮ㄦ湇鍔★紝涓嶅澶栨彁渚涙湇鍔�
+ //
+ // 浠ヤ笅鏂规硶涓哄唴閮ㄦ湇鍔★紝涓嶅澶栨彁渚涙湇鍔�
+ //
///////////////////////////////////////////////////////////
/**
@@ -322,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