From ad11539a5a924ffdae6eab96a74f1ab81475eb8f Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期一, 02 九月 2024 14:23:56 +0800
Subject: [PATCH] 优化代码 指定时间段开发时间超过指定值的农户         指定时间段开发时间低于指定值的农户

---
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/OpenCountQO.java |    2 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml                         |   42 ++++++++++++++------
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/CommonQO.java    |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java       |   18 +++++---
 4 files changed, 42 insertions(+), 22 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
index fd60593..20555a2 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
@@ -637,10 +637,14 @@
     <select id="getLargeOpenCountClientsCount" resultType="java.lang.Long">
         SELECT COUNT(*) AS recordCount
         FROM se_client cli
-        WHERE (SELECT COUNT(*)
-               FROM rm_open_close_valve_history his
-               WHERE his.client_id = cli.id
-                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{openCount}
+        <where>
+            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null">
+                (SELECT COUNT(*)
+                FROM rm_open_close_valve_history his
+                WHERE his.client_id = cli.id
+                AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{openCount}
+            </if>
+        </where>
     </select>
 
     <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟瓒呰繃鎸囧畾鍊肩殑鍐滄埛-->
@@ -652,10 +656,14 @@
                cli.phone,
                cli.idCard
         FROM se_client cli
-        WHERE (SELECT COUNT(*)
+        <where>
+            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null">
+        (SELECT COUNT(*)
                FROM rm_open_close_valve_history his
                WHERE his.client_id = cli.id
                  AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{openCount}
+            </if>
+        </where>
         ORDER BY cli.id
         <trim prefix="limit ">
             <if test="start != null and count != null">
@@ -668,10 +676,14 @@
     <select id="getSmallOpenCountClientsCount" resultType="java.lang.Long">
         SELECT COUNT(*) AS recordCount
         FROM se_client cli
-        WHERE (SELECT COUNT(*)
-               FROM rm_open_close_valve_history his
-               WHERE his.client_id = cli.id
-                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) &lt; #{openCount}
+        <where>
+            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null">
+                (SELECT COUNT(*)
+                FROM rm_open_close_valve_history his
+                WHERE his.client_id = cli.id
+                AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) &lt; #{openCount}
+            </if>
+        </where>
     </select>
 
     <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟浣庝簬鎸囧畾鍊肩殑鍐滄埛-->
@@ -683,10 +695,14 @@
                cli.phone,
                cli.idCard
         FROM se_client cli
-        WHERE (SELECT COUNT(*)
-               FROM rm_open_close_valve_history his
-               WHERE his.client_id = cli.id
-                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) &lt; #{openCount}
+        <where>
+            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null">
+                (SELECT COUNT(*)
+                FROM rm_open_close_valve_history his
+                WHERE his.client_id = cli.id
+                AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) &lt; #{openCount}
+            </if>
+        </where>
         ORDER BY cli.id
         <trim prefix="limit ">
             <if test="start != null and count != null">
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 d339094..e023155 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
@@ -47,17 +47,19 @@
      */
     public QueryResultVo<List<VoClient>> getLargeOpenCountClients(OpenCountQO qo) {
         /**
-         * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡
+         * 琛ラ綈璧锋鏃堕棿
          */
         String timeStart = qo.getTimeStart();
         String timeStop = qo.getTimeStop();
-        if(timeStart != null) {
+        if(timeStart != null && timeStart != "") {
             timeStart = timeStart + " 00:00:00";
-        }else {
+        } else {
             timeStart = LocalDate.now() + " 00:00:00";
         }
-        if(timeStop != null) {
+        if(timeStop != null && timeStop != "") {
             timeStop = timeStop + " 23:59:59";
+        }else {
+            timeStop = LocalDate.now() + " 23:59:59";
         }
         qo.setTimeStart(timeStart);
         qo.setTimeStop(timeStop);
@@ -89,13 +91,15 @@
          */
         String timeStart = qo.getTimeStart();
         String timeStop = qo.getTimeStop();
-        if(timeStart != null) {
+        if(timeStart != null && timeStart != "") {
             timeStart = timeStart + " 00:00:00";
-        }else {
+        } else {
             timeStart = LocalDate.now() + " 00:00:00";
         }
-        if(timeStop != null) {
+        if(timeStop != null && timeStop != "") {
             timeStop = timeStop + " 23:59:59";
+        }else {
+            timeStop = LocalDate.now() + " 23:59:59";
         }
         qo.setTimeStart(timeStart);
         qo.setTimeStop(timeStop);
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/CommonQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/CommonQO.java
index 7ae262c..8eee570 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/CommonQO.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/CommonQO.java
@@ -27,6 +27,6 @@
      * 缁撴潫鏃堕棿
      */
     @JsonFormat(pattern = "yyyy-MM-dd")
-    @NotBlank(message = "缁撴潫鏃堕棿涓嶈兘涓虹┖")
+//    @NotBlank(message = "缁撴潫鏃堕棿涓嶈兘涓虹┖")
     private String timeStop;
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/OpenCountQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/OpenCountQO.java
index bf200f6..4b10a6b 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/OpenCountQO.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/OpenCountQO.java
@@ -18,6 +18,6 @@
     /**
      * 寮�闃�娆℃暟
      */
-    @NotNull(message = "寮�闃�娆℃暟涓嶈兘涓虹┖")
+//    @NotNull(message = "寮�闃�娆℃暟涓嶈兘涓虹┖")
     private Integer openCount;
 }

--
Gitblit v1.8.0