From a40757e9ca952fad9f0838a17276bf8f71f14496 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期二, 12 十一月 2024 09:45:26 +0800
Subject: [PATCH] 代码优化
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml | 25 +++++++++++++++++++------
1 files changed, 19 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 66a399f..f6eff90 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
@@ -199,8 +199,7 @@
<select id="getUnclosedValves" resultType="com.dy.pipIrrGlobal.voRm.VoUnclosedValve">
SELECT
inta.name AS intakeNum,
-<!-- rtus.isOnLine,-->
- IFNULL(rtus.isOnLine,'鏈煡') AS isOnLine,
+ IFNULL(rtus.isOnLine, false) AS isOnLine,
com.rtu_addr AS rtuAddr,
com.param ->> '$.icCardNo' AS vcNum,
(
@@ -212,10 +211,24 @@
) 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)
+ 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)
+ 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
@@ -229,7 +242,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'
@@ -243,7 +256,7 @@
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>
--
Gitblit v1.8.0