From aa6debfa64d54cb68704a784e928d923e66f0eb8 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期六, 28 十二月 2024 13:59:59 +0800
Subject: [PATCH] 临时任务完善

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml |  340 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 309 insertions(+), 31 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 8fc8bee..946ed18 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,23 +474,40 @@
         </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.op_dt                AS openTime,
-               CASE
+    <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍏抽榾鎶ュ巻鍙茶褰�
+    CASE
                    WHEN oh.op_type = 1 THEN '鍒峰崱寮�闃�'
                    WHEN oh.op_type = 3 THEN '涓績绔欏紑闃�'
                    WHEN oh.op_type = 5 THEN '浣欓涓嶈冻鍏抽榾'
                    WHEN oh.op_type = 8 THEN '鐢ㄦ埛杩滅▼寮�闃�'
-                   WHEN oh.op_type = 11 THEN '寮�鍏抽榾鍗″紑闃�'
+                   WHEN oh.op_type = 11 THEN '宸℃鍗″紑闃�'
                    ELSE '鏈煡'
                    END                 AS openType,
+
+    CASE
+                   WHEN oh.cl_type = 2 THEN '鍒峰崱鍏抽榾'
+                   WHEN oh.cl_type = 4 THEN '涓績绔欏叧闃�'
+                   WHEN oh.cl_type = 5 THEN '浣欓涓嶈冻鍏抽榾'
+                   WHEN oh.cl_type = 6 THEN '娴侀噺璁℃晠闅滃叧闃�'
+                   WHEN oh.cl_type = 7 THEN '绱ф�ュ叧闂�'
+                   WHEN oh.cl_type = 9 THEN '鐢ㄦ埛杩滅▼鍏抽榾'
+                   WHEN oh.cl_type = 10 THEN '宸℃鍗″叧闃�'
+                   WHEN oh.cl_type = 12 THEN '榛戝悕鍗曞懡浠ゅ叧闃�'
+                   WHEN oh.cl_type = 13 THEN '鐢ㄦ埛杩滅▼瀹氭椂鍏抽榾'
+                   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,
@@ -486,27 +515,17 @@
                oh.op_ele_total_amount  AS openEleTotalAmount,
                oh.cl_ic_card_no        AS closeIcNum,
                oh.cl_ic_card_addr      AS closeIcAddr,
-               oh.cl_dt                AS closeTime,
-               CASE
-                   WHEN oh.cl_type = 2 THEN '鍒峰崱鍏抽榾'
-                   WHEN oh.cl_type = 4 THEN '涓績绔欏叧闃�'
-                   WHEN oh.cl_type = 5 THEN '浣欓涓嶈冻鍏抽榾'
-                   WHEN oh.cl_type = 6 THEN '娴侀噺璁℃晠闅滃叧闃�'
-                   WHEN oh.cl_type = 7 THEN '绱ф�ュ叧闂�'
-                   WHEN oh.cl_type = 9 THEN '鐢ㄦ埛杩滅▼鍏抽榾'
-                   WHEN oh.cl_type = 10 THEN '寮�鍏抽榾鍗″叧闃�'
-                   WHEN oh.cl_type = 12 THEN '榛戝悕鍗曞懡浠ゅ叧闃�'
-                   WHEN oh.cl_type = 13 THEN '鐢ㄦ埛杩滅▼瀹氭椂鍏抽榾'
-                   WHEN oh.cl_type = 14 THEN '鐢ㄦ埛杩滅▼瀹氶噺鍏抽榾'
-                   ELSE '鏈煡'
-                   END                 AS closeType,
+               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,7 +546,7 @@
                 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}
@@ -781,6 +800,54 @@
         </trim>
     </select>
 
