From e5e09cdb5e8b9e3a3d30656a0ed05fb5349780be Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期四, 14 十一月 2024 11:04:53 +0800 Subject: [PATCH] 优化未关阀记录接口,解决记录数量少的问题 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml | 72 ----------------------------------- 1 files changed, 1 insertions(+), 71 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 f743ff1..992a58e 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml @@ -275,8 +275,7 @@ ) ) rtus ON com.rtu_addr = rtus.rtuAddr <where> - AND com.com_id in (#{comIds}) - + 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' @@ -284,75 +283,6 @@ 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, - 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 > (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 - 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.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' -- Gitblit v1.8.0