From 7397da53f78cc4c66ffaad3f7d9554dfaa3f0763 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期二, 06 八月 2024 14:22:50 +0800
Subject: [PATCH] 2024-08-06 朱宝民 用水量超过指定值、消费金额超过指定值、用水时长超过指定值

---
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 117 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java
index 13e5a35..f86b5db 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java
@@ -3,7 +3,10 @@
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveHistoryMapper;
 import com.dy.pipIrrGlobal.voSt.VoClient;
+import com.dy.pipIrrStatistics.client.qo.AmountSpentQO;
 import com.dy.pipIrrStatistics.client.qo.OpenCountQO;
+import com.dy.pipIrrStatistics.client.qo.WaterConsumptionQO;
+import com.dy.pipIrrStatistics.client.qo.WaterDurationQO;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -102,4 +105,118 @@
         rsVo.obj = rmOpenCloseValveHistoryMapper.getSmallOpenCountClients(params);
         return rsVo ;
     }
+
+    /**
+     * 鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍐滄埛
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoClient>> getLargeWaterConsumptionClients(WaterConsumptionQO qo) {
+        /**
+         * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡
+         */
+        String timeStart = qo.getTimeStart();
+        String timeStop = qo.getTimeStop();
+        if(timeStart != null) {
+            timeStart = timeStart + " 00:00:00";
+        }else {
+            timeStart = LocalDate.now() + " 00:00:00";
+        }
+        if(timeStop != null) {
+            timeStop = timeStop + " 23:59:59";
+        }
+        qo.setTimeStart(timeStart);
+        qo.setTimeStop(timeStop);
+
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        Long itemTotal = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getLargeWaterConsumptionClientsCount(params)).orElse(0L);
+
+        QueryResultVo<List<VoClient>> rsVo = new QueryResultVo<>() ;
+
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmOpenCloseValveHistoryMapper.getLargeWaterConsumptionClients(params);
+        return rsVo ;
+    }
+
+    /**
+     * 鑾峰彇鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍐滄埛
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoClient>> getLargeAmountSpentClients(AmountSpentQO qo) {
+        /**
+         * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡
+         */
+        String timeStart = qo.getTimeStart();
+        String timeStop = qo.getTimeStop();
+        if(timeStart != null) {
+            timeStart = timeStart + " 00:00:00";
+        }else {
+            timeStart = LocalDate.now() + " 00:00:00";
+        }
+        if(timeStop != null) {
+            timeStop = timeStop + " 23:59:59";
+        }
+        qo.setTimeStart(timeStart);
+        qo.setTimeStop(timeStop);
+
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        Long itemTotal = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getLargeAmountSpentClientsCount(params)).orElse(0L);
+
+        QueryResultVo<List<VoClient>> rsVo = new QueryResultVo<>() ;
+
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmOpenCloseValveHistoryMapper.getLargeAmountSpentClients(params);
+        return rsVo ;
+    }
+
+    /**
+     * 鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍐滄埛
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoClient>> getLargeWaterDurationClients(WaterDurationQO qo) {
+        /**
+         * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡
+         */
+        String timeStart = qo.getTimeStart();
+        String timeStop = qo.getTimeStop();
+        if(timeStart != null) {
+            timeStart = timeStart + " 00:00:00";
+        }else {
+            timeStart = LocalDate.now() + " 00:00:00";
+        }
+        if(timeStop != null) {
+            timeStop = timeStop + " 23:59:59";
+        }
+        qo.setTimeStart(timeStart);
+        qo.setTimeStop(timeStop);
+
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        Long itemTotal = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getLargeWaterDurationClientsCount(params)).orElse(0L);
+
+        QueryResultVo<List<VoClient>> rsVo = new QueryResultVo<>() ;
+
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmOpenCloseValveHistoryMapper.getLargeWaterDurationClients(params);
+        return rsVo ;
+    }
 }

--
Gitblit v1.8.0