From bad21fff4c90e3c0935413949cdf118aa6f19f84 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 14 十一月 2024 10:40:16 +0800
Subject: [PATCH] 1、优远程升级相关代码; 2、修改升级监视功能模块代码。
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 104 insertions(+), 2 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 83c420b..f743ff1 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
@@ -195,8 +195,110 @@
where com_id = #{comId,jdbcType=BIGINT}
</update>
- <!--鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍锛堝寘鍚湪绾挎儏鍐碉級-->
+ <!--鏍规嵁operator鑾峰彇鏈叧闃�鐨凴TU鍦板潃鍙婅櫄鎷熷崱缂栧彿鏁版嵁瀵癸紝鑾峰彇鏈叧闃�璁板綍浣跨敤-->
+ <select id="getUnclosedRtus" resultType="com.dy.pipIrrGlobal.voRm.VoRtuAndVc">
+ SELECT
+ com.rtu_addr AS rtuAddr,
+ com.param ->> '$.icCardNo' AS vcNum
+ FROM rm_command_history com
+ where 1=1
+ AND com.operator = #{operator}
+ AND com.result = 1
+ 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'
+ ORDER BY op_dt DESC
+ LIMIT 1
+ ) IS NOT NULL
+ AND (
+ SELECT cl_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
+ ) IS NULL
+ GROUP BY com.rtu_addr, com.param ->> '$.icCardNo'
+ </select>
+
+ <!--鏍规嵁RTU鍦板潃鍜岃櫄鎷熷崱缂栧彿鑾峰彇鎴愬姛寮�闃�鐨勬渶鍚庝竴鏉¤褰曪紝鑾峰彇鏈叧闃�璁板綍浣跨敤-->
+ <select id="getLastComId" resultType="java.lang.Long">
+ SELECT com_id AS comId
+ FROM rm_command_history
+ WHERE result = 1
+ AND ((protocol = 'p206V1' OR protocol = 'p206V2')
+ AND (command_code = '92' OR command_code = '97' OR command_code = '99' OR command_code = 'A0' OR command_code = 'A1' OR command_code = 'A2'))
+ AND rtu_addr = #{rtuAddr} AND param ->> '$.icCardNo' = #{vcNum}
+ ORDER BY send_time DESC
+ LIMIT 1
+ </select>
+
<select id="getUnclosedValves" resultType="com.dy.pipIrrGlobal.voRm.VoUnclosedValve">
+ SELECT
+ inta.name AS intakeNum,
+ IFNULL(rtus.isOnLine, false) AS isOnLine,
+ com.rtu_addr AS rtuAddr,
+ com.param ->> '$.icCardNo' AS vcNum,
+ (
+ SELECT param ->> '$.orderNo' AS orderNo
+ FROM rm_command_history
+ WHERE rtu_addr = com.rtu_addr
+ ORDER BY send_time desc
+ LIMIT 0,1
+ ) AS orderNo,
+ 'toClose' AS state,
+ CASE
+ WHEN com.command_code = 'A1' OR com.command_code = 'A2' THEN 1
+ ELSE 0
+ END AS planned,
+ 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 > 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 > 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
+ LEFT JOIN JSON_TABLE(
+ <!--'[{"rtuAddr":"620201000030","isOnLine":true}]',-->
+ #{onLineMap},
+ '$[*]' COLUMNS (
+ rtuAddr VARCHAR(20) PATH '$.rtuAddr',
+ isOnLine BOOLEAN PATH '$.isOnLine'
+ )
+ ) rtus ON com.rtu_addr = rtus.rtuAddr
+ <where>
+ AND com.com_id in (#{comIds})
+
+ AND (
+ 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
+ ) IS NOT NULL
+
+ AND (
+ SELECT cl_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
+ ) IS NULL
+ </where>
+ 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
+ </select>
+
+
+
+ <!--鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍锛堝寘鍚湪绾挎儏鍐碉級-->
+ <select id="getUnclosedValves2" resultType="com.dy.pipIrrGlobal.voRm.VoUnclosedValve">
SELECT
inta.name AS intakeNum,
IFNULL(rtus.isOnLine, false) AS isOnLine,
@@ -243,6 +345,7 @@
) rtus ON com.rtu_addr = rtus.rtuAddr
<where>
AND com.operator = #{operator}
+ AND com.result = 1
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
@@ -259,7 +362,6 @@
</where>
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鑾峰彇璇ュ彇姘村彛鏈叧闃�鍙傛暟-->
--
Gitblit v1.8.0