From acccf8a6aab49208a43fda862487aebcaa2cdb73 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期一, 05 八月 2024 15:31:03 +0800
Subject: [PATCH] 1. 从未开过阀的取水口; 2. 指定时间段内开阀次数超过指定值的取水口; 3. 指定时间段内开阀次数低于指定值的取水口; 4.获取开关阀报(历史)完善接口

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml |  104 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 100 insertions(+), 4 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 16e4487..aefd5fc 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
@@ -425,10 +425,10 @@
       <if test = "rtuAddr != null and rtuAddr !=''">
         AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%')
       </if>
-      <if test = "timeStart_open != null and timeStop_open != null">
+      <if test = "timeStart_open != null and timeStart_open != '' and timeStop_open != null and  timeStop_open != '' ">
         AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
       </if>
-      <if test = "timeStart_close != null and timeStop_close != null">
+      <if test = "timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != '' ">
         AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
       </if>
     </where>
@@ -490,10 +490,10 @@
       <if test = "rtuAddr != null and rtuAddr !=''">
         AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%')
       </if>
-      <if test = "timeStart_open != null and timeStop_open != null">
+      <if test = "timeStart_open != null and timeStart_open != '' and timeStop_open != null and  timeStop_open != '' ">
         AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
       </if>
-      <if test = "timeStart_close != null and timeStop_close != null">
+      <if test = "timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != '' ">
         AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
       </if>
     </where>
@@ -504,4 +504,100 @@
       </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)
+    </select>
+<!--鑾峰彇鎸囧畾鏃堕棿娈靛唴浠庢湭寮�杩囬榾鐨勫彇姘村彛-->
+  <select id="getNeverOpenValveIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake">
+    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
+    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
+    <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="getOpenValveGtIntakesCount" resultType="java.lang.Long">
+    select count(*)
+    from    (SELECT
+    COUNT(*) AS recordCount,
+    inta.id AS intakeId,
+    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
+    WHERE inta.deleted = 0
+    GROUP BY intakeId,intakeNum,blockName
+    HAVING recordCount &gt; #{value}) a
+  </select>
+  <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�-->
+  <select id="getOpenValveGtIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount">
+    SELECT
+      COUNT(*) AS recordCount,
+      inta.id AS intakeId,
+      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
+    WHERE inta.deleted = 0
+    GROUP BY intakeId,intakeNum,blockName
+    HAVING recordCount &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="getOpenValveLtIntakesCount" resultType="java.lang.Long">
+    select count(*)
+    from    (SELECT
+    COUNT(*) AS recordCount,
+    inta.id AS intakeId,
+    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
+    WHERE inta.deleted = 0
+    GROUP BY intakeId,intakeNum,blockName
+    HAVING recordCount &lt; #{value}) a
+  </select>
+  <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟浣庝簬鎸囧畾鍊肩殑鍙栨按鍙�-->
+  <select id="getOpenValveLtIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount">
+    SELECT
+    COUNT(*) AS recordCount,
+    inta.id AS intakeId,
+    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
+    WHERE inta.deleted = 0
+    GROUP BY intakeId,intakeNum,blockName
+    HAVING recordCount &lt; #{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>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0