From 1cf88d43994ec7ec403319032a9d118b39fe3571 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 25 四月 2025 14:35:35 +0800
Subject: [PATCH] 登录代码优化

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml |  341 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 172 insertions(+), 169 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 65e7dd0..3c10897 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
@@ -29,6 +29,7 @@
         <result column="cl_this_amount" jdbcType="DOUBLE" property="clThisAmount"/>
         <result column="cl_this_money" jdbcType="DOUBLE" property="clThisMoney"/>
         <result column="cl_this_time" jdbcType="INTEGER" property="clThisTime"/>
+        <result column="cl_price" jdbcType="DOUBLE" property="clPrice"/>
         <result column="cl_open_dt" jdbcType="TIMESTAMP" property="clOpenDt"/>
         <result column="close_dt" jdbcType="TIMESTAMP" property="closeDt"/>
         <result column="cl_order_no" jdbcType="VARCHAR" property="clOrderNo"/>
@@ -63,6 +64,7 @@
         cl_this_amount,
         cl_this_money,
         cl_this_time,
+        cl_price,
         cl_open_dt,
         close_dt,
         cl_order_no,
@@ -93,7 +95,7 @@
                                                  op_ele_total_amount, op_water_remain_user, cl_dt,
                                                  cl_type, cl_total_amount, cl_ic_card_no,
                                                  cl_ic_card_addr, cl_remain_money, cl_this_amount,
