From 644faea062b83c3f9b4451e2570b68c956bac3bf Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 28 十一月 2024 11:31:29 +0800 Subject: [PATCH] 修改升级记录数据库存付诸中的一个逻辑bug --- pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java | 83 ++++++++++++++++++++++------------------- 1 files changed, 45 insertions(+), 38 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 1add08d..22d6a5c 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 @@ -65,11 +65,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 +78,9 @@ if(info.ugRtuStateList != null && info.ugRtuStateList.size() > 0){ //姝ゆ椂淇濊瘉涓や釜闆嗗悎閮戒笉涓簄ull this.save2Db(info.ugTaskId, info.ugRtuStateList, cache.ugRtuStateList); - cache = info; } + //cache璧嬪�煎繀椤绘斁鍦ㄤ笂闈㈠鐞嗙殑鍚庨潰锛屽惁鍒欎笂闈㈢殑姣旇緝涓嶆垚鍔� + cache = info; } return null; } @@ -154,7 +155,7 @@ @Override public Object execute() throws Exception { while(!this.stop){ - if(!runDemo()){ + if(!runInDemo()){ this.stop = true ; }else{ try { @@ -188,7 +189,7 @@ } } } - private boolean runDemo(){ + private boolean runInDemo(){ for(UpgradeRtu rtu : cache.ugRtuStateList){ this.rtuUpgrade(rtu) ; } @@ -226,36 +227,6 @@ //绂荤嚎鐨勶紝涓嶅鐞� return ; } - int n = Integer.parseInt(new CreateRandom().create(2)) ; - if(n == 4 - || n == 14 - || n == 24 - || n == 34 - || n == 44 - || n == 54 - || n == 64 - || n == 74 - || n == 84 - || n == 95 - || n == 45 - || n == 46 - || n == 47 - || n == 48 - || n == 49){ - 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){ //鍗囩骇缁撴潫 @@ -263,9 +234,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 ; @@ -283,7 +280,6 @@ rtu.currentPackage += 1 ; rtu.currentRamAddr = 0x00 + UpgradeRtu.RAMADDRADD ; rtu.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; - rtu.reTryTimes = 0 ; rtu.isOver = false ; } @@ -301,6 +297,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){ @@ -309,9 +306,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){ @@ -322,6 +320,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