From 77547e85cac1f2e9a02e770fb8dfb603d236c67a Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 11 十二月 2024 11:50:36 +0800
Subject: [PATCH] 1、取水口年月水量统计、农户年月用水量统计、取水口漏损年月统计存在bug,进行了修改; 2、生成新的pipIrr-web-temp临时任务模块,执行一些临时任务,例如删除数据库中一些出错的数据。

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml |  108 +++++++++++++++++++++++------------------------------
 1 files changed, 47 insertions(+), 61 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 a75444d..b9aba1b 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -438,44 +438,45 @@
 
     <!--鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛�-->
     <select id="getOnLineIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake">
-        SELECT inta.id                     AS intakeId,
-        con.rtuAddr,
-        inta.name                   AS intakeNum,
-        inta.lng,
-        inta.lat,
-        IFNULL(hou.total_amount, 0) AS totalAmount,
-        (CASE
-        WHEN con.rtuAddr IS NULL THEN false
-        WHEN con.rtuAddr IS NOT NULL THEN true
-        END)                    AS isBinded,
-        rtus.isOnLine,
-        alarm.alarm
+        SELECT
+            inta.id AS intakeId,
+            con.rtuAddr,
+            inta.name AS intakeNum,
+            inta.lng,
+            inta.lat,
+            IFNULL(hou.total_amount, 0) AS totalAmount,
+            (CASE
+                WHEN con.rtuAddr IS NULL THEN false
+                WHEN con.rtuAddr IS NOT NULL THEN true
+            END) AS isBinded,
+            rtus.isOnLine,
+            alarm.alarm
         FROM pr_intake inta
-        LEFT JOIN pr_controller con ON con.intakeId = inta.id
-        LEFT JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
-        LEFT JOIN(
-        SELECT intake_id AS intakeId,
-        CONCAT(
-        IF(alarm_loss = 1, IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�,', ''),
-        IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�', '')),
-        IF(alarm_battery_volt = 1, IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ,', ''),
-        IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ', '')),
-        IF(alarm_valve = 1, IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�,', ''),
-        IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�', '')),
-        IF(alarm_valve = 1, '闃�闂ㄦ姤璀�', '')
-        )     AS alarm
-        FROM rm_alarm_state_last
-        WHERE (alarm_water_meter_fault = 1 OR alarm_loss = 1 OR alarm_battery_volt = 1 OR alarm_valve = 1)
-        AND dt >= DATE_SUB(NOW(), INTERVAL 12 HOUR)
-        ) alarm ON alarm.intakeId = inta.id
-        LEFT JOIN JSON_TABLE(
-        <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',-->
-        #{onLineMap},
-        '$[*]' COLUMNS (
-        rtuAddr VARCHAR(20) PATH '$.rtuAddr',
-        isOnLine BOOLEAN PATH '$.isOnLine'
-        )
-        ) rtus ON con.rtuAddr = rtus.rtuAddr
+            LEFT JOIN pr_controller con ON con.intakeId = inta.id
+            LEFT JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
+            LEFT JOIN(
+                SELECT intake_id AS intakeId,
+                    CONCAT(
+                        IF(alarm_loss = 1, IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�,', ''),
+                        IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�', '')),
+                        IF(alarm_battery_volt = 1, IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ,', ''),
+                        IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ', '')),
+                        IF(alarm_valve = 1, IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�,', ''),
+                        IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�', '')),
+                        IF(alarm_valve = 1, '闃�闂ㄦ姤璀�', '')
+                    ) AS alarm
+                FROM rm_alarm_state_last
+                WHERE (alarm_water_meter_fault = 1 OR alarm_loss = 1 OR alarm_battery_volt = 1 OR alarm_valve = 1)
+                    AND dt >= DATE_SUB(NOW(), INTERVAL 12 HOUR)
+            ) alarm ON alarm.intakeId = inta.id
+            LEFT JOIN JSON_TABLE(
+                <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',-->
+                #{onLineMap},
+                '$[*]' COLUMNS (
+                    rtuAddr VARCHAR(20) PATH '$.rtuAddr',
+                    isOnLine BOOLEAN PATH '$.isOnLine'
+                )
+            ) rtus ON con.rtuAddr = rtus.rtuAddr
         <where>
             <if test="isOnLine != null">
                 rtus.isOnLine = #{isOnLine}
@@ -551,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
@@ -562,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)
@@ -602,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