From 617fbf342de25d3e07629b9107b2f035101ee8da Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期二, 06 八月 2024 15:48:40 +0800
Subject: [PATCH] 2024-08-06 朱宝民 优化代码

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml |   42 ++++++++++++++++++++++++------------------
 1 files changed, 24 insertions(+), 18 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 6c188cc..59707be 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
@@ -791,9 +791,10 @@
     <select id="getLargeWaterConsumptionClientsCount" resultType="java.lang.Long">
         SELECT COUNT(*) AS recordCount
         FROM se_client cli
-                 INNER JOIN rm_open_close_valve_history his ON his.client_id = cli.id
-        WHERE his.op_dt BETWEEN #{timeStart} AND #{timeStop}
-          AND his.cl_this_amount > #{waterConsumption}
+        WHERE (SELECT SUM(his.cl_this_amount)
+               FROM rm_open_close_valve_history his
+               WHERE his.client_id = cli.id
+                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterConsumption}
     </select>
 
     <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍐滄埛-->
@@ -805,9 +806,10 @@
                cli.phone,
                cli.idCard
         FROM se_client cli
-                 INNER JOIN rm_open_close_valve_history his ON his.client_id = cli.id
-        WHERE his.op_dt BETWEEN #{timeStart} AND #{timeStop}
-          AND his.cl_this_amount > #{waterConsumption}
+        WHERE (SELECT SUM(his.cl_this_amount)
+               FROM rm_open_close_valve_history his
+               WHERE his.client_id = cli.id
+                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterConsumption}
         ORDER BY cli.id
         <trim prefix="limit ">
             <if test="start != null and count != null">
@@ -820,9 +822,10 @@
     <select id="getLargeAmountSpentClientsCount" resultType="java.lang.Long">
         SELECT COUNT(*) AS recordCount
         FROM se_client cli
-                 INNER JOIN rm_open_close_valve_history his ON his.client_id = cli.id
-        WHERE his.op_dt BETWEEN #{timeStart} AND #{timeStop}
-          AND his.cl_this_money > #{amountSpent}
+        WHERE (SELECT SUM(his.cl_this_money)
+               FROM rm_open_close_valve_history his
+               WHERE his.client_id = cli.id
+                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent}
     </select>
     <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍐滄埛-->
     <select id="getLargeAmountSpentClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient">
@@ -833,9 +836,10 @@
                cli.phone,
                cli.idCard
         FROM se_client cli
-                 INNER JOIN rm_open_close_valve_history his ON his.client_id = cli.id
-        WHERE his.op_dt BETWEEN #{timeStart} AND #{timeStop}
-          AND his.cl_this_money > #{amountSpent}
+        WHERE (SELECT SUM(his.cl_this_money)
+               FROM rm_open_close_valve_history his
+               WHERE his.client_id = cli.id
+                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent}
         ORDER BY cli.id
         <trim prefix="limit ">
             <if test="start != null and count != null">
@@ -848,9 +852,10 @@
     <select id="getLargeWaterDurationClientsCount" resultType="java.lang.Long">
         SELECT COUNT(*) AS recordCount
         FROM se_client cli
-                 INNER JOIN rm_open_close_valve_history his ON his.client_id = cli.id
-        WHERE his.op_dt BETWEEN #{timeStart} AND #{timeStop}
-          AND his.cl_this_time > #{waterDuration}
+        WHERE (SELECT SUM(his.cl_this_time)
+               FROM rm_open_close_valve_history his
+               WHERE his.client_id = cli.id
+                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterDuration}
     </select>
 
     <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍐滄埛-->
@@ -862,9 +867,10 @@
                cli.phone,
                cli.idCard
         FROM se_client cli
-                 INNER JOIN rm_open_close_valve_history his ON his.client_id = cli.id
-        WHERE his.op_dt BETWEEN #{timeStart} AND #{timeStop}
-          AND his.cl_this_time > #{waterDuration}
+        WHERE (SELECT SUM(his.cl_this_time)
+               FROM rm_open_close_valve_history his
+               WHERE his.client_id = cli.id
+                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterDuration}
         ORDER BY cli.id
         <trim prefix="limit ">
             <if test="start != null and count != null">

--
Gitblit v1.8.0