From 1337bec4230c2aae43929fdea95604305384d75f Mon Sep 17 00:00:00 2001 From: zch Date: Wed, 27 Nov 2024 10:05:22 +0800 Subject: [PATCH] =?UTF-8?q?change(record):=20=E4=BF=AE=E6=94=B9=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E8=92=B8=E6=B1=BD=E5=AE=9E=E6=97=B6=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增了按设备查询最新记录的功能 - 优化了查询逻辑,支持按监控编码分组查询 - 调整了实时数据页面服务层的查询方法,没有选择设备就显示每个设备的最新一条记录 --- .../mapper/EmsRecordSteamInstantMapper.java | 26 ++-- .../EmsRecordSteamInstantServiceImpl.java | 29 ++++- .../record/EmsRecordSteamInstantMapper.xml | 115 ++++++++++++++---- 3 files changed, 133 insertions(+), 37 deletions(-) diff --git a/os-ems/src/main/java/com/os/ems/record/mapper/EmsRecordSteamInstantMapper.java b/os-ems/src/main/java/com/os/ems/record/mapper/EmsRecordSteamInstantMapper.java index 6d24066..dd4a23a 100644 --- a/os-ems/src/main/java/com/os/ems/record/mapper/EmsRecordSteamInstantMapper.java +++ b/os-ems/src/main/java/com/os/ems/record/mapper/EmsRecordSteamInstantMapper.java @@ -59,14 +59,6 @@ public interface EmsRecordSteamInstantMapper { */ public int deleteEmsRecordSteamInstantByObjIds(Long[] objIds); - /** - * 查询蒸汽实时最后一条数据列表 - * - * @param emsRecordSteamInstant 蒸汽历史数据 - * @return 蒸汽实时数据 - */ - public List selectEmsRecordLatestSteamInstantList(EmsRecordSteamInstant emsRecordSteamInstant); - /** * 根据时间段查询蒸汽历史数据列表 @@ -76,4 +68,22 @@ public interface EmsRecordSteamInstantMapper { */ public List selectEmsRecordSteamInstantListByTime(EmsRecordSteamInstant emsRecordSteamInstant); + + /** + * 查询每个设备的最新一条记录 + * + * @param emsRecordSteamInstant 蒸汽历史数据 + * @return 蒸汽实时数据 + */ + public List selectEmsRecordLatestSteamInstantList(EmsRecordSteamInstant emsRecordSteamInstant); + + + + /** + * 根据MonitorCode分组查询每个设备的最新一条记录 + * + * @param emsRecordSteamInstant 蒸汽历史数据 + * @return 蒸汽实时数据 + */ + public List selectEmsRecordLatestSteamInstantListByMonitorCode(EmsRecordSteamInstant emsRecordSteamInstant); } 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 2a4a4db..d1527ff 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 @@ -1,6 +1,7 @@ package com.os.ems.record.service.impl; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -90,16 +91,36 @@ public class EmsRecordSteamInstantServiceImpl implements IEmsRecordSteamInstantS /** - * 查询蒸汽实时最后一条数据列表 + * 查询蒸汽实时最新一条数据列表 * * @param emsRecordSteamInstant 蒸汽历史数据 * @return 蒸汽实时数据 */ @Override public List selectEmsRecordLatestSteamInstantList(EmsRecordSteamInstant emsRecordSteamInstant){ -/* return emsRecordSteamInstantMapper.selectEmsRecordLatestSteamInstantList(emsRecordSteamInstant);*/ - //只返回第一条数据,subList从索引0开始,只截取1条 - return emsRecordSteamInstantMapper.selectEmsRecordLatestSteamInstantList(emsRecordSteamInstant).subList(0,1); + //获取监控编码 + String monitorCode = emsRecordSteamInstant.getMonitorCode(); + //初始化返回列表 + List emsRecordSteamInstants = new ArrayList<>(); + //判断监控编码是否为空 + if (monitorCode == null){ + //没有选择设备,monitorCode为空的时候,分组查询全部设备的最新一条记录 + List allEmsRecordSteamInstants = emsRecordSteamInstantMapper + .selectEmsRecordLatestSteamInstantList(emsRecordSteamInstant); + //遍历查询结果 + for (EmsRecordSteamInstant recordSteamInstantallEmsRecordSteamInstants : allEmsRecordSteamInstants){ + //如果有设备名称就添加到返回集合中 + if (recordSteamInstantallEmsRecordSteamInstants.getMonitorName() != null){ + emsRecordSteamInstants.add(recordSteamInstantallEmsRecordSteamInstants); + } + } + }else { + //选择了设备,monitorCode不为空的时候,根据monitorCode查询指定设备的最新一条记录 + emsRecordSteamInstants = emsRecordSteamInstantMapper + .selectEmsRecordLatestSteamInstantListByMonitorCode(emsRecordSteamInstant).subList(0, 1); + } + //返回查询结果 + return emsRecordSteamInstants; } 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 be75127..18e7fcd 100644 --- a/os-ems/src/main/resources/mapper/ems/record/EmsRecordSteamInstantMapper.xml +++ b/os-ems/src/main/resources/mapper/ems/record/EmsRecordSteamInstantMapper.xml @@ -66,30 +66,7 @@ where ersi.obj_id = #{objId} - + @@ -176,4 +153,92 @@ order by ersi.record_time desc - \ No newline at end of file + + + + + + + + + + + +