From ba2c5cb35e1bd1a81bf4027b7aeab16a0a26bb05 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 13 十一月 2024 10:00:43 +0800
Subject: [PATCH] 获取未关阀记录接口,返回多条记录

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml |   34 ++++++++++++++++++++++++++++------
 1 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
index 2f95192..ee38024 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
@@ -199,7 +199,7 @@
     <select id="getUnclosedValves" resultType="com.dy.pipIrrGlobal.voRm.VoUnclosedValve">
         SELECT
             inta.name AS intakeNum,
-            rtus.isOnLine,
+            IFNULL(rtus.isOnLine, false) AS isOnLine,
             com.rtu_addr AS rtuAddr,
             com.param ->> '$.icCardNo' AS vcNum,
             (
@@ -211,10 +211,25 @@
             ) AS orderNo,
             'toClose'                  AS state,
             CASE
-                WHEN com.command_code = 'A1' OR com.command_code = 'A2' THEN 0
+                WHEN com.command_code = 'A1' OR com.command_code = 'A2' THEN 1
                 ELSE 0
             END AS planned,
-            com.send_time AS sendTime
+            com.send_time AS sendTime,
+
+            (SELECT dt FROM rm_work_report_last
+            WHERE rtu_addr = com.rtu_addr AND ic_card_no = com.param ->> '$.icCardNo'
+                <!--AND dt > (SELECT op_dt FROM rm_open_close_valve_last WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo' ORDER BY op_dt DESC LIMIT 1)-->
+                AND dt > com.send_time
+            ORDER BY dt DESC
+            LIMIT 1) AS dt,
+
+            (SELECT water_instant FROM rm_work_report_last
+            WHERE rtu_addr = com.rtu_addr AND ic_card_no = com.param ->> '$.icCardNo'
+                <!--AND dt > (SELECT op_dt FROM rm_open_close_valve_last WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo' ORDER BY op_dt DESC LIMIT 1)-->
+                AND dt > com.send_time
+            ORDER BY dt DESC
+            LIMIT 1) AS waterInstant
+
         FROM rm_command_history com
             INNER JOIN pr_controller con ON com.rtu_addr = con.rtuAddr
             INNER JOIN pr_intake inta ON con.intakeId = inta.id
@@ -228,7 +243,7 @@
             ) rtus ON com.rtu_addr = rtus.rtuAddr
         <where>
             AND com.operator = #{operator}
-            AND (com.protocol = 'p206V1_0_1' AND (com.command_code = '92' OR com.command_code = '97' OR com.command_code = '99' OR com.command_code = 'A0' OR com.command_code = 'A1' OR com.command_code = 'A2'))
+            AND ((com.protocol = 'p206V1' OR com.protocol = 'p206V2') AND (com.command_code = '92' OR com.command_code = '97' OR com.command_code = '99' OR com.command_code = 'A0' OR com.command_code = 'A1' OR com.command_code = 'A2'))
             AND (
                 SELECT op_dt FROM rm_open_close_valve_last
                 WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo'
@@ -242,9 +257,8 @@
                 LIMIT 1
             ) IS NULL
         </where>
-        GROUP BY inta.name, rtus.isOnLine, com.rtu_addr, com.param ->> '$.icCardNo', com.command_code, com.send_time
+        GROUP BY inta.name, rtus.isOnLine, com.rtu_addr, com.param ->> '$.icCardNo', com.command_code, com.send_time, dt, waterInstant
         ORDER BY com.send_time DESC
-        LIMIT 1
     </select>
 
     <!--鏍规嵁鍙栨按鍙D鑾峰彇璇ュ彇姘村彛鏈叧闃�鍙傛暟-->
@@ -338,4 +352,12 @@
             </if>
         </trim>
     </select>
+
+    <!--鏍规嵁鍛戒护鏃ュ織ID鑾峰彇棰勭害鏃堕棿锛屽悜铏氭嫙鍗″啓寮�闃�鏃堕棿鐢�-->
+    <select id="getTimeByCommId" resultType="java.lang.String">
+        SELECT
+            CONCAT(param ->> '$.year', '-', param ->> '$.month', '-', param ->> '$.day', ' ',  param ->> '$.hour', ':', param ->> '$.minute', ':00') AS openTime
+        FROM rm_command_history
+        WHERE com_id = #{commId}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0