From e542047aab71e433928cc0a51758d4847632c6c5 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 05 十二月 2024 15:24:27 +0800
Subject: [PATCH] 调整RTU状态查询中显示的内容(去掉一些内容不序列化成json)
---
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java | 73 ++++++++++++++++++++++++++++--------
1 files changed, 56 insertions(+), 17 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..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 ;
@@ -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 @@
}
///////////////////////////////////////////////////////////
- //浠ヤ笅鏂规硶涓哄唴閮ㄦ湇鍔★紝涓嶅澶栨彁渚涙湇鍔�
+ //
+ // 浠ヤ笅鏂规硶涓哄唴閮ㄦ湇鍔★紝涓嶅澶栨彁渚涙湇鍔�
+ //
///////////////////////////////////////////////////////////
/**
@@ -309,7 +311,7 @@
/**
* 缁熻褰撳墠姝e湪鍗囩骇鐨凴TU鏁伴噺锛屼负鍚屾椂鍗囩骇鏁伴噺闄愬埗鍋氬噯澶�
*/
- protected void countRunningRtuCount(){
+ protected int countRunningRtuCount(){
int runningTotal = 0 ;
Collection<UpgradeRtu> col = this.upgradeRtus.values() ;
for(UpgradeRtu info : col){
@@ -317,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