From a334caaa2053511a77b05f74bd1c6ff219d65164 Mon Sep 17 00:00:00 2001 From: zch Date: Mon, 27 Apr 2026 18:06:07 +0800 Subject: [PATCH] =?UTF-8?q?perf(/latestSteamInstantList):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=9F=A5=E8=AF=A2=E8=AE=BE=E5=A4=87=E6=9C=80=E6=96=B0?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E7=9A=84=E6=80=A7=E8=83=BD=EF=BC=8C=E9=81=BF?= =?UTF-8?q?=E5=85=8D=E5=85=A8=E8=A1=A8=E6=89=AB=E6=8F=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改 SQL 查询方式,从设备表驱动并使用 CROSS APPLY 获取每个设备的最新记录 移除 Java 服务层不必要的过滤逻辑,直接使用优化后的查询结果 --- .../impl/EmsRecordSteamInstantServiceImpl.java | 11 ++--------- .../ems/record/EmsRecordSteamInstantMapper.xml | 17 ++++++++--------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/os-ems/src/main/java/com/os/ems/record/service/impl/EmsRecordSteamInstantServiceImpl.java b/os-ems/src/main/java/com/os/ems/record/service/impl/EmsRecordSteamInstantServiceImpl.java index 44fbd1c..abbbd19 100644 --- a/os-ems/src/main/java/com/os/ems/record/service/impl/EmsRecordSteamInstantServiceImpl.java +++ b/os-ems/src/main/java/com/os/ems/record/service/impl/EmsRecordSteamInstantServiceImpl.java @@ -114,16 +114,9 @@ public class EmsRecordSteamInstantServiceImpl implements IEmsRecordSteamInstantS List emsRecordSteamInstants = new ArrayList<>(); //判断监控编码是否为空 if (monitorCode == null){ - //没有选择设备,monitorCode为空的时候,分组查询全部设备的最新一条记录 - List allEmsRecordSteamInstants = emsRecordSteamInstantMapper + //没有选择设备,monitorCode为空的时候,从设备表驱动查询每个设备的最新一条记录 + emsRecordSteamInstants = emsRecordSteamInstantMapper .selectEmsRecordLatestSteamInstantList(emsRecordSteamInstant); - //遍历查询结果 - for (EmsRecordSteamInstant recordSteamInstantallEmsRecordSteamInstants : allEmsRecordSteamInstants){ - //如果有设备名称就添加到返回集合中 - if (recordSteamInstantallEmsRecordSteamInstants.getMonitorName() != null){ - emsRecordSteamInstants.add(recordSteamInstantallEmsRecordSteamInstants); - } - } }else { //选择了设备,monitorCode不为空的时候,根据monitorCode查询指定设备的最新一条记录 emsRecordSteamInstants = emsRecordSteamInstantMapper diff --git a/os-ems/src/main/resources/mapper/ems/record/EmsRecordSteamInstantMapper.xml b/os-ems/src/main/resources/mapper/ems/record/EmsRecordSteamInstantMapper.xml index 18e7fcd..7f411c6 100644 --- a/os-ems/src/main/resources/mapper/ems/record/EmsRecordSteamInstantMapper.xml +++ b/os-ems/src/main/resources/mapper/ems/record/EmsRecordSteamInstantMapper.xml @@ -213,7 +213,7 @@ --> - +