From 9f3c4a33279f10ed420d604765487558ab0744f0 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期五, 11 四月 2025 11:42:21 +0800
Subject: [PATCH] 获取已完成灌溉计划接口增加分页功能

---
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/largeScreen/Ls4StatisticsSv.java |   64 +++++++++++++++++++++++++++----
 1 files changed, 55 insertions(+), 9 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/largeScreen/Ls4StatisticsSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/largeScreen/Ls4StatisticsSv.java
index 620ad5f..e1a279a 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/largeScreen/Ls4StatisticsSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/largeScreen/Ls4StatisticsSv.java
@@ -5,6 +5,7 @@
 import com.dy.common.mw.protocol.Command;
 import com.dy.common.mw.protocol.CommandBackParam;
 import com.dy.common.util.DateTime;
+import com.dy.common.util.IDLongGenerator;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.pipIrrGlobal.daoLargeScreen.Ls4StatisticsMapper;
 import com.dy.pipIrrGlobal.rtuMw.CodeLocal;
@@ -12,6 +13,8 @@
 import com.dy.pipIrrGlobal.voLargeScreen.VoBaseInfo;
 import com.dy.pipIrrGlobal.voLargeScreen.VoCurrentInfo;
 import com.dy.pipIrrGlobal.voLargeScreen.VoMonitorInfo;
+import com.dy.pipIrrGlobal.voSpecial.VoTopXClient;
+import com.dy.pipIrrGlobal.voSpecial.VoTopXIntake;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
@@ -19,6 +22,7 @@
 import org.springframework.web.client.RestTemplate;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * @Author: liurunyu
@@ -72,14 +76,19 @@
         Date dtAtXHourBefore = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(DateTime.lastXHour_yyyy_MM_dd_HH_mm_ss(24)) ;//X涓皬鏃跺墠
         VoCurrentInfo vo = new VoCurrentInfo() ;
         Integer[] result = this.queryMwOnAndOffLine() ;
-        vo.totalCountOfOnLine = result[0] ;
-        vo.totalCountOfOffLine = totalCountOfIntake - vo.totalCountOfOnLine; ;
-        vo.totalCountOfOpenValve = this.dao.totalCountOfOpenValve(dtAtXHourBefore) ;
-        vo.totalCountOfCloseValve = this.dao.totalCountOfCloseValve(dtAtXHourBefore) ;
-        vo.totalCountOfUnknownValve = totalCountOfIntake - vo.totalCountOfOpenValve - vo.totalCountOfCloseValve ;
-        vo.totalCountOfAlarm = this.dao.totalCountOfAlarm(dtAtXHourBefore) ;
-        vo.totalCountOfNoAlarm = this.dao.totalCountOfNoAlarm(dtAtXHourBefore) ;
-        vo.totalCountOfUnknownAlarm = totalCountOfIntake - vo.totalCountOfAlarm - vo.totalCountOfNoAlarm ;
+        vo.cTotalCountOfOnLine = result[0] ;
+        vo.cTotalCountOfOffLine = totalCountOfIntake - vo.cTotalCountOfOnLine;
+        vo.cTotalCountOfOffLine = vo.cTotalCountOfOffLine < 0 ? 0 : vo.cTotalCountOfOffLine ;
+
+        vo.cTotalCountOfOpenValve = this.dao.totalCountOfOpenValve(dtAtXHourBefore) ;
+        vo.cTotalCountOfCloseValve = this.dao.totalCountOfCloseValve(dtAtXHourBefore) ;
+        vo.cTotalCountOfUnknownValve = totalCountOfIntake - vo.cTotalCountOfOpenValve - vo.cTotalCountOfCloseValve;
+        vo.cTotalCountOfUnknownValve = vo.cTotalCountOfUnknownValve < 0 ? 0 : vo.cTotalCountOfUnknownValve ;
+
+        vo.cTotalCountOfAlarm = this.dao.totalCountOfAlarm(dtAtXHourBefore) ;
+        vo.cTotalCountOfNoAlarm = this.dao.totalCountOfNoAlarm(dtAtXHourBefore) ;
+        vo.cTotalCountOfUnknownAlarm = totalCountOfIntake - vo.cTotalCountOfAlarm - vo.cTotalCountOfNoAlarm;
+        vo.cTotalCountOfUnknownAlarm = vo.cTotalCountOfUnknownAlarm < 0 ? 0 : vo.cTotalCountOfUnknownAlarm ;
         return vo ;
     }
 
@@ -87,8 +96,20 @@
      * 鐩戞祴淇℃伅缁熻
      * @return
      */
-    public VoMonitorInfo monitorInfo(Date startDt){
+    public VoMonitorInfo monitorInfo(Date fromDt){
         VoMonitorInfo vo = new VoMonitorInfo() ;
+        vo.mTotalCountOfReport = this.dao.mTotalCountOfReport(fromDt) ;
+        vo.mTotalCountOfNoReport = this.dao.mTotalCountOfNoReport(fromDt) ;
+        vo.mTotalCountOfNeverReport = this.dao.mTotalCountOfNeverReport() ;
+
+        vo.mTotalCountOfOpenValve = this.dao.mTotalCountOfOpenValve(fromDt) ;
+        vo.mTotalCountOfCloseValve = this.dao.mTotalCountOfCloseValve(fromDt) ;
+        vo.mTotalCountOfNeverOpenValve = this.dao.mTotalCountOfNeverOpenValve() ;
+
+        vo.mTotalCountOfAlarm = this.dao.mTotalCountOfAlarm(fromDt) ;
+        vo.mTotalCountOfNoAlarm = this.dao.mTotalCountOfNoAlarm(fromDt) ;
+        vo.mTotalCountOfNeverAlarm = this.dao.mTotalCountOfNeverAlarm() ;
+
         return vo ;
     }
 
@@ -124,4 +145,29 @@
         }
         return result ;
     }
+
+
+
+    /**
+     * 鏄ㄦ棩鍐滄埛鐢ㄦ按鍓�5鍚嶇粺璁�
+     * @return 鏁版嵁闆嗗悎
+     */
+    public List<VoTopXClient> top5ClientYesterday() {
+        int[] yesterday = DateTime.yyyy_MM_dd_2_ymdGroup(DateTime.lastXDay_yyyy_MM_dd(1)) ;
+        Long idStart = IDLongGenerator.generateOneDayStartId(yesterday[0], yesterday[1], yesterday[2]) ;
+        Long idEnd = IDLongGenerator.generateOneDayEndId(yesterday[0], yesterday[1], yesterday[2]) ;
+        return this.dao.topXClientAtCertainDay(idStart, idEnd, 5) ;
+    }
+
+    /**
+     * 鏄ㄦ棩鍙栨按鍙g敤姘村墠5鍚嶇粺璁�
+     * @return 鏁版嵁闆嗗悎
+     */
+    public List<VoTopXIntake> top5IntakeYesterday() {
+        int[] yesterday = DateTime.yyyy_MM_dd_2_ymdGroup(DateTime.lastXDay_yyyy_MM_dd(1)) ;
+        Long idStart = IDLongGenerator.generateOneDayStartId(yesterday[0], yesterday[1], yesterday[2]) ;
+        Long idEnd = IDLongGenerator.generateOneDayEndId(yesterday[0], yesterday[1], yesterday[2]) ;
+        return this.dao.topXIntakeAtCertainDay(idStart, idEnd, 5) ;
+    }
+
 }

--
Gitblit v1.8.0