From 1f46976c9ee72d7889fceee968db9c8aef885eca Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 28 十月 2024 17:28:15 +0800
Subject: [PATCH] 远程监控中开关阀记录查询重构,增加了水价信息,调整了显示内容,优化SQL语句,开闭阀类型改为通信协议中的Common*.*.java中的统一匹配。

---
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java |  258 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 256 insertions(+), 2 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java
index ed17765..8a0af3b 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java
@@ -1,14 +1,21 @@
 package com.dy.pipIrrRemote.report;
 
+import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoRm.*;
 import com.dy.pipIrrGlobal.voRm.VoOnHour;
-import com.dy.pipIrrRemote.report.qo.ReportQO;
+import com.dy.pipIrrGlobal.voRm.VoOpenCloseValve;
+import com.dy.pipIrrGlobal.voRm.VoTiming;
+import com.dy.pipIrrGlobal.voRm.VoWork;
+import com.dy.pipIrrRemote.report.qo.OnHourQO;
+import com.dy.pipIrrRemote.report.qo.OpenCloseValveQO;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
 
@@ -44,7 +51,7 @@
      * @param qo
      * @return
      */
-    public QueryResultVo<List<VoOnHour>> getOnHourReportsHistory(ReportQO qo) {
+    public QueryResultVo<List<VoOnHour>> getOnHourReportsHistory(OnHourQO qo) {
         String timeStart = qo.getTimeStart();
         String timeStop = qo.getTimeStop();
         if(timeStart != null) {
@@ -68,5 +75,252 @@
         return rsVo ;
     }
 
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ユ渶鏂拌褰�
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoOnHour>> getOnHourReportsLast(OnHourQO qo) {
+        String timeStart = qo.getTimeStart();
+        String timeStop = qo.getTimeStop();
+        if(timeStart != null) {
+            timeStart = timeStart + " 00:00:00";
+            qo.setTimeStart(timeStart);
+        }
+        if(timeStop != null) {
+            timeStop = timeStop + " 23:59:59";
+            qo.setTimeStop(timeStop);
+        }
 
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+        Long itemTotal = rmOnHourReportLastMapper.getOnHourReportsCount_last(params);
+
+        QueryResultVo<List<VoOnHour>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmOnHourReportLastMapper.getOnHourReports_last(params);
+        return rsVo ;
+    }
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍏抽榾鎶ュ巻鍙茶褰�
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoOpenCloseValve>> getOpenCloseValveReports_history(OpenCloseValveQO qo) {
+        String timeStart_open = qo.getTimeStart_open();
+        String timeStop_open = qo.getTimeStop_open();
+        if(timeStart_open != null && timeStart_open != "") {
+            timeStart_open = timeStart_open + " 00:00:00";
+        } else {
+            timeStart_open = LocalDateTime.now().minusDays(30) + " 00:00:00";
+        }
+        qo.setTimeStart_open(timeStart_open);
+
+        if(timeStop_open != null && timeStop_open != "") {
+            timeStop_open = timeStop_open + " 23:59:59";
+        }else {
+            timeStop_open = LocalDate.now() + " 23:59:59";
+        }
+        qo.setTimeStop_open(timeStop_open);
+
+        String timeStart_close = qo.getTimeStart_close();
+        String timeStop_close = qo.getTimeStop_close();
+        if(timeStart_close != null && timeStart_close != "") {
+            timeStart_close = timeStart_close + " 00:00:00";
+        } else {
+            timeStart_close = LocalDate.now().minusDays(30) + " 00:00:00";
+        }
+        qo.setTimeStart_close(timeStart_close);
+
+        if(timeStop_close != null && timeStop_close != "") {
+            timeStop_close = timeStop_close + " 23:59:59";
+        }else {
+            timeStop_close = LocalDate.now() + " 23:59:59";
+        }
+        qo.setTimeStop_close(timeStop_close);
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+        Long itemTotal = rmOpenCloseValveHistoryMapper.getOpenCloseValveReportsCount_history(params);
+
+        QueryResultVo<List<VoOpenCloseValve>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        List<VoOpenCloseValve> list = rmOpenCloseValveHistoryMapper.getOpenCloseValveReports_history(params);
+        if (list != null && list.size() > 0) {
+            for (VoOpenCloseValve vo : list) {
+                vo.setOpenType(CommonV1_0_1.openCloseValveType(vo.getOpenType_()==null?(byte)100:vo.getOpenType_()));
+                vo.setCloseType(CommonV1_0_1.openCloseValveType(vo.getCloseType_()==null?(byte)100:vo.getCloseType_()));
+            }
+        }
+        rsVo.obj = list;
+        return rsVo ;
+    }
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍏抽榾鎶ユ渶鏂拌褰�
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoOpenCloseValve>> getOpenCloseValveReports_last(OpenCloseValveQO qo) {
+        String timeStart_open = qo.getTimeStart_open();
+        String timeStop_open = qo.getTimeStop_open();
+        if(timeStart_open != null) {
+            timeStart_open = timeStart_open + " 00:00:00";
+            qo.setTimeStart_open(timeStart_open);
+        }
+        if(timeStop_open != null) {
+            timeStop_open = timeStop_open + " 23:59:59";
+            qo.setTimeStop_open(timeStop_open);
+        }
+
+        String timeStart_close = qo.getTimeStart_close();
+        String timeStop_close = qo.getTimeStop_close();
+        if(timeStart_close != null) {
+            timeStart_close = timeStart_close + " 00:00:00";
+            qo.setTimeStart_close(timeStart_close);
+        }
+        if(timeStop_close != null) {
+            timeStop_close = timeStop_close + " 23:59:59";
+            qo.setTimeStop_close(timeStop_close);
+        }
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+        Long itemTotal = rmOpenCloseValveLastMapper.getOpenCloseValveReportsCount_last(params);
+
+        QueryResultVo<List<VoOpenCloseValve>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        List<VoOpenCloseValve> list = rmOpenCloseValveLastMapper.getOpenCloseValveReports_last(params);
+        if (list != null && list.size() > 0) {
+            for (VoOpenCloseValve vo : list) {
+                vo.setOpenType(CommonV1_0_1.openCloseValveType(vo.getOpenType_()==null?(byte)100:vo.getOpenType_()));
+                vo.setCloseType(CommonV1_0_1.openCloseValveType(vo.getCloseType_()==null?(byte)100:vo.getCloseType_()));
+            }
+        }
+        rsVo.obj = list;
+        return rsVo ;
+    }
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇瀹氭椂鎶ュ巻鍙茶褰�
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoTiming>> getTimingReportsHistory(OnHourQO qo) {
+        String timeStart = qo.getTimeStart();
+        String timeStop = qo.getTimeStop();
+        if(timeStart != null) {
+            timeStart = timeStart + " 00:00:00";
+            qo.setTimeStart(timeStart);
+        }
+        if(timeStop != null) {
+            timeStop = timeStop + " 23:59:59";
+            qo.setTimeStop(timeStop);
+        }
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+        Long itemTotal = rmTimingReportHistoryMapper.getTimingReportsCount_history(params);
+
+        QueryResultVo<List<VoTiming>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmTimingReportHistoryMapper.getTimingReports_history(params);
+        return rsVo ;
+    }
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇瀹氭椂鎶ユ渶鏂拌褰�
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoTiming>> getTimingReportsLast(OnHourQO qo) {
+        String timeStart = qo.getTimeStart();
+        String timeStop = qo.getTimeStop();
+        if(timeStart != null) {
+            timeStart = timeStart + " 00:00:00";
+            qo.setTimeStart(timeStart);
+        }
+        if(timeStop != null) {
+            timeStop = timeStop + " 23:59:59";
+            qo.setTimeStop(timeStop);
+        }
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+        Long itemTotal = rmTimingReportLastMapper.getTimingReportsCount_last(params);
+
+        QueryResultVo<List<VoTiming>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmTimingReportLastMapper.getTimingReports_last(params);
+        return rsVo ;
+    }
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇宸ヤ綔鎶ュ巻鍙茶褰�
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoWork>> getWorkReportsHistory(OnHourQO qo) {
+        String timeStart = qo.getTimeStart();
+        String timeStop = qo.getTimeStop();
+        if(timeStart != null) {
+            timeStart = timeStart + " 00:00:00";
+            qo.setTimeStart(timeStart);
+        }
+        if(timeStop != null) {
+            timeStop = timeStop + " 23:59:59";
+            qo.setTimeStop(timeStop);
+        }
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+        Long itemTotal = rmWorkReportHistoryMapper.getWorkReportsCount_history(params);
+
+        QueryResultVo<List<VoWork>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmWorkReportHistoryMapper.getWorkReports_history(params);
+        return rsVo ;
+    }
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇宸ヤ綔鎶ユ渶鏂拌褰�
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoWork>> getWorkReportsLast(OnHourQO qo) {
+        String timeStart = qo.getTimeStart();
+        String timeStop = qo.getTimeStop();
+        if(timeStart != null) {
+            timeStart = timeStart + " 00:00:00";
+            qo.setTimeStart(timeStart);
+        }
+        if(timeStop != null) {
+            timeStop = timeStop + " 23:59:59";
+            qo.setTimeStop(timeStop);
+        }
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+        Long itemTotal = rmWorkReportLastMapper.getWorkReportsCount_last(params);
+
+        QueryResultVo<List<VoWork>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmWorkReportLastMapper.getWorkReports_last(params);
+        return rsVo ;
+    }
 }

--
Gitblit v1.8.0