From 3b32adb6b7b8d40f85e84f8b1a775f2ec1df88af Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期四, 01 八月 2024 21:55:06 +0800
Subject: [PATCH] 2024-08-01 朱宝民 查询统计3个接口

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml |  167 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 153 insertions(+), 14 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
index ec8521a..edfd7d1 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
@@ -15,14 +15,13 @@
     <result column="loss_amount" jdbcType="FLOAT" property="lossAmount" />
     <result column="water_press" jdbcType="FLOAT" property="waterPress" />
     <result column="battery_volt" jdbcType="FLOAT" property="batteryVolt" />
-    <result column="sun_volt" jdbcType="FLOAT" property="sunVolt" />
     <result column="signal_value" jdbcType="INTEGER" property="signalValue" />
     <result column="water_price" jdbcType="FLOAT" property="waterPrice" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
     id, controller_id, intake_id, rtu_addr, dt, rtu_dt, instant_amount, total_amount, 
-    loss_amount, water_press, battery_volt, sun_volt, signal_value, water_price
+    loss_amount, water_press, battery_volt, signal_value, water_price
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
     <!--@mbg.generated-->
@@ -41,12 +40,12 @@
     insert into rm_on_hour_report_history (id, controller_id, intake_id, 
       rtu_addr, dt, rtu_dt, 
       instant_amount, total_amount, loss_amount, 
-      water_press, battery_volt, sun_volt, 
+      water_press, battery_volt,
       signal_value, water_price)
     values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, 
       #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP}, 
       #{instantAmount,jdbcType=FLOAT}, #{totalAmount,jdbcType=FLOAT}, #{lossAmount,jdbcType=FLOAT}, 
-      #{waterPress,jdbcType=FLOAT}, #{batteryVolt,jdbcType=FLOAT}, #{sunVolt,jdbcType=FLOAT}, 
+      #{waterPress,jdbcType=FLOAT}, #{batteryVolt,jdbcType=FLOAT},
       #{signalValue,jdbcType=INTEGER}, #{waterPrice,jdbcType=FLOAT})
   </insert>
   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory">
@@ -85,9 +84,6 @@
       </if>
       <if test="batteryVolt != null">
         battery_volt,
-      </if>
-      <if test="sunVolt != null">
-        sun_volt,
       </if>
       <if test="signalValue != null">
         signal_value,
@@ -129,9 +125,6 @@
       </if>
       <if test="batteryVolt != null">
         #{batteryVolt,jdbcType=FLOAT},
-      </if>
-      <if test="sunVolt != null">
-        #{sunVolt,jdbcType=FLOAT},
       </if>
       <if test="signalValue != null">
         #{signalValue,jdbcType=INTEGER},
@@ -175,9 +168,6 @@
       <if test="batteryVolt != null">
         battery_volt = #{batteryVolt,jdbcType=FLOAT},
       </if>
-      <if test="sunVolt != null">
-        sun_volt = #{sunVolt,jdbcType=FLOAT},
-      </if>
       <if test="signalValue != null">
         signal_value = #{signalValue,jdbcType=INTEGER},
       </if>
@@ -200,9 +190,158 @@
       loss_amount = #{lossAmount,jdbcType=FLOAT},
       water_press = #{waterPress,jdbcType=FLOAT},
       battery_volt = #{batteryVolt,jdbcType=FLOAT},
-      sun_volt = #{sunVolt,jdbcType=FLOAT},
       signal_value = #{signalValue,jdbcType=INTEGER},
       water_price = #{waterPrice,jdbcType=FLOAT}
     where id = #{id,jdbcType=BIGINT}
   </update>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ュ巻鍙茶褰曟暟閲�-->
