From a2d5f396dcee51917d333e42a977a544091e5389 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 10 二月 2025 14:02:57 +0800
Subject: [PATCH] 大屏展示--昨日农户用水前5名统计,昨日取水口用水统计前5名统计实现

---
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossSv.java |   80 ++++++++++++++++++++++++++++++++++------
 1 files changed, 68 insertions(+), 12 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossSv.java
index fcf0413..4692924 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossSv.java
@@ -3,7 +3,9 @@
 import com.alibaba.fastjson2.JSON;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoRm.RmLossDayMapper;
+import com.dy.pipIrrGlobal.daoSt.StLossMonthMapper;
 import com.dy.pipIrrGlobal.voSt.VoDayLoss;
+import com.dy.pipIrrGlobal.voSt.VoMonthAmount;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -12,7 +14,6 @@
 import java.text.ParseException;
 import java.util.List;
 import java.util.Map;
-import java.util.Optional;
 
 /**
  * @Author: liurunyu
@@ -25,7 +26,10 @@
 public class LossSv {
 
     @Autowired
-    private RmLossDayMapper rmLossDayMapper ;
+    private RmLossDayMapper dayDao;
+
+    @Autowired
+    private StLossMonthMapper monthDao;
 
     /**
      * 缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲�
@@ -37,28 +41,28 @@
         // 鐢熸垚鏌ヨ鍙傛暟
         Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
         // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
-        Long itemTotal = rmLossDayMapper.selectIntakeCount4LossDay(qo.intakeNum) ;
+        Long itemTotal = dayDao.selectIntakeCount4LossDay(qo.intakeNum) ;
 
         if(itemTotal != null && itemTotal > 0){
             rsVo.pageSize = qo.pageSize ;
             rsVo.pageCurr = qo.pageCurr ;
             rsVo.calculateAndSet(itemTotal, params);
 
-            List<VoDayLoss> list = rmLossDayMapper.selectIntakes4LossDay(params);
+            List<VoDayLoss> list = dayDao.selectIntakes4LossDay(params);
             if(list == null || list.size() == 0){
                 rsVo.obj = list ;
             }else{
                 String json = JSON.toJSONString(list) ;
                 params.put("intakesJson", json);
 
-                List<VoDayLoss> list01_05 = rmLossDayMapper.selectLossAmountOfDay01_05(params);
+                List<VoDayLoss> list01_05 = dayDao.selectLossAmountOfDay01_05(params);
                 if(list01_05 != null && list01_05.size() > 0){
-                    //涓嬮潰1鍒�31鍙峰垎浜�6涓煡璇紝鍘熷洜鏄叆涓�涓煡璇腑锛岄潪甯告參锛屼笉鐭ラ亾浠�涔堝師鍥狅紝涔熻鏄瓙鏌ヨ澶鐨勫師鍥�
-                    List<VoDayLoss> list06_10 = rmLossDayMapper.selectLossAmountOfDay06_10(params);
-                    List<VoDayLoss> list11_15 = rmLossDayMapper.selectLossAmountOfDay11_15(params);
-                    List<VoDayLoss> list16_20 = rmLossDayMapper.selectLossAmountOfDay16_20(params);
-                    List<VoDayLoss> list21_25 = rmLossDayMapper.selectLossAmountOfDay21_25(params);
-                    List<VoDayLoss> list26_31 = rmLossDayMapper.selectLossAmountOfDay26_31(params);
+                    //涓嬮潰1鍒�31鍙峰垎浜�6涓煡璇紝鍘熷洜鏄湪涓�涓煡璇腑锛岄潪甯告參锛屼笉鐭ラ亾浠�涔堝師鍥狅紝涔熻鏄瓙鏌ヨ澶鐨勫師鍥�
+                    List<VoDayLoss> list06_10 = dayDao.selectLossAmountOfDay06_10(params);
+                    List<VoDayLoss> list11_15 = dayDao.selectLossAmountOfDay11_15(params);
+                    List<VoDayLoss> list16_20 = dayDao.selectLossAmountOfDay16_20(params);
+                    List<VoDayLoss> list21_25 = dayDao.selectLossAmountOfDay21_25(params);
+                    List<VoDayLoss> list26_31 = dayDao.selectLossAmountOfDay26_31(params);
                     this.merge(list01_05, list06_10, list11_15, list16_20, list21_25, list26_31);
                 }
                 rsVo.obj = list01_05 ;
@@ -126,7 +130,59 @@
                 }
             }
         }
-
     }
 
+
+    /**
+     * 缁熻鎸囧畾鏈堜唤鍚勬湀婕忔崯閲�
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoMonthAmount>> lossAmountOfMonth(LossQo qo) throws ParseException {
+        QueryResultVo<List<VoMonthAmount>> rsVo = new QueryResultVo<>() ;
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        Long itemTotal = monthDao.selectIntakeCount4LossMonth(qo.intakeNum) ;
+
+        if(itemTotal != null && itemTotal > 0){
+            rsVo.pageSize = qo.pageSize ;
+            rsVo.pageCurr = qo.pageCurr ;
+            rsVo.calculateAndSet(itemTotal, params);
+
+            List<VoMonthAmount> list = monthDao.selectIntakes4LossMonth(params);
+            if(list == null || list.size() == 0){
+                rsVo.obj = list ;
+            }else{
+                String json = JSON.toJSONString(list) ;
+                params.put("intakesJson", json);
+
+                List<VoMonthAmount> list01_06 = monthDao.selectLossAmountOfMonth01_06(params);
+                if(list01_06 != null && list01_06.size() > 0){
+                    //涓嬮潰1鍒�12鏈堝垎浜�2涓煡璇紝鍘熷洜鏄湪涓�涓煡璇腑锛岄潪甯告參锛屼笉鐭ラ亾浠�涔堝師鍥狅紝涔熻鏄瓙鏌ヨ澶鐨勫師鍥�
+                    List<VoMonthAmount> list07_12 = monthDao.selectLossAmountOfMonth07_12(params);
+                    this.merge(list01_06, list07_12);
+                }
+                rsVo.obj = list01_06 ;
+            }
+        }
+        return rsVo ;
+    }
+
+    private void merge(List<VoMonthAmount> list01_06,
+                       List<VoMonthAmount> list07_12){
+        for(VoMonthAmount vo01_06 : list01_06){
+            for(VoMonthAmount vo07_12 : list07_12){
+                if(vo01_06.intakeId.longValue() == vo07_12.intakeId.longValue()){
+                    vo01_06.month7 = vo07_12.month7 ;
+                    vo01_06.month8 = vo07_12.month8 ;
+                    vo01_06.month9 = vo07_12.month9 ;
+                    vo01_06.month10 = vo07_12.month10 ;
+                    vo01_06.month11 = vo07_12.month11 ;
+                    vo01_06.month12 = vo07_12.month12 ;
+                    break ;
+                }
+            }
+        }
+    }
 }

--
Gitblit v1.8.0