From b9a55925e492dcd02d6b8268797b0a02136cf3a7 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 28 十一月 2024 14:52:51 +0800 Subject: [PATCH] 修改查询升级结果的sql语句中的bug --- pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java | 77 ++++++++++++++++++++++++++------------ 1 files changed, 52 insertions(+), 25 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java index 63aaf1e..eb37c52 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java @@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.*; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; @@ -65,11 +66,11 @@ } } if(cache == null){ + cache = info; //姝ゆ椂涓嶅仛浠诲姟鎿嶄綔锛屽彧淇濋殰cache涓嶄负绌猴紝 绛夊緟涓嬫鍙戞潵鏁版嵁 if(info.ugRtuStateList != null && info.ugRtuStateList.size() > 0){ List<UpgradeRtu> overList = info.ugRtuStateList.stream().filter(itemVo -> itemVo.isOver).collect(Collectors.toList()) ; if(overList != null && overList.size() > 0){ - cache = info; this.save2Db(info.ugTaskId, overList); } } @@ -78,8 +79,13 @@ if(info.ugRtuStateList != null && info.ugRtuStateList.size() > 0){ //姝ゆ椂淇濊瘉涓や釜闆嗗悎閮戒笉涓簄ull this.save2Db(info.ugTaskId, info.ugRtuStateList, cache.ugRtuStateList); - cache = info; } + if(info.ugRtuStateList != null && info.ugRtuStateList.size() > 0){ + //姝ゆ椂淇濊瘉涓や釜闆嗗悎閮戒笉涓簄ull + info.ugRtuStateList.stream().sorted(Comparator.comparing(UpgradeRtu::getRtuAddr, Comparator.naturalOrder())).collect(Collectors.toList()); + } + //cache璧嬪�煎繀椤绘斁鍦ㄤ笂闈㈠鐞嗙殑鍚庨潰锛屽惁鍒欎笂闈㈢殑姣旇緝涓嶆垚鍔� + cache = info; } return null; } @@ -103,9 +109,10 @@ */ private void save2Db(String taskId, List<UpgradeRtu> newList, List<UpgradeRtu> oldList){ List<UpgradeRtu> newOverList = newList.stream().filter(vo -> vo.isOver).collect(Collectors.toList()) ; + List<UpgradeRtu> oldNoOverList = newList.stream().filter(vo -> !vo.isOver).collect(Collectors.toList()) ; for(UpgradeRtu nvo : newOverList){ if(nvo != null) { - if(oldList.stream().anyMatch(vo -> vo.rtuAddr.equals(nvo.rtuAddr) && vo.isOver == false)){ + if(oldNoOverList.stream().anyMatch(vo -> vo.rtuAddr.equals(nvo.rtuAddr))){ //涓婃娌℃湁鍗囩骇缁撴潫锛岃�屽綋鍓嶅崌绾х粨鏉熶簡 this.sv.saveRtuUpgradeState(Long.parseLong(taskId), nvo); } @@ -154,7 +161,7 @@ @Override public Object execute() throws Exception { while(!this.stop){ - if(!runDemo()){ + if(!runInDemo()){ this.stop = true ; }else{ try { @@ -188,7 +195,7 @@ } } } - private boolean runDemo(){ + private boolean runInDemo(){ for(UpgradeRtu rtu : cache.ugRtuStateList){ this.rtuUpgrade(rtu) ; } @@ -226,22 +233,6 @@ //绂荤嚎鐨勶紝涓嶅鐞� return ; } - int n = Integer.parseInt(new CreateRandom().create(2)) ; - if(n == 54){ - if(rtu.currentPackage == 1){ - //1鍖呮 - rtu.state = UpgradeRtu.STATE_FAILONE ; - return ; - } - } - - if(n == 45){ - if(rtu.currentPackage != 1){ - //鍗囨 - rtu.state = UpgradeRtu.STATE_FAIL ; - return ; - } - } if(rtu.currentPackage == rtu.totalPackage){ //鍗囩骇缁撴潫 @@ -249,9 +240,35 @@ rtu.isOver = true ; return ; } + if(rtu.reTryTimes >= 2){ + //閲嶈瘯娆℃暟杈惧埌鏈�澶у�� + if(rtu.state == UpgradeRtu.STATE_FAILONE || + rtu.state == UpgradeRtu.STATE_FAIL){ + //鍙堝け璐ヤ簡锛岃涓虹粨鏉熶簡 + rtu.isOver = true ; + return ; + } + } - if(rtu.state != UpgradeRtu.STATE_FAILONE && - rtu.state != UpgradeRtu.STATE_FAIL){ + int n = Integer.parseInt(new CreateRandom().create(3)) ; + if(n == 540 || n == 541 || n == 542 || n == 543 || n == 544 || n == 545 || n == 546 || n == 547 || n == 548 || n == 549 ){ + if(rtu.currentPackage == 1){ + //1鍖呮 + rtu.state = UpgradeRtu.STATE_FAILONE ; + return ; + } + } + + if(n == 450 || n == 451 || n == 452 || n == 453 || n == 454 || n == 455){ + if(rtu.currentPackage != 1){ + //鍗囨 + rtu.state = UpgradeRtu.STATE_FAIL ; + return ; + } + } + + if(rtu.state == UpgradeRtu.STATE_FAILONE || + rtu.state == UpgradeRtu.STATE_FAIL){ if(rtu.reTryTimes < 2){ rtu.state = UpgradeRtu.STATE_RUNNING ; rtu.currentPackage = 1 ; @@ -269,7 +286,6 @@ rtu.currentPackage += 1 ; rtu.currentRamAddr = 0x00 + UpgradeRtu.RAMADDRADD ; rtu.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; - rtu.reTryTimes = 0 ; rtu.isOver = false ; } @@ -287,6 +303,7 @@ for(UpgradeRtu rtu : cache.ugRtuStateList){ if(rtu.state == UpgradeRtu.STATE_OFFLINE){ cache.ugOverallState.offLineTotal ++ ; + cache.ugOverallState.failTotal++; }else if(rtu.state == UpgradeRtu.STATE_UNSTART){ cache.ugOverallState.unStartTotal ++ ; }else if(rtu.state == UpgradeRtu.STATE_RUNNING){ @@ -295,9 +312,10 @@ }else if(rtu.state == UpgradeRtu.STATE_SUCCESS) { cache.ugOverallState.successTotal++; }else if(rtu.state == UpgradeRtu.STATE_FAILONE) { - cache.ugOverallState.failOneTotal++; + cache.ugOverallState.dieOneTotal++; cache.ugOverallState.failTotal++; }else if(rtu.state == UpgradeRtu.STATE_FAIL) { + cache.ugOverallState.dieMultiTotal++; cache.ugOverallState.failTotal++; } if(rtu.isOver){ @@ -308,6 +326,15 @@ if(!hasRunning){ cache.ugOverallState.allOver = true ; } + if(cache.ugOverallState.allOver){ + cache.ugOverallState.overTotal = 0; + if(cache.ugRtuStateList != null && cache.ugRtuStateList.size() > 0){ + for(UpgradeRtu rtu : cache.ugRtuStateList){ + rtu.isOver = true ; + cache.ugOverallState.overTotal++; + } + } + } return hasRunning ; } } -- Gitblit v1.8.0