+    <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忎綆浜庢寚瀹氬�肩殑鍐滄埛鏁伴噺-->
+    <select id="getSmallWaterConsumptionClientsCount" resultType="java.lang.Long">
+        SELECT COUNT(*) AS recordCount
+        FROM se_client cli
+        <where>
+            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null">
+                (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}) &lt; #{waterConsumption}
+            </if>
+        </where>
+    </select>
+
+    <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忎綆浜庢寚瀹氬�肩殑鍐滄埛-->
+    <select id="getSmallWaterConsumptionClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient">
+        SELECT cli.id                                 AS clientId,
+        cli.name                               AS clientName,
+        cli.clientNum,
+        CONCAT(cli.districtTitle, cli.address) AS address,
+        cli.phone,
+        cli.idCard,
+        IFNULL((SELECT SUM(his.cl_this_amount)
+        FROM rm_open_close_valve_history his
+        <where>
+            his.client_id = cli.id
+            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''">
+                AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}
+            </if>
+        </where>
+        ),0) AS waterConsumption
+        FROM se_client cli
+        <where>
+            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null">
+                (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}) &lt; #{waterConsumption}
+            </if>
+        </where>
+        ORDER BY cli.id
+        <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="getLargeAmountSpentClientsCount" resultType="java.lang.Long">
         SELECT COUNT(*) AS recordCount
@@ -818,6 +885,53 @@
                 FROM rm_open_close_valve_history his
                 WHERE his.client_id = cli.id
                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent}
+            </if>
+        </where>
+        ORDER BY cli.id
+        <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="getSmallAmountSpentClientsCount" resultType="java.lang.Long">
+        SELECT COUNT(*) AS recordCount
+        FROM se_client cli
+        <where>
+            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null">
+                (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})  &lt; #{amountSpent}
+            </if>
+        </where>
+    </select>
+    <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦浣庝簬鎸囧畾鍊肩殑鍐滄埛-->
+    <select id="getSmallAmountSpentClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient">
+        SELECT cli.id                                 AS clientId,
+        cli.name                               AS clientName,
+        cli.clientNum,
+        CONCAT(cli.districtTitle, cli.address) AS address,
+        cli.phone,
+        cli.idCard,
+        IFNULL((SELECT SUM(his.cl_this_money)
+        FROM rm_open_close_valve_history his
+        <where>
+            his.client_id = cli.id
+            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''">
+                AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}
+            </if>
+        </where>
+        ),0) AS amountSpent
+        FROM se_client cli
+        <where>
+            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null">
+                (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})  &lt; #{amountSpent}
             </if>
         </where>
         ORDER BY cli.id
@@ -866,6 +980,54 @@
                 FROM rm_open_close_valve_history his
                 WHERE his.client_id = cli.id
                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterDuration}
+            </if>
+        </where>
+        ORDER BY cli.id
+        <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="getSmallWaterDurationClientsCount" resultType="java.lang.Long">
+        SELECT COUNT(*) AS recordCount
+        FROM se_client cli
+        <where>
+            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null">
+                (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})  &lt; #{waterDuration}
+            </if>
+        </where>
+    </select>
+
+    <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱浣庝簬鎸囧畾鍊肩殑鍐滄埛-->
+    <select id="getSmallWaterDurationClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient">
+        SELECT cli.id                                 AS clientId,
+        cli.name                               AS clientName,
+        cli.clientNum,
+        CONCAT(cli.districtTitle, cli.address) AS address,
+        cli.phone,
+        cli.idCard,
+        IFNULL((SELECT SUM(his.cl_this_time)
+        FROM rm_open_close_valve_history his
+        <where>
+            his.client_id = cli.id
+            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''">
+                AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}
+            </if>
+        </where>
+        ),0) AS waterDuration
+        FROM se_client cli
+        <where>
+            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null">
+                (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})  &lt; #{waterDuration}
             </if>
         </where>
         ORDER BY cli.id
@@ -1069,6 +1231,7 @@
             INNER JOIN pr_intake inta ON inta.id = och.intake_id
         <where>
             AND och.cl_ic_card_no IS NOT NULL AND och.client_id IS NOT NULL
