From b397edee2be2dfcc3f28eeac50298b4de26b1afa Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 13 十二月 2024 16:53:45 +0800
Subject: [PATCH] 取水口日取水量表中,出现一些大数,明显不正确,发析系统日志,发现一些阀控器会上报一些累计流量为0的数据,且无规律,推测是其不能从水表读取到累计流量时会上报0值。如果间歇上报0值,间歇上报一些非0值,非0值减去0值,就会出现大数,一天中出现几次那么会大数进行累加,数值将更大。为此变更算法,规避这种情况,但也会丢失一些流量值。

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml |   33 +++++++++------------------------
 1 files changed, 9 insertions(+), 24 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
index 5c02036..b9aba1b 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -552,7 +552,8 @@
         <if test="onLineMap != null and onLineMap !='' and isOnLine != null">
             rtus.isOnLine,
         </if>
-        alarm.alarm
+        alarm.alarm,
+        alarm.alarmDt
         FROM pr_intake inta
         INNER JOIN pr_controller con ON con.intakeId = inta.id
         LEFT JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
@@ -563,7 +564,8 @@
                 IF(alarm_battery_volt = 1, '鐢垫睜鐢靛帇鎶ヨ锛�', ''),
                 IF(alarm_valve = 1, '闃�闂ㄦ姤璀︼紝', ''),
                 IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅滄姤璀︼紝', '')
-            ) AS alarm
+            ) AS alarm,
+            dt AS alarmDt
             FROM rm_alarm_state_last
             WHERE (alarm_loss = 1 OR alarm_battery_volt = 1 OR alarm_valve = 1 OR alarm_water_meter_fault = 1)
             AND dt >= DATE_SUB(NOW(), INTERVAL 12 HOUR)
@@ -603,31 +605,14 @@
         </trim>
     </select>
 
-
-
-
-
-
-
-
-
-
-
     <!--鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栧彇姘村彛瀵硅薄-->
     <select id="getIntakeByName" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake">
-        SELECT con.intakeId,
-        con.rtuAddr,
-        inta.name AS intakeNum,
-        rtus.isOnLine
+        SELECT
+            con.intakeId,
+            con.rtuAddr,
+            inta.name AS intakeNum
         FROM pr_controller con
-        INNER JOIN pr_intake inta ON con.intakeId = inta.id
-        left JOIN JSON_TABLE(
-        #{onLineMap},
-        '$[*]' COLUMNS (
-        rtuAddr VARCHAR(20) PATH '$.rtuAddr',
-        isOnLine BOOLEAN PATH '$.isOnLine'
-        )
-        ) rtus ON con.rtuAddr = rtus.rtuAddr
+            INNER JOIN pr_intake inta ON con.intakeId = inta.id
         <where>
             <if test="intakeNum != null and intakeNum != ''">
                 AND LOWER(inta.name) = #{intakeNum}

--
Gitblit v1.8.0