From c2028968a72482249491afd2c94fdd583e1eff94 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 26 二月 2025 14:26:49 +0800
Subject: [PATCH] 解决控制器报警与状态的bug

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml |  221 +++++++++++++++++++++++++++---------------------------
 1 files changed, 110 insertions(+), 111 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
index 5604c9a..1dad843 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
@@ -350,12 +350,12 @@
         where id = #{id,jdbcType=BIGINT}
     </update>
     <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍鎬绘暟-->
-<select id="getRecordCount" resultType="java.lang.Long">
-    select count(*)
-    from rm_alarm_state_history rash
-    Left join pr_intake pint on rash.intake_id = pint.id
-    <where>
-       <if test="alarmState == 1">
+    <select id="getRecordCount" resultType="java.lang.Long">
+        select count(*)
+        from rm_alarm_state_history rash
+                 Left join pr_intake pint on rash.intake_id = pint.id
+        <where>
+            <if test="alarmState == 1">
                 and (
                     alarm_remain_water = 1
                     or alarm0_water_remain = 1
@@ -373,124 +373,123 @@
                     or alarm_battery_volt = 1
                     or alarm_valve = 1
                 )
-       </if>
-       <if test="alarmState == 0">
-           and (
-                alarm_remain_water = 0
-                and alarm0_water_remain = 0
-                and alarm_exceed_year = 0
-                and alarm_water_meter_fault = 0
-                and alarm_loss = 0
-                and alarm_water_meter_break = 0
-                and alarm_ele_meter_fault = 0
-                and alarm0_money_remain = 0
-                and alarm_inner_door = 0
-                and alarm_outer_door = 0
-                and alarm_ele_miss = 0
-                and alarm_ele_exceed = 0
-                and alarm_ele_low_volt = 0
-                and alarm_battery_volt = 0
-                and alarm_valve = 0
-                )
-        </if>
-        <if test="valveState != null">
-            and rash.valve_state = #{valveState,jdbcType=TINYINT}
-        </if>
-        <if test="intakeId != null and intakeId != '' ">
-            and rash.intake_id = #{intakeId}
-        </if>
-        <if test="intakeName != null and intakeName != '' ">
-            and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
-        </if>
-        <if test="startDt != null and startDt != ''">
-            and rasl.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
-        </if>
-        <if test="endDt != null and endDt != ''">
-            and rasl.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
-        </if>
-        </where>
-    </select>
-    <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍-->
-    <select id="getControllerAlarmStateHistory" resultType="com.dy.pipIrrGlobal.voRm.VoControllerAlarmState">
-        select
-        CAST(rash.controller_id AS char)AS controllerId,
-        CAST(rash.intake_id AS char)AS intakeId,
-        pint.name as intakeName,
-        rash.rtu_addr as rtuAddr,
-        rash.dt as dt,
-        rash.valve_state as valveState,
-        rash.alarm_remain_water as alarmRemainWater,
-        rash.alarm0_water_remain as alarm0WaterRemain,
-        rash.alarm_exceed_year as alarmExceedYear,
-        rash.alarm_water_meter_fault as alarmWaterMeterFault,
-        rash.alarm_loss as alarmLoss,
-        rash.alarm_water_meter_break as alarmWaterMeterBreak,
-        rash.alarm_ele_meter_fault as alarmEleMeterFault,
-        rash.alarm0_money_remain as alarm0MoneyRemain,
-        rash.alarm_inner_door as alarmInnerDoor,
-        rash.alarm_outer_door as alarmOuterDoor,
-        rash.alarm_ele_miss as alarmEleMiss,
-        rash.alarm_ele_exceed as alarmEleExceed,
-        rash.alarm_ele_low_volt as alarmEleLowVolt,
-        rash.state_ic_enable as stateIcEnable,
-        rash.alarm_battery_volt as alarmBatteryVolt,
-        rash.alarm_valve as alarmValve,
-        rash.power_type as powerType
-        from rm_alarm_state_history rash
-        Left join pr_intake pint on rash.intake_id = pint.id
-        <where>
-            <if test="alarmState == 1">
-                and (
-                alarm_remain_water = 1
-                or alarm0_water_remain = 1
-                or alarm_exceed_year = 1
-                or alarm_water_meter_fault = 1
-                or alarm_loss = 1
-                or alarm_water_meter_break = 1
-                or alarm_ele_meter_fault = 1
-                or alarm0_money_remain = 1
-                or alarm_inner_door = 1
-                or alarm_outer_door = 1
-                or alarm_ele_miss = 1
-                or alarm_ele_exceed = 1
-                or alarm_ele_low_volt = 1
-                or alarm_battery_volt = 1
-                or alarm_valve = 1
-                )
             </if>
             <if test="alarmState == 0">
                 and (
-                alarm_remain_water = 0
-                and alarm0_water_remain = 0
-                and alarm_exceed_year = 0
-                and alarm_water_meter_fault = 0
-                and alarm_loss = 0
-                and alarm_water_meter_break = 0
-                and alarm_ele_meter_fault = 0
-                and alarm0_money_remain = 0
-                and alarm_inner_door = 0
-                and alarm_outer_door = 0
-                and alarm_ele_miss = 0
-                and alarm_ele_exceed = 0
-                and alarm_ele_low_volt = 0
-                and alarm_battery_volt = 0
-                and alarm_valve = 0
-                )
+                        alarm_remain_water = 0
+                        and alarm0_water_remain = 0
+                        and alarm_exceed_year = 0
+                        and alarm_water_meter_fault = 0
+                        and alarm_loss = 0
+                        and alarm_water_meter_break = 0
+                        and alarm_ele_meter_fault = 0
+                        and alarm0_money_remain = 0
+                        and alarm_inner_door = 0
+                        and alarm_outer_door = 0
+                        and alarm_ele_miss = 0
+                        and alarm_ele_exceed = 0
+                        and alarm_ele_low_volt = 0
+                        and alarm_battery_volt = 0
+                        and alarm_valve = 0
+                    )
             </if>
             <if test="valveState != null">
                 and rash.valve_state = #{valveState,jdbcType=TINYINT}
             </if>
