From 1061e15efcc66ba0ae5e95ae0af5c41b6104dea7 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 23 十月 2024 20:37:03 +0800 Subject: [PATCH] 为”远程监测“功能查询在线取水口和不在线取水口SQL语句修改 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml | 26 ++++++++++++++++++++------ 1 files changed, 20 insertions(+), 6 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 8709694..f17472d 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml @@ -532,7 +532,7 @@ SELECT COUNT(*) AS recordCount FROM pr_intake inta INNER JOIN pr_controller con ON con.intakeId = inta.id - <if test="onLineMap != null and onLineMap !='' and isOnLine != null"> + <if test="onLineMap != null and onLineMap !='' and onLineMap != '[]' and isOnLine != null"> LEFT JOIN JSON_TABLE( <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',--> #{onLineMap}, @@ -543,8 +543,15 @@ ) rtus ON con.rtuAddr = rtus.rtuAddr </if> WHERE con.intakeId is not null - <if test="isOnLine != null"> - AND rtus.isOnLine = #{isOnLine} + <if test="isOnLine != null and isOnLine == false"> + <if test="onLineMap != null and onLineMap !='' and onLineMap != '[]'"> + AND rtus.isOnLine = false OR rtus.rtuAddr IS NULL + </if> + </if> + <if test="isOnLine != null and isOnLine == true"> + <if test="onLineMap != null and onLineMap !='' and onLineMap != '[]'"> + AND rtus.isOnLine = true + </if> </if> <if test="intakeNum != null and intakeNum != ''"> AND inta.name = #{intakeNum} @@ -577,7 +584,7 @@ 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) ) alarm ON alarm.intakeId = inta.id - <if test="onLineMap != null and onLineMap !='' and isOnLine != null"> + <if test="onLineMap != null and onLineMap !='' and onLineMap != '[]' and isOnLine != null"> LEFT JOIN JSON_TABLE( <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',--> #{onLineMap}, @@ -588,8 +595,15 @@ ) rtus ON con.rtuAddr = rtus.rtuAddr </if> WHERE con.intakeId is not null - <if test="isOnLine != null"> - AND rtus.isOnLine = #{isOnLine} + <if test="isOnLine != null and isOnLine == false"> + <if test="onLineMap != null and onLineMap !='' and onLineMap != '[]'"> + AND rtus.isOnLine = false OR rtus.rtuAddr IS NULL + </if> + </if> + <if test="isOnLine != null and isOnLine == true"> + <if test="onLineMap != null and onLineMap !='' and onLineMap != '[]'"> + AND rtus.isOnLine = true + </if> </if> <if test="intakeNum != null and intakeNum != ''"> AND inta.name = #{intakeNum} -- Gitblit v1.8.0