+  <select id="getOnHourReportsCount_history" resultType="java.lang.Long">
+    SELECT
+        COUNT(*) AS recordCount
+    FROM rm_on_hour_report_history oh
+    INNER JOIN pr_intake inta ON inta.id = oh.intake_id
+    <where>
+      <if test="intakeId != null and intakeId >0">
+        AND oh.intake_id = #{intakeId}
+      </if>
+      <if test = "intakeName != null and intakeName !=''">
+        AND inta.name LIKE CONCAT('%',#{intakeName},'%')
+      </if>
+      <if test = "rtuAddr != null and rtuAddr !=''">
+        AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%')
+      </if>
+      <if test = "timeStart != null and timeStop != null">
+        AND oh.dt BETWEEN #{timeStart} AND #{timeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ュ巻鍙茶褰�-->
+  <select id="getOnHourReports_history" resultType="com.dy.pipIrrGlobal.voRm.VoOnHour">
+    SELECT
+      oh.intake_id AS intakeId,
+      inta.`name` AS intakeNum,
+      oh.rtu_addr AS rtuAddr,
+      oh.dt AS receiveTime,
+      oh.instant_amount AS instantAmount,
+      oh.total_amount AS totalAmount,
+      oh.loss_amount AS lossAmount,
+      oh.water_press AS waterPress,
+      oh.battery_volt AS batteryVolt,
+      oh.signal_value AS signalValue,
+      oh.water_price AS waterPrice
+    FROM rm_on_hour_report_history oh
+        INNER JOIN pr_intake inta ON inta.id = oh.intake_id
+    <where>
+      <if test="intakeId != null and intakeId >0">
+        AND oh.intake_id = #{intakeId}
+      </if>
+      <if test = "intakeNum != null and intakeNum !=''">
+        AND inta.name LIKE CONCAT('%',#{intakeNum},'%')
+      </if>
+      <if test = "rtuAddr != null and rtuAddr !=''">
+        AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%')
+      </if>
+      <if test = "timeStart != null and timeStop != null">
+        AND oh.dt BETWEEN #{timeStart} AND #{timeStop}
+      </if>
+    </where>
+    ORDER BY oh.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="getNotOnlineIntakesCount" resultType="java.lang.Long">
+    SELECT
+        COUNT(*) AS recordCount
+    FROM pr_intake inta
+        LEFT JOIN (SELECT * FROM rm_on_hour_report_history WHERE dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
+        INNER JOIN ba_block blo ON blo.id = inta.blockId
+    WHERE his.intake_id IS NULL AND inta.deleted = 0
+
+  </select>
+
+  <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鏈笂绾跨殑鍙栨按鍙�-->
+  <select id="getNotOnlineIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake">
+    SELECT
+      inta.id AS intakeId,
+      inta.name AS intakeNum,
+      blo.name AS blockName
+    FROM pr_intake inta
+           LEFT JOIN (SELECT * FROM rm_on_hour_report_history WHERE dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
+           INNER JOIN ba_block blo ON blo.id = inta.blockId
+    WHERE his.intake_id IS NULL AND inta.deleted = 0
+    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="getLargeFlowIntakesCount" resultType="java.lang.Long">
+    SELECT
+        COUNT(*) AS recordCount
+    FROM pr_intake inta
+        INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
+        INNER JOIN ba_block blo ON blo.id = inta.blockId
+    WHERE inta.deleted = 0 AND hou.total_amount > #{totalAmount}
+  </select>
+
+  <!--鑾峰彇绱娴侀噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�-->
+  <select id="getLargeFlowIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoCumulativeFlow">
+    SELECT
+      inta.id AS intakeId,
+      inta.name AS intakeNum,
+      blo.name AS blockName,
+    CAST(hou.total_amount AS DECIMAL(10, 2)) AS cumulativeFlow,
+      hou.dt AS getDate
+    FROM pr_intake inta
+           INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
+           INNER JOIN ba_block blo ON blo.id = inta.blockId
+    WHERE inta.deleted = 0 AND hou.total_amount > #{totalAmount}
+    ORDER BY hou.dt
+    <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="getSmallFlowIntakesCount" resultType="java.lang.Long">
+    SELECT
+        COUNT(*) AS recordCount
+    FROM pr_intake inta
+        INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
+        INNER JOIN ba_block blo ON blo.id = inta.blockId
+    WHERE inta.deleted = 0 AND hou.total_amount &lt; #{totalAmount}
+  </select>
+
+  <!--鑾峰彇绱娴侀噺浣庝簬鎸囧畾鍊肩殑鍙栨按鍙�-->
+  <select id="getSmallFlowIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoCumulativeFlow">
+    SELECT
+        inta.id AS intakeId,
+        inta.name AS intakeNum,
+        blo.name AS blockName,
+<!--    FORMAT(hou.total_amount,2) AS cumulativeFlow,-->
+        CAST(hou.total_amount AS DECIMAL(10, 2)) AS cumulativeFlow,
+        hou.dt AS getDate
+    FROM pr_intake inta
+        INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
+        INNER JOIN ba_block blo ON blo.id = inta.blockId
+    WHERE inta.deleted = 0 AND hou.total_amount &lt; #{totalAmount}
+    ORDER BY hou.dt
+    <trim prefix="limit " >
+      <if test="start != null and count != null">
+        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+      </if>
+    </trim>
+  </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0