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 | 84 +++++++++++++++++++++++++++++++++++-------
1 files changed, 70 insertions(+), 14 deletions(-)
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 bc79bf2..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
@@ -140,6 +140,9 @@
@GetMapping(path = "/curUpgradeState")
@SsoAop()
public BaseResponse<QueryResultVo<VoWatch> > curUpgradeState(QueryVo qvo){
+ if(qvo == null){
+ qvo = new QueryVo();
+ }
if(RtuUpgradeStateReceiverCtrl.cache == null){
//return BaseResponseUtils.buildError("褰撳墠娌℃湁鍗囩骇浠诲姟") ;
//姝e紡杩愯鏃讹紝涓嬮潰涓よ鍘绘帀锛屼笂闈竴琛屾墦寮�
@@ -152,24 +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 ;
- RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList.stream().filter(rtu -> rtu.rtuAddr.equals(qvo.rtuAddr)).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) ;
@@ -179,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