+            AND och.cl_this_money> 0
             <if test = "clientName != null and clientName !=''">
                 AND cli.name like CONCAT('%',#{clientName},'%')
             </if>
@@ -1100,6 +1263,7 @@
             INNER JOIN pr_intake inta ON inta.id = och.intake_id
         <where>
             AND och.cl_ic_card_no IS NOT NULL AND och.client_id IS NOT NULL
+            AND och.cl_this_money> 0
             <if test = "clientName != null and clientName !=''">
                 AND cli.name like CONCAT('%',#{clientName},'%')
             </if>
@@ -1119,4 +1283,118 @@
             </if>
         </trim>
     </select>
+
+    <!--鑾峰彇鐗╃悊鍗″紑鍏抽榾璁板綍鏁伴噺锛屽井淇″皬绋嬪簭浣跨敤-->
+    <select id="getCardOpenCloseCount" resultType="java.lang.Long">
+        SELECT COUNT(*) AS recordCount
+        FROM rm_open_close_valve_history his
+                 LEFT JOIN pr_intake inta ON inta.id = his.intake_id
+        <where>
+            AND op_type  = 1
+            <if test = "clientId != null">
+                AND his.client_id = #{clientId}
+            </if>
+        </where>
+    </select>
+
+    <!--鑾峰彇鐗╃悊鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤-->
+    <select id="getCardOpenClose" resultType="com.dy.pipIrrGlobal.voRm.VoOpenClostWechat">
+        SELECT
+            cl_this_money AS expense,
+            op_ic_card_no AS cardNum,
+            inta.name AS intakeNum,
+            open_dt AS openTime,
+            close_dt AS closeTime,
+            cl_this_time AS duration,
+            cl_this_amount AS amount,
+            '鍒峰崱寮�闃�' AS openType
+        FROM rm_open_close_valve_history his
+                 LEFT JOIN pr_intake inta ON inta.id = his.intake_id
+        <where>
+            AND op_type  = 1
+            <if test = "clientId != null">
+                AND his.client_id = #{clientId}
+            </if>
+        </where>
+        ORDER BY open_dt 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="getVcCardOpenCloseCount" resultType="java.lang.Long">
+        SELECT COUNT(*) AS recordCount
+        FROM rm_open_close_valve_history his
+                 LEFT JOIN pr_intake inta ON inta.id = his.intake_id
+        <where>
+            AND op_type  = 8
+            <if test = "clientId != null">
+                AND his.client_id = #{clientId}
+            </if>
+        </where>
+    </select>
+
+    <!--鑾峰彇铏氭嫙鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤-->
+    <select id="getVcCardOpenClose" resultType="com.dy.pipIrrGlobal.voRm.VoOpenClostWechat">
+        SELECT
+            cl_this_money AS expense,
+            op_ic_card_no AS cardNum,
+            inta.name AS intakeNum,
+            open_dt AS openTime,
+            close_dt AS closeTime,
+            cl_this_time AS duration,
+            cl_this_amount AS amount,
+            CASE
+                WHEN cl_type = 13 THEN '瀹氭椂鍏抽榾寮忓紑闃�'
+                WHEN cl_type = 14 THEN '瀹氶噺鍏抽榾寮忓紑闃�'
+                ELSE '杩滅▼寮�闃�'
+                END AS openType
+        FROM rm_open_close_valve_history his
+                 LEFT JOIN pr_intake inta ON inta.id = his.intake_id
+        <where>
+            AND op_type  = 8
+            <if test = "clientId != null">
+                AND his.client_id = #{clientId}
+            </if>
+        </where>
+        ORDER BY open_dt 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="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=BIGINT}
+        and ocvh.cl_dt <![CDATA[<=]]> #{endDt, jdbcType=BIGINT}
+        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=BIGINT}
+        and cl_dt <![CDATA[<=]]> #{endDt, jdbcType=BIGINT}
+        group by client_id
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0