-                                                 cl_this_money, cl_this_time, cl_open_dt,
+                                                 cl_this_money, cl_this_time, cl_price, cl_open_dt,
                                                  close_dt, cl_order_no, cl_ele_total_amount,
                                                  cl_water_remain_user, cl_this_ele)
         values (#{id,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT}, #{clientName,jdbcType=VARCHAR},
@@ -104,9 +106,9 @@
                 #{opEleTotalAmount,jdbcType=FLOAT}, #{opWaterRemainUser,jdbcType=FLOAT}, #{clDt,jdbcType=TIMESTAMP},
                 #{clType,jdbcType=TINYINT}, #{clTotalAmount,jdbcType=DOUBLE}, #{clIcCardNo,jdbcType=VARCHAR},
                 #{clIcCardAddr,jdbcType=VARCHAR}, #{clRemainMoney,jdbcType=DOUBLE}, #{clThisAmount,jdbcType=DOUBLE},
-                #{clThisMoney,jdbcType=DOUBLE}, #{clThisTime,jdbcType=INTEGER}, #{clOpenDt,jdbcType=TIMESTAMP},
-                #{closeDt,jdbcType=TIMESTAMP}, #{clOrderNo,jdbcType=VARCHAR}, #{clEleTotalAmount,jdbcType=FLOAT},
-                #{clWaterRemainUser,jdbcType=FLOAT}, #{clThisEle,jdbcType=FLOAT})
+                #{clThisMoney,jdbcType=DOUBLE}, #{clThisTime,jdbcType=INTEGER}, #{clPrice,jdbcType=INTEGER},
+                #{clOpenDt,jdbcType=TIMESTAMP}, #{closeDt,jdbcType=TIMESTAMP}, #{clOrderNo,jdbcType=VARCHAR},
+                #{clEleTotalAmount,jdbcType=FLOAT},#{clWaterRemainUser,jdbcType=FLOAT}, #{clThisEle,jdbcType=FLOAT})
     </insert>
     <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory">
         <!--@mbg.generated-->
@@ -183,6 +185,9 @@
             </if>
             <if test="clThisMoney != null">
                 cl_this_money,
+            </if>
+           <if test="clPrice != null">
+                cl_price,
             </if>
             <if test="clThisTime != null">
                 cl_this_time,
@@ -282,6 +287,9 @@
             <if test="clThisTime != null">
                 #{clThisTime,jdbcType=INTEGER},
             </if>
+           <if test="clPrice != null">
+                #{clPrice,jdbcType=DOUBLE},
+            </if>
             <if test="clOpenDt != null">
                 #{clOpenDt,jdbcType=TIMESTAMP},
             </if>
@@ -378,6 +386,9 @@
             <if test="clThisTime != null">
                 cl_this_time = #{clThisTime,jdbcType=INTEGER},
             </if>
+            <if test="clPrice != null">
+                cl_price = #{clPrice,jdbcType=INTEGER},
+            </if>
             <if test="clOpenDt != null">
                 cl_open_dt = #{clOpenDt,jdbcType=TIMESTAMP},
             </if>
@@ -426,6 +437,7 @@
             cl_this_amount       = #{clThisAmount,jdbcType=DOUBLE},
             cl_this_money        = #{clThisMoney,jdbcType=DOUBLE},
             cl_this_time         = #{clThisTime,jdbcType=INTEGER},
+            cl_price             = #{clPrice,jdbcType=DOUBLE},
             cl_open_dt           = #{clOpenDt,jdbcType=TIMESTAMP},
             close_dt             = #{closeDt,jdbcType=TIMESTAMP},
             cl_order_no          = #{clOrderNo,jdbcType=VARCHAR},
@@ -462,16 +474,8 @@
         </where>
     </select>
 
-    <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍏抽榾鎶ュ巻鍙茶褰�-->
-    <select id="getOpenCloseValveReports_history" resultType="com.dy.pipIrrGlobal.voRm.VoOpenCloseValve">
-        SELECT oh.intake_id            AS intakeId,
-               inta.name               AS intakenum,
-               oh.rtu_addr             AS rtuAddr,
-               oh.client_name          AS clientName,
-               oh.op_ic_card_no        AS openIcNum,
-               oh.op_ic_card_addr      AS openIcAddr,
-               oh.open_dt              AS openTime,
-               CASE
+    <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍏抽榾鎶ュ巻鍙茶褰�
+    CASE
                    WHEN oh.op_type = 1 THEN '鍒峰崱寮�闃�'
                    WHEN oh.op_type = 3 THEN '涓績绔欏紑闃�'
                    WHEN oh.op_type = 5 THEN '浣欓涓嶈冻鍏抽榾'
@@ -479,15 +483,8 @@
                    WHEN oh.op_type = 11 THEN '宸℃鍗″紑闃�'
                    ELSE '鏈煡'
                    END                 AS openType,
-               oh.op_order_no          AS openOrderNo,
-               oh.op_total_amount      AS openTotalAmount,
-               oh.op_remain_money      AS openRemainMoney,
-               oh.op_water_remain_user AS openWaterRemain,
-               oh.op_ele_total_amount  AS openEleTotalAmount,
-               oh.cl_ic_card_no        AS closeIcNum,
-               oh.cl_ic_card_addr      AS closeIcAddr,
-               oh.close_dt             AS closeTime,
-               CASE
+
+    CASE
                    WHEN oh.cl_type = 2 THEN '鍒峰崱鍏抽榾'
                    WHEN oh.cl_type = 4 THEN '涓績绔欏叧闃�'
                    WHEN oh.cl_type = 5 THEN '浣欓涓嶈冻鍏抽榾'
@@ -500,13 +497,35 @@
                    WHEN oh.cl_type = 14 THEN '鐢ㄦ埛杩滅▼瀹氶噺鍏抽榾'
                    ELSE '鏈煡'
                    END                 AS closeType,
+    -->
+    <select id="getOpenCloseValveReports_history" resultType="com.dy.pipIrrGlobal.voRm.VoOpenCloseValve">
+        SELECT oh.intake_id            AS intakeId,
+               inta.name               AS intakenum,
+               oh.rtu_addr             AS rtuAddr,
+               cl.name                 AS clientName,
+               cl.address              AS clientAddr,
+               oh.op_ic_card_no        AS openIcNum,
+               oh.op_ic_card_addr      AS openIcAddr,
+               oh.open_dt              AS openTime,
+               oh.op_type              AS opType,
+               oh.op_order_no          AS openOrderNo,
+               oh.op_total_amount      AS openTotalAmount,
+               oh.op_remain_money      AS openRemainMoney,
+               oh.op_water_remain_user AS openWaterRemain,
+               oh.op_ele_total_amount  AS openEleTotalAmount,
+               oh.cl_ic_card_no        AS closeIcNum,
+               oh.cl_ic_card_addr      AS closeIcAddr,
+               oh.close_dt             AS closeTime,
+               oh.cl_type              AS clType,
                oh.cl_this_amount       AS closeThisAmount,
                oh.cl_this_time         AS thisTime,
+               oh.cl_price             AS closePrice,
                oh.cl_this_money        AS thisMoney,
                oh.cl_remain_money      AS closeRemainMoney,
                oh.cl_total_amount      AS closeTotalAmount
         FROM rm_open_close_valve_history oh
-                 INNER JOIN pr_intake inta ON inta.id = oh.intake_id
+        LEFT JOIN pr_intake inta ON inta.id = oh.intake_id
+        LEFT JOIN se_client cl ON cl.id = oh.client_id
         <where>
             <if test="intakeId != null and intakeId > 0">
                 AND oh.intake_id = #{intakeId}
@@ -527,37 +546,57 @@
                 AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
             </if>
         </where>
-        ORDER BY oh.op_dt DESC
+        ORDER BY oh.id DESC
         <trim prefix="limit ">
             <if test="start != null and count != null">
                 #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
             </if>
         </trim>
     </select>
+
     <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴浠庢湭寮�杩囬榾鐨勫彇姘村彛鏁伴噺-->
     <select id="getNeverOpenValveIntakesCount" resultType="java.lang.Long">
         SELECT COUNT(*) AS recordCount
         FROM pr_intake inta
-                 INNER JOIN ba_block blo ON blo.id = inta.blockId
-        WHERE inta.deleted = 0
-          AND NOT EXISTS(SELECT *
-                         FROM rm_open_close_valve_history
-                         WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}
-                           AND intake_id = inta.id)
+        LEFT JOIN
+        (SELECT intake_id FROM rm_open_close_valve_history
+        <where>
+            <if test = "idStart != null">
+                id <![CDATA[>=]]> #{idStart}
+            </if>
+            <if test = "idEnd != null">
+                AND id <![CDATA[<=]]> #{idEnd}
+            </if>
+        </where>) his
+        ON his.intake_id = inta.id
+        LEFT JOIN ba_block blo ON blo.id = inta.blockId
+        LEFT JOIN pr_controller pct ON inta.id = pct.intakeId
+        WHERE his.intake_id IS NULL AND inta.deleted = 0
     </select>
     <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴浠庢湭寮�杩囬榾鐨勫彇姘村彛-->