-            <if test="intakeId != null and intakeId != '' ">
+            <if test="intakeId != null and intakeId != ''">
                 and rash.intake_id = #{intakeId}
             </if>
-            <if test="intakeName != null and intakeName != '' ">
-                and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
+            <if test="intakeName != null and intakeName != ''">
+                and pint.name like CONCAT('%', #{intakeName,jdbcType=VARCHAR}, '%')
             </if>
             <if test="startDt != null and startDt != ''">
-                and rasl.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
+                and rash.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
             </if>
             <if test="endDt != null and endDt != ''">
-                and rasl.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
+                and rash.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
+            </if>
+        </where>
+    </select>
+    <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍-->
+    <select id="getControllerAlarmStateHistory" resultType="com.dy.pipIrrGlobal.voRm.VoControllerAlarmState">
+        select CAST(rash.controller_id AS char) AS controllerId,
+               CAST(rash.intake_id AS char)     AS intakeId,
+               pint.name                        as intakeName,
+               rash.rtu_addr                    as rtuAddr,
+               rash.dt                          as dt,
+               rash.valve_state                 as valveState,
+               rash.alarm_remain_water          as alarmRemainWater,
+               rash.alarm0_water_remain         as alarm0WaterRemain,
+               rash.alarm_exceed_year           as alarmExceedYear,
+               rash.alarm_water_meter_fault     as alarmWaterMeterFault,
+               rash.alarm_loss                  as alarmLoss,
+               rash.alarm_water_meter_break     as alarmWaterMeterBreak,
+               rash.alarm_ele_meter_fault       as alarmEleMeterFault,
+               rash.alarm0_money_remain         as alarm0MoneyRemain,
+               rash.alarm_inner_door            as alarmInnerDoor,
+               rash.alarm_outer_door            as alarmOuterDoor,
+               rash.alarm_ele_miss              as alarmEleMiss,
+               rash.alarm_ele_exceed            as alarmEleExceed,
+               rash.alarm_ele_low_volt          as alarmEleLowVolt,
+               rash.state_ic_enable             as stateIcEnable,
+               rash.alarm_battery_volt          as alarmBatteryVolt,
+               rash.alarm_valve                 as alarmValve,
+               rash.power_type                  as powerType
+        from rm_alarm_state_history rash
+                 Left join pr_intake pint on rash.intake_id = pint.id
+        <where>
+            <if test="alarmState == 1">
+                and (
+                    alarm_remain_water = 1
+                    or alarm0_water_remain = 1
+                    or alarm_exceed_year = 1
+                    or alarm_water_meter_fault = 1
+                    or alarm_loss = 1
+                    or alarm_water_meter_break = 1
+                    or alarm_ele_meter_fault = 1
+                    or alarm0_money_remain = 1
+                    or alarm_inner_door = 1
+                    or alarm_outer_door = 1
+                    or alarm_ele_miss = 1
+                    or alarm_ele_exceed = 1
+                    or alarm_ele_low_volt = 1
+                    or alarm_battery_volt = 1
+                    or alarm_valve = 1
+                )
+            </if>
+            <if test="alarmState == 0">
+                and (
+                        alarm_remain_water = 0
+                        and alarm0_water_remain = 0
+                        and alarm_exceed_year = 0
+                        and alarm_water_meter_fault = 0
+                        and alarm_loss = 0
+                        and alarm_water_meter_break = 0
+                        and alarm_ele_meter_fault = 0
+                        and alarm0_money_remain = 0
+                        and alarm_inner_door = 0
+                        and alarm_outer_door = 0
+                        and alarm_ele_miss = 0
+                        and alarm_ele_exceed = 0
+                        and alarm_ele_low_volt = 0
+                        and alarm_battery_volt = 0
+                        and alarm_valve = 0
+                    )
+            </if>
+            <if test="valveState != null">
+                and rash.valve_state = #{valveState,jdbcType=TINYINT}
+            </if>
+            <if test="intakeId != null and intakeId != ''">
+                and rash.intake_id = #{intakeId}
+            </if>
+            <if test="intakeName != null and intakeName != ''">
+                and pint.name like CONCAT('%', #{intakeName,jdbcType=VARCHAR}, '%')
+            </if>
+            <if test="startDt != null and startDt != ''">
+                and rash.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
+            </if>
+            <if test="endDt != null and endDt != ''">
+                and rash.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
             </if>
         </where>
         ORDER BY rash.id DESC

--
Gitblit v1.8.0