From 081a60a94c9c6a927b5a417e4b34c732dacd7bc6 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 14 十一月 2024 13:34:04 +0800
Subject: [PATCH] 修改升级监视功能模块,增加查询条件
---
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java | 82 +++++++++++++++++++++++++++++++++-------
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/QueryVo.java | 6 +++
2 files changed, 73 insertions(+), 15 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/QueryVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/QueryVo.java
index aac5f50..3f2f7cb 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/QueryVo.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/QueryVo.java
@@ -17,5 +17,11 @@
@Schema(description = "鎺у埗鍣ㄥ湴鍧�")
public String rtuAddr ;
+ @Schema(description = "鐘舵��")
+ public Integer status ;//杩涜涓� 锛� 1 宸茬粨鏉� 锛� 0
+
+ @Schema(description = "缁撴灉")
+ public Integer result ;//鎴愬姛 : 1 澶辫触 锛� 0
+
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java
index 0fdd253..16fcc9f 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java
@@ -155,25 +155,23 @@
vo.upgrade = this.sv.selectTaskDetail(RtuUpgradeStateReceiverCtrl.cache.ugTaskId);
vo.overall = RtuUpgradeStateReceiverCtrl.cache.ugOverallState ;
vo.rtus = new ArrayList<>() ;
- if(RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList != null && RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList.size() > 0){
- if(qvo.rtuAddr != null && !qvo.rtuAddr.trim().equals("")){
- qvo.pageCurr = 1 ;
- final String queryAddr = qvo.rtuAddr ;
- RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList.stream().filter(rtu -> rtu.rtuAddr.equals(queryAddr)).forEach(ugRtu -> {
- VoWatch.VoWatchRtu rtu = new VoWatch.VoWatchRtu() ;
- rtu.fromCache(ugRtu) ;
- vo.rtus.add(rtu) ;
- }); ;
- }else{
+ List<UpgradeRtu> listFiltered = null ;
+ if(RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList != null && RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList.size() > 0) {
+ listFiltered = filterByQuery(qvo) ;
+ if (listFiltered.size() > 0) {
if(qvo.pageCurr < 1){
qvo.pageCurr = 1 ;
}
int start = (qvo.pageCurr - 1) * qvo.pageSize ;
- if(start >= RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList.size()){
- start = RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList.size() - 1 ;
+ if(start >= listFiltered.size()){
+ if(listFiltered.size()%qvo.pageSize > 0){
+ start = listFiltered.size() - listFiltered.size()%qvo.pageSize ;
+ }else{
+ start = listFiltered.size() - qvo.pageSize ;
+ }
}
- for(int i = start; i < (start + qvo.pageSize) && i < RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList.size(); i++){
- UpgradeRtu ugRtu = RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList.get(i) ;
+ for(int i = start; i < (start + qvo.pageSize) && i < listFiltered.size(); i++){
+ UpgradeRtu ugRtu = listFiltered.get(i) ;
VoWatch.VoWatchRtu rtu = new VoWatch.VoWatchRtu() ;
rtu.fromCache(ugRtu) ;
vo.rtus.add(rtu) ;
@@ -183,7 +181,61 @@
rsVo.obj = vo ;
rsVo.pageSize = qvo.pageSize ;
rsVo.pageCurr = qvo.pageCurr ;
- rsVo.calculateAndSet(0L + vo.rtus.size(), null);
+ rsVo.calculateAndSet(0L + (listFiltered==null?0:listFiltered.size()), null);
return BaseResponseUtils.buildSuccess(rsVo) ;
}
+
+ private List<UpgradeRtu> filterByQuery(QueryVo qvo){
+ if (qvo.status != null || qvo.result != null) {
+ final Integer qvoStatus = qvo.status ;
+ final Integer qvoResult = qvo.result ;
+ final String qvoRtuAddr = qvo.rtuAddr ;
+ return RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList.stream().filter(rtu -> {
+ boolean ok = false;
+ if (qvoStatus != null) {
+ if (qvoStatus.intValue() == 1) {
+ if (rtu.state == UpgradeRtu.STATE_RUNNING) {
+ ok = true;
+ }else{
+ ok = false ;
+ }
+ } else if (qvoStatus.intValue() == 0) {
+ if (rtu.isOver) {
+ ok = true;
+ }else{
+ ok = false ;
+ }
+ }
+ }
+ if (qvoResult != null) {
+ if (qvoResult.intValue() == 1) {
+ if (rtu.state == UpgradeRtu.STATE_SUCCESS) {
+ ok = true;
+ }else{
+ ok = false ;
+ }
+ } else if (qvoResult.intValue() == 0) {
+ if (rtu.state == UpgradeRtu.STATE_OFFLINE
+ || rtu.state == UpgradeRtu.STATE_FAILONE
+ || rtu.state == UpgradeRtu.STATE_FAIL
+ || rtu.state == UpgradeRtu.STATE_FAILOFFLINE) {
+ ok = true;
+ }else{
+ ok = false ;
+ }
+ }
+ }
+ if(qvoRtuAddr != null && !qvoRtuAddr.trim().equals("")){
+ if(rtu.rtuAddr.equals(qvoRtuAddr)){
+ ok = true;
+ }else{
+ ok = false ;
+ }
+ }
+ return ok;
+ }).toList() ;
+ }else{
+ return RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList ;
+ }
+ }
}
--
Gitblit v1.8.0