-    <select id="getNeverOpenValveIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake">
-        SELECT inta.id   AS intakeId,
-               inta.name AS intakeNum,
-               blo.name  AS blockName
+    <select id="getNeverOpenValveIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeUnOpenValve">
+        SELECT inta.id      AS intakeId,
+               inta.name    AS intakeNum,
+               inta.lng     AS lng,
+               inta.lat     AS lat,
+               blo.name     AS blockName,
+               pct.rtuAddr  AS rtuAddr
         FROM pr_intake inta
-                 INNER JOIN ba_block blo ON blo.id = inta.blockId
-        WHERE inta.deleted = 0
-          AND NOT EXISTS(SELECT *
-                         FROM rm_open_close_valve_history
-                         WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}
-                           AND intake_id = inta.id)
-        ORDER BY inta.id
+        LEFT JOIN
+        (SELECT intake_id FROM rm_open_close_valve_history
+        <where>
+            <if test = "idStart != null">
+                id <![CDATA[>=]]> #{idStart}
+            </if>
+            <if test = "idEnd != null">
+                AND id <![CDATA[<=]]> #{idEnd}
+            </if>
+        </where>) his
+        ON his.intake_id = inta.id
+        LEFT JOIN ba_block blo ON blo.id = inta.blockId
+        LEFT JOIN pr_controller pct ON inta.id = pct.intakeId
+        WHERE his.intake_id IS NULL AND inta.deleted = 0
+        ORDER BY inta.id DESC
         <trim prefix="limit ">
             <if test="start != null and count != null">
                 #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
@@ -572,10 +611,11 @@
                      inta.name AS intakeNum,
                      blo.name  AS blockName
               FROM pr_intake inta
