From db31f95644e77010ffb88ac9e57e618818737733 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 09 一月 2025 11:25:23 +0800
Subject: [PATCH] 优化”开阀操作次数“、”关阀操作次数“、”时间段内开阀次数超过指定值“、”时间段内开阀次数低于指定值“、”时间段有开阀无关阀“、”时间段无开阀有关阀“功能实现及sql。

---
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java |  275 ++++++++++++++++--------------------------------------
 1 files changed, 82 insertions(+), 193 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java
index 613d661..fa96fca 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java
@@ -15,10 +15,7 @@
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
-import java.util.Calendar;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
 
 /**
  * @author ZhuBaoMin
@@ -231,23 +228,6 @@
      * @return
      */
     public QueryResultVo<List<VoIntakeOpenCount>> getOpenValveGtIntakes(IntakeCountValueQO qo) {
-
-        String timeStart = qo.getTimeStart();
-        String timeStop = qo.getTimeStop();
-        if(timeStart != null && timeStart != "") {
-            timeStart = timeStart + " 00:00:00";
-        } else {
-            timeStart = LocalDate.now() + " 00:00:00";
-        }
-        qo.setTimeStart(timeStart);
-
-        if(timeStop != null && timeStop != "") {
-            timeStop = timeStop + " 23:59:59";
-        }else {
-            timeStop = LocalDate.now() + " 23:59:59";
-        }
-        qo.setTimeStop(timeStop);
-
         // 鐢熸垚鏌ヨ鍙傛暟
         Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
 
@@ -270,25 +250,8 @@
      * @return
      */
     public QueryResultVo<List<VoIntakeOpenCount>> getOpenValveLtIntakes(IntakeCountValueQO qo) {
-
-        String timeStart = qo.getTimeStart();
-        String timeStop = qo.getTimeStop();
-        if(timeStart != null && timeStart != "") {
-            timeStart = timeStart + " 00:00:00";
-        } else {
-            timeStart = LocalDate.now() + " 00:00:00";
-        }
-        qo.setTimeStart(timeStart);
-
-        if(timeStop != null && timeStop != "") {
-            timeStop = timeStop + " 23:59:59";
-        }else {
-            timeStop = LocalDate.now() + " 23:59:59";
-        }
-        qo.setTimeStop(timeStop);
-
         // 鐢熸垚鏌ヨ鍙傛暟
-        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
 
         // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
         Long itemTotal = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getOpenValveLtIntakesCount(params)).orElse(0L);
@@ -305,137 +268,97 @@
 
     /**
      * 鏍规嵁寮�闃�绫诲瀷鑾峰彇鎿嶄綔娆℃暟
-     * @param qo
+     * @param idStart
+     * @param idEnd
+     * @param openType
      * @return
      */
-    public VoCountOfOpenType getCountByOpenType(OpenTypeQO qo) {
-        /**
-         * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡锛屽鏋滅粨鏉熸椂闂翠负绌猴紝鍒欐煡璇㈡椂闂翠负绌�
-         */
-        String timeStart = qo.getTimeStart();
-        String timeStop = qo.getTimeStop();
-        if(timeStop != null) {
-            timeStop = timeStop + " 23:59:59";
-            if(timeStart != null) {
-                timeStart = timeStart + " 00:00:00";
-            }else {
-                timeStart = LocalDate.now() + " 00:00:00";
-            }
-        }else {
-            timeStart = null;
-        }
-        qo.setTimeStart(timeStart);
-        qo.setTimeStop(timeStop);
-
-        Integer openType = qo.getOpenType();
-        String openTypeName = "";
-        if (openType == null){
-            openTypeName = "涓嶇煡閬撴偍瑕佹煡閭g寮�闃�绫诲瀷";
-        }else {
-            switch (openType) {
-                case 1:
-                    openTypeName = "鍒峰崱寮�闃�";
-                    break;
-                case 3:
-                    openTypeName = "涓績绔欏紑闃�";
-                    break;
-                case 8:
-                    openTypeName = "鐢ㄦ埛杩滅▼寮�闃�";
-                    break;
-                case 11:
-                    openTypeName = "宸℃鍗″紑闃�";
-                    break;
-                case 13:
-                    openTypeName = "宸℃鍗″紑闃�";
-                    break;
-                default:
-                    openTypeName = "涓嶇煡閬撴偍瑕佹煡閭g寮�闃�绫诲瀷";
-            }
-        }
-
+    public List<VoCountOfOpenType> getCountByOpenType(Long idStart, Long idEnd, Integer openType) {
         // 鐢熸垚鏌ヨ鍙傛暟
-        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+        Map<String, Object> params = new HashMap<>() ;
+        params.put("idStart", idStart);
+        params.put("idEnd", idEnd);
+        params.put("openType", openType);
 
-        Integer openTypeCount = Optional.ofNullable(rmOpenCloseValveLastMapper.getCountByOpenType(params)).orElse(0);
-
-        VoCountOfOpenType vo = new VoCountOfOpenType();
-        vo.setOpenTypeName(openTypeName);
-        vo.setOpenTypeCount(openTypeCount);
-        return vo;
+        List<VoCountOfOpenType> list = rmOpenCloseValveLastMapper.getCountByOpenType(params) ;
+        if(list != null){
+            for (VoCountOfOpenType vo : list) {
+                if (vo.openType == null){
+                    switch (vo.openType) {
+                        case 1:
+                            vo.openTypeName = "鍒峰崱寮�闃�";
+                            break;
+                        case 3:
+                            vo.openTypeName = "涓績绔欏紑闃�";
+                            break;
+                        case 8:
+                            vo.openTypeName = "鐢ㄦ埛杩滅▼寮�闃�";
+                            break;
+                        case 11:
+                            vo.openTypeName = "宸℃鍗″紑闃�";
+                            break;
+                        default:
+                            vo.openTypeName = "鏈煡绫诲瀷寮�闃�";
+                    }
+                }
+            }
+        }
+        return list ;
     }
 
     /**
      * 鏍规嵁鍏抽榾绫诲瀷鑾峰彇鎿嶄綔娆℃暟
-     * @param qo
+     * @param idStart
+     * @param idEnd
+     * @param closeType
      * @return
      */
-    public VoCountOfCloseType getCountByCloseType(CloseTypeQo qo) {
-        /**
-         * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡
-         */
-        String timeStart = qo.getTimeStart();
-        String timeStop = qo.getTimeStop();
-        if(timeStop != null) {
-            timeStop = timeStop + " 23:59:59";
-            if(timeStart != null) {
-                timeStart = timeStart + " 00:00:00";
-            }else {
-                timeStart = LocalDate.now() + " 00:00:00";
-            }
-        }else {
-            timeStart = null;
-        }
-        qo.setTimeStart(timeStart);
-        qo.setTimeStop(timeStop);
+    public List<VoCountOfCloseType> getCountByCloseType(Long idStart, Long idEnd, Integer closeType) {
+        Map<String, Object> params = new HashMap<>() ;
+        params.put("idStart", idStart);
+        params.put("idEnd", idEnd);
+        params.put("closeType", closeType);
 
-        Integer closeType = qo.getCloseType();
-        String closeTypeName = "";
-        if (closeType == null){
-            closeTypeName = "涓嶇煡閬撴偍瑕佹煡閭g鍏抽榾绫诲瀷";
-        }else {
-            switch (closeType) {
-                case 2:
-                    closeTypeName = "鍒峰崱鍏抽榾";
-                    break;
-                case 4:
-                    closeTypeName = "涓績绔欏叧闃�";
-                    break;
-                case 5:
-                    closeTypeName = "娆犺垂鍏抽榾";
-                    break;
-                case 6:
-                    closeTypeName = "娴侀噺璁℃晠闅滃叧闃�";
-                    break;
-                case 7:
-                    closeTypeName = "绱ф�ュ叧闃�";
-                    break;
-                case 9:
-                    closeTypeName = "鐢ㄦ埛杩滅▼鍏抽榾";
-                    break;
-                case 10:
-                    closeTypeName = "宸℃鍗″叧闃�";
-                    break;
-                case 12:
-                    closeTypeName = "榛戝悕鍗曞懡浠ゅ叧闃�";
-                    break;
-                case 13:
-                    closeTypeName = "杩滅▼瀹氭椂鍏抽榾";
-                    break;
-                case 14:
-                    closeTypeName = "杩滅▼瀹氶噺鍏抽榾";
-                    break;
-                default:
-                    closeTypeName = "涓嶇煡閬撴偍瑕佹煡閭g鍏抽榾绫诲瀷";
+        List<VoCountOfCloseType> list = rmOpenCloseValveLastMapper.getCountByCloseType(params) ;
+        if(list != null) {
+            for (VoCountOfCloseType vo : list) {
+                switch (vo.closeType) {
+                    case 2:
+                        vo.closeTypeName = "鍒峰崱鍏抽榾";
+                        break;
+                    case 4:
+                        vo.closeTypeName = "涓績绔欏叧闃�";
+                        break;
+                    case 5:
+                        vo.closeTypeName = "娆犺垂鍏抽榾";
+                        break;
+                    case 6:
+                        vo.closeTypeName = "娴侀噺璁℃晠闅滃叧闃�";
+                        break;
+                    case 7:
+                        vo.closeTypeName = "绱ф�ュ叧闃�";
+                        break;
+                    case 9:
+                        vo.closeTypeName = "鐢ㄦ埛杩滅▼鍏抽榾";
+                        break;
+                    case 10:
+                        vo.closeTypeName = "宸℃鍗″叧闃�";
+                        break;
+                    case 12:
+                        vo.closeTypeName = "榛戝悕鍗曞懡浠ゅ叧闃�";
+                        break;
+                    case 13:
+                        vo.closeTypeName = "杩滅▼瀹氭椂鍏抽榾";
+                        break;
+                    case 14:
+                        vo.closeTypeName = "杩滅▼瀹氶噺鍏抽榾";
+                        break;
+                    default:
+                        vo.closeTypeName = "鏈煡鍏抽榾绫诲瀷";
+                }
             }
         }
-        // 鐢熸垚鏌ヨ鍙傛暟
-        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
-        Integer closeTypeCount = Optional.ofNullable(rmOpenCloseValveLastMapper.getCountByCloseType(params)).orElse(0);
-
-        VoCountOfCloseType vo = new VoCountOfCloseType();
-        vo.setCloseTypeName(closeTypeName);
-        vo.setCloseTypeCount(closeTypeCount);
-        return vo;
+        return list ;
     }
 
     /**
@@ -615,24 +538,7 @@
      * @param qo
      * @return
      */
-    public QueryResultVo<List<VoIntake>> getHaveOpenNoCloseIntakes(CommonQO qo) {
-        String timeStart = qo.getTimeStart();
-        String timeStop = qo.getTimeStop();
-        if(timeStart != null && timeStart != "") {
-            timeStart = timeStart + " 00:00:00";
-        } else {
-            timeStart = LocalDate.now() + " 00:00:00";
-        }
-        qo.setTimeStart(timeStart);
-
-        if(timeStop != null && timeStop != "") {
-            timeStop = timeStop + " 23:59:59";
-        }else {
-            timeStop = LocalDate.now() + " 23:59:59";
-        }
-        qo.setTimeStop(timeStop);
-
-
+    public QueryResultVo<List<VoIntake>> getHaveOpenNoCloseIntakes(IntakeCountValueQO qo) {
         Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
         Long itemTotal = rmOpenCloseValveHistoryMapper.getHaveOpenNoCloseIntakesCount(params);
 
@@ -650,24 +556,7 @@
      * @param qo
      * @return
      */
-    public QueryResultVo<List<VoIntake>> getNoOpenHaveCloseIntakes(CommonQO qo) {
-        String timeStart = qo.getTimeStart();
-        String timeStop = qo.getTimeStop();
-        if(timeStart != null && timeStart != "") {
-            timeStart = timeStart + " 00:00:00";
-        } else {
-            timeStart = LocalDate.now() + " 00:00:00";
-        }
-        qo.setTimeStart(timeStart);
-
-        if(timeStop != null && timeStop != "") {
-            timeStop = timeStop + " 23:59:59";
-        }else {
-            timeStop = LocalDate.now() + " 23:59:59";
-        }
-        qo.setTimeStop(timeStop);
-
-
+    public QueryResultVo<List<VoIntake>> getNoOpenHaveCloseIntakes(IntakeCountValueQO qo) {
         Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
         Long itemTotal = rmOpenCloseValveHistoryMapper.getNoOpenHaveCloseIntakesCount(params);
 

--
Gitblit v1.8.0