-                       LEFT JOIN (SELECT *
-                                  FROM rm_open_close_valve_history
-                                  WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
-                       INNER JOIN ba_block blo ON blo.id = inta.blockId
+              INNER JOIN (SELECT intake_id
+                          FROM rm_open_close_valve_history
+                          WHERE id <![CDATA[>=]]> #{idStart} AND id <![CDATA[<=]]> #{idEnd}
+              ) his ON his.intake_id = inta.id
+              INNER JOIN ba_block blo ON blo.id = inta.blockId
               WHERE inta.deleted = 0
               GROUP BY intakeId, intakeNum, blockName
               HAVING recordCount &gt; #{value}) a
@@ -585,22 +625,26 @@
         SELECT COUNT(*)  AS recordCount,
                inta.id   AS intakeId,
                inta.name AS intakeNum,
+               inta.lng  AS lng,
+               inta.lat  AS lat,
                blo.name  AS blockName
         FROM pr_intake inta
-                 LEFT JOIN (SELECT *
-                            FROM rm_open_close_valve_history
-                            WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
-                 INNER JOIN ba_block blo ON blo.id = inta.blockId
+        INNER JOIN(SELECT intake_id
+                   FROM rm_open_close_valve_history
+                   WHERE id <![CDATA[>=]]> #{idStart} AND id <![CDATA[<=]]> #{idEnd}
+        ) his ON his.intake_id = inta.id
+        INNER JOIN ba_block blo ON blo.id = inta.blockId
         WHERE inta.deleted = 0
         GROUP BY intakeId, intakeNum, blockName
         HAVING recordCount &gt; #{value}
-        <!--        ORDER BY inta.id-->
+        ORDER BY intakeId DESC
         <trim prefix="limit ">
             <if test="start != null and count != null">
                 #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
             </if>
         </trim>
     </select>
+
     <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟浣庝簬鎸囧畾鍊肩殑鍙栨按鍙f暟閲�-->
     <select id="getOpenValveLtIntakesCount" resultType="java.lang.Long">
         select count(*)
@@ -609,10 +653,11 @@
                      inta.name AS intakeNum,
                      blo.name  AS blockName
               FROM pr_intake inta
-                       LEFT JOIN (SELECT *
-                                  FROM rm_open_close_valve_history
-                                  WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
-                       INNER JOIN ba_block blo ON blo.id = inta.blockId
+              INNER JOIN (SELECT intake_id
+                          FROM rm_open_close_valve_history
+                          WHERE id <![CDATA[>=]]> #{idStart} AND id <![CDATA[<=]]> #{idEnd}
+              ) his ON his.intake_id = inta.id
+              INNER JOIN ba_block blo ON blo.id = inta.blockId
               WHERE inta.deleted = 0
               GROUP BY intakeId, intakeNum, blockName
               HAVING recordCount &lt; #{value}) a
@@ -622,16 +667,19 @@
         SELECT COUNT(*)  AS recordCount,
                inta.id   AS intakeId,
                inta.name AS intakeNum,
+               inta.lng  AS lng,
+               inta.lat  AS lat,
                blo.name  AS blockName
         FROM pr_intake inta
-                 LEFT JOIN (SELECT *
-                            FROM rm_open_close_valve_history
-                            WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
-                 INNER JOIN ba_block blo ON blo.id = inta.blockId
+        INNER JOIN(SELECT intake_id
+                   FROM rm_open_close_valve_history
+                   WHERE id <![CDATA[>=]]> #{idStart} AND id <![CDATA[<=]]> #{idEnd}
+        ) his ON his.intake_id = inta.id
+        INNER JOIN ba_block blo ON blo.id = inta.blockId
         WHERE inta.deleted = 0
         GROUP BY intakeId, intakeNum, blockName
         HAVING recordCount &lt; #{value}
-        <!--        ORDER BY inta.id-->
+        ORDER BY intakeId DESC
         <trim prefix="limit ">
             <if test="start != null and count != null">
                 #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
@@ -1018,84 +1066,7 @@
             </if>
         </trim>
     </select>
-    <!--鎸囧畾鏃堕棿娈电敤姘撮噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲�-->
-    <select id="getUseWaterGtValueIntakesCount" resultType="java.lang.Long">
-        select
-            count(*)
-        from
-            (        SELECT
-        inta.id AS intakeId,
-        inta.NAME AS intakeNum,
-        blo.NAME AS blockName ,
-        IFNULL(SUM(rocvh.cl_this_amount),0) AS value
-        FROM
-        pr_intake inta
-        INNER JOIN ba_block blo ON blo.id = inta.blockId
-        LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
-        WHERE rocvh.op_dt &gt;= #{timeStart} AND rocvh.cl_dt &lt;= #{timeStop} AND inta.deleted = 0
-        GROUP BY inta.id
-        HAVING IFNULL(SUM(rocvh.cl_this_amount),0) &gt; #{value}) c
-    </select>
-    <!--鎸囧畾鏃堕棿娈电敤姘撮噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�-->
-    <select id="getUseWaterGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount">
-        SELECT
-            inta.id AS intakeId,
-            inta.NAME AS intakeNum,
-            blo.NAME AS blockName ,
-        IFNULL(SUM(rocvh.cl_this_amount),0) AS value
-        FROM
-            pr_intake inta
-            INNER JOIN ba_block blo ON blo.id = inta.blockId
-            LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
-        WHERE rocvh.op_dt &gt;= #{timeStart} AND rocvh.cl_dt &lt;= #{timeStop} AND inta.deleted = 0
-        GROUP BY inta.id
-        HAVING IFNULL(SUM(rocvh.cl_this_amount),0) &gt; #{value}
-        ORDER BY inta.id
-        <trim prefix="limit " >
-            <if test="start != null and count != null">
-                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
-            </if>
-        </trim>
-    </select>
-    <!--鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙g殑鏁伴噺-->
-    <select id="getExpenseGtValueIntakesCount" resultType="java.lang.Long">
-        select
-        count(*)
-        from
-        (        SELECT
-        inta.id AS intakeId,
-        inta.NAME AS intakeNum,
-        blo.NAME AS blockName ,
-        IFNULL(SUM(rocvh.cl_this_money),0) AS value
-        FROM
-        pr_intake inta
-        INNER JOIN ba_block blo ON blo.id = inta.blockId
-        LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
-        WHERE rocvh.op_dt &gt;= #{timeStart} AND rocvh.cl_dt &lt;= #{timeStop} AND inta.deleted = 0
-        GROUP BY inta.id
-        HAVING IFNULL(SUM(rocvh.cl_this_money),0) &gt; #{value}) c
-    </select>
-    <!--鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�-->
-    <select id="getExpenseGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount">
-        SELECT
-        inta.id AS intakeId,
-        inta.NAME AS intakeNum,
-        blo.NAME AS blockName ,
-        IFNULL(SUM(rocvh.cl_this_money),0) AS value
-        FROM
-        pr_intake inta
-        INNER JOIN ba_block blo ON blo.id = inta.blockId
-        LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
-        WHERE rocvh.op_dt &gt;= #{timeStart} AND rocvh.cl_dt &lt;= #{timeStop} AND inta.deleted = 0
-        GROUP BY inta.id
-        HAVING IFNULL(SUM(rocvh.cl_this_money),0) &gt; #{value}
-        ORDER BY inta.id
-        <trim prefix="limit " >
-            <if test="start != null and count != null">
-                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
-            </if>
-        </trim>
-    </select>
+
     <!--鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲�-->
     <select id="getUseWaterDurationGtValueIntakesCount" resultType="java.lang.Long">
         select
@@ -1123,8 +1094,8 @@
         IFNULL(SUM(rocvh.cl_this_time),0) AS recordCount
         FROM
         pr_intake inta
-        INNER JOIN ba_block blo ON blo.id = inta.blockId
-        LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
+        LEFT JOIN ba_block blo ON blo.id = inta.blockId
+        INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
         WHERE rocvh.op_dt &gt;= #{timeStart} AND rocvh.cl_dt &lt;= #{timeStop} AND inta.deleted = 0
         GROUP BY inta.id
         HAVING IFNULL(SUM(rocvh.cl_this_time),0) &gt; #{value}
@@ -1138,31 +1109,32 @@
     <!--鎸囧畾鏃堕棿娈� 鏈夊紑闃� 鏃犲叧闃�鐨勫彇姘村彛鏁伴噺-->
     <select id="getHaveOpenNoCloseIntakesCount" resultType="java.lang.Long">
         select count(*) from
-            (
-        SELECT
-        inta.id AS intakeId,
-        inta.NAME AS intakeNum,
-        blo.NAME AS blockName
-        FROM
-        pr_intake inta
-        INNER JOIN ba_block blo ON blo.id = inta.blockId
-        inner JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
-        WHERE rocvh.op_dt BETWEEN #{timeStart} AND  #{timeStop} AND rocvh.cl_dt IS NULL AND inta.deleted = 0
-        GROUP BY inta.id) c
+        (
+            SELECT
+            inta.id AS intakeId
+            FROM
+            pr_intake inta
+            LEFT JOIN ba_block blo ON blo.id = inta.blockId
+            INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
+            WHERE inta.deleted = 0 AND rocvh.id <![CDATA[>=]]> #{idStart} AND  rocvh.id <![CDATA[<=]]> #{idEnd} AND rocvh.cl_dt IS NULL
+            GROUP BY inta.id
+        ) c
     </select>
     <!--鎸囧畾鏃堕棿娈� 鏈夊紑闃� 鏃犲叧闃�鐨勫彇姘村彛-->
     <select id="getHaveOpenNoCloseIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake">
         SELECT
             inta.id AS intakeId,
             inta.NAME AS intakeNum,
+            inta.lng AS lng,
+            inta.lat AS lat,
             blo.NAME AS blockName
         FROM
             pr_intake inta
-                INNER JOIN ba_block blo ON blo.id = inta.blockId
-                inner JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
-        WHERE rocvh.op_dt BETWEEN #{timeStart} AND  #{timeStop} AND rocvh.cl_dt IS NULL AND inta.deleted = 0
+            LEFT JOIN ba_block blo ON blo.id = inta.blockId
+            INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
+        WHERE inta.deleted = 0 AND rocvh.id <![CDATA[>=]]> #{idStart} AND  rocvh.id <![CDATA[<=]]> #{idEnd} AND rocvh.cl_dt IS NULL
         GROUP BY inta.id
-        ORDER BY inta.id
+        ORDER BY inta.id DESC
         <trim prefix="limit ">
             <if test="start != null and count != null">
                 #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
@@ -1173,30 +1145,31 @@
     <select id="getNoOpenHaveCloseIntakesCount" resultType="java.lang.Long">
         select count(*) from
         (
-        SELECT
-        inta.id AS intakeId,
-        inta.NAME AS intakeNum,
-        blo.NAME AS blockName
-        FROM
-        pr_intake inta
-        INNER JOIN ba_block blo ON blo.id = inta.blockId
-        inner JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
-        WHERE rocvh.cl_dt BETWEEN #{timeStart} AND  #{timeStop} AND rocvh.op_dt IS NULL AND inta.deleted = 0
-        GROUP BY inta.id) c
+            SELECT
+            inta.id AS intakeId
+            FROM
+            pr_intake inta
+            LEFT JOIN ba_block blo ON blo.id = inta.blockId
+            INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
+            WHERE inta.deleted = 0 AND rocvh.id <![CDATA[>=]]> #{idStart} AND  rocvh.id <![CDATA[<=]]> #{idEnd} AND rocvh.op_dt IS NULL
+            GROUP BY inta.id
+        ) c
     </select>
     <!--鎸囧畾鏃堕棿娈� 鏃犲紑闃� 鏈夊叧闃�鐨勫彇姘村彛-->
     <select id="getNoOpenHaveCloseIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake">
         SELECT
         inta.id AS intakeId,
         inta.NAME AS intakeNum,
+        inta.lng AS lng,
+        inta.lat AS lat,
         blo.NAME AS blockName
         FROM
         pr_intake inta
-        INNER JOIN ba_block blo ON blo.id = inta.blockId
-        inner JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
-        WHERE rocvh.cl_dt BETWEEN #{timeStart} AND  #{timeStop} AND rocvh.op_dt IS NULL AND inta.deleted = 0
+        LEFT JOIN ba_block blo ON blo.id = inta.blockId
+        INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
+        WHERE inta.deleted = 0 AND rocvh.id <![CDATA[>=]]> #{idStart} AND  rocvh.id <![CDATA[<=]]> #{idEnd} AND rocvh.op_dt IS NULL
         GROUP BY inta.id
-        ORDER BY inta.id
+        ORDER BY inta.id DESC
         <trim prefix="limit ">
             <if test="start != null and count != null">
                 #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
@@ -1348,4 +1321,34 @@
             </if>
         </trim>
     </select>
+
+
+
+    <!-- /////////////////////////////////// -->
+    <!-- 缁熻鐩稿叧                              -->
+    <!-- /////////////////////////////////// -->
+    <select id="statisticsByIc" resultType="com.dy.pipIrrGlobal.voSt.VoIcConsumeStatistics">
+        select ocvh.client_id as clientId,
+        cc.id as cardId,
+        sum(ocvh.cl_this_amount) as water,
+        sum(ocvh.cl_this_money) as amount,
+        sum(ocvh.cl_this_time) as duration,
+        count(ocvh.id) as times
+        from rm_open_close_valve_history ocvh
+        inner join se_client_card cc on CAST(cc.cardNum AS CHAR) = ocvh.cl_ic_card_no
+        where ocvh.cl_dt <![CDATA[>=]]> #{startDt, jdbcType=TIMESTAMP }
+        and ocvh.cl_dt <![CDATA[<=]]> #{endDt, jdbcType=TIMESTAMP}
+        group by ocvh.client_id, cc.id
+    </select>
+    <select id="statisticsByClient" resultType="com.dy.pipIrrGlobal.voSt.VoClientConsumeStatistics">
+        select client_id as clientId,
+        sum(cl_this_amount) as water,
+        sum(cl_this_money) as amount,
+        sum(cl_this_time) as duration,
+        count(id) as times
+        from rm_open_close_valve_history
+        where cl_dt <![CDATA[>=]]> #{startDt, jdbcType=TIMESTAMP}
+        and cl_dt <![CDATA[<=]]> #{endDt, jdbcType=TIMESTAMP}
+        group by client_id
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0