From cbc287cc6a2456bbca42812325ada7613ef0692a Mon Sep 17 00:00:00 2001 From: zch Date: Fri, 13 Dec 2024 10:36:36 +0800 Subject: [PATCH] =?UTF-8?q?add(ems=20and=20moudle):=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=83=BD=E6=BA=90=E7=B1=BB=E5=9E=8B=E8=AE=BE=E5=A4=87=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E7=BB=9F=E8=AE=A1=E5=92=8C=E8=83=BD=E6=BA=90=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 EmsBaseMonitorInfoController 中添加了获取指定能源类型设备数量的接口 - 在 EmsBaseMonitorInfoMapper 和 XML 中添加了相应的 SQL 查询方法 - 在 EmsBaseMonitorInfoServiceImpl 和 IEmsBaseMonitorInfoService 中实现了获取能源类型设备数量的方法 - 在 RecordBusbarAlarmController 中添加了记录母排近七天巡检记录次数的接口 - 新增 RecordBusbarAlarmCountResult 类用于记录母排报警统计结果- 在 RecordBusbarAlarmMapper.xml 中添加了记录母排报警统计的 SQL 查询 - 在 TWTempertureDataController 中添加了查询最新温度数据的接口 - 在 TWTempertureDataMapper 和 TWTempertureDataServiceImpl 中实现了查询最新温度数据的方法 --- .../EmsBaseMonitorInfoController.java | 11 ++ .../base/mapper/EmsBaseMonitorInfoMapper.java | 23 ++-- .../service/IEmsBaseMonitorInfoService.java | 21 ++-- .../impl/EmsBaseMonitorInfoServiceImpl.java | 26 ++-- .../TWTempertureDataController.java | 9 ++ .../record/mapper/TWTempertureDataMapper.java | 18 +-- .../service/ITWTempertureDataService.java | 25 ++-- .../impl/TWTempertureDataServiceImpl.java | 119 ++++++++++++++++-- .../ems/base/EmsBaseMonitorInfoMapper.xml | 14 ++- .../RecordBusbarAlarmController.java | 7 ++ .../VO/RecordBusbarAlarmCountResult.java | 36 ++++++ .../service/IRecordBusbarAlarmService.java | 2 + .../mapper/record/RecordBusbarAlarmMapper.xml | 29 ++++- 13 files changed, 281 insertions(+), 59 deletions(-) create mode 100644 ruoyi-module/src/main/java/com/ruoyi/record/domain/VO/RecordBusbarAlarmCountResult.java diff --git a/ruoyi-ems/src/main/java/com/ruoyi/ems/base/controller/EmsBaseMonitorInfoController.java b/ruoyi-ems/src/main/java/com/ruoyi/ems/base/controller/EmsBaseMonitorInfoController.java index d02eb72..c7ec706 100644 --- a/ruoyi-ems/src/main/java/com/ruoyi/ems/base/controller/EmsBaseMonitorInfoController.java +++ b/ruoyi-ems/src/main/java/com/ruoyi/ems/base/controller/EmsBaseMonitorInfoController.java @@ -112,4 +112,15 @@ public class EmsBaseMonitorInfoController extends BaseController { return toAjax(emsBaseMonitorInfoService.deleteEmsBaseMonitorInfoByObjIds(objIds)); } + + + /** + * 获取指定能源类型的设备数量。 + * @param energyType 需要查询的能源类型。 + * @return 返回指定能源类型的数量。 + */ + @PostMapping("/getEnergyTypeCount/{energyType}") + public int getEnergyTypeCount(@PathVariable("energyType")String energyType){ + return emsBaseMonitorInfoService.getEnergyTypeCount(energyType); + } } diff --git a/ruoyi-ems/src/main/java/com/ruoyi/ems/base/mapper/EmsBaseMonitorInfoMapper.java b/ruoyi-ems/src/main/java/com/ruoyi/ems/base/mapper/EmsBaseMonitorInfoMapper.java index 0fe8e51..2eaeb99 100644 --- a/ruoyi-ems/src/main/java/com/ruoyi/ems/base/mapper/EmsBaseMonitorInfoMapper.java +++ b/ruoyi-ems/src/main/java/com/ruoyi/ems/base/mapper/EmsBaseMonitorInfoMapper.java @@ -5,15 +5,15 @@ import com.ruoyi.ems.base.domain.EmsBaseMonitorInfo; /** * 计量设备信息Mapper接口 - * + * * @author Yinq * @date 2024-05-08 */ -public interface EmsBaseMonitorInfoMapper +public interface EmsBaseMonitorInfoMapper { /** * 查询计量设备信息 - * + * * @param objId 计量设备信息主键 * @return 计量设备信息 */ @@ -21,7 +21,7 @@ public interface EmsBaseMonitorInfoMapper /** * 查询计量设备信息列表 - * + * * @param emsBaseMonitorInfo 计量设备信息 * @return 计量设备信息集合 */ @@ -29,7 +29,7 @@ public interface EmsBaseMonitorInfoMapper /** * 新增计量设备信息 - * + * * @param emsBaseMonitorInfo 计量设备信息 * @return 结果 */ @@ -37,7 +37,7 @@ public interface EmsBaseMonitorInfoMapper /** * 修改计量设备信息 - * + * * @param emsBaseMonitorInfo 计量设备信息 * @return 结果 */ @@ -45,7 +45,7 @@ public interface EmsBaseMonitorInfoMapper /** * 删除计量设备信息 - * + * * @param objId 计量设备信息主键 * @return 结果 */ @@ -53,7 +53,7 @@ public interface EmsBaseMonitorInfoMapper /** * 批量删除计量设备信息 - * + * * @param objIds 需要删除的数据主键集合 * @return 结果 */ @@ -65,4 +65,11 @@ public interface EmsBaseMonitorInfoMapper * @return */ public String selectEmsBaseMonitorTypeByMonitorCode(String monitorCode); + + /** + * 获取指定能源类型的设备数量。 + * @param energyType 需要查询的能源类型。 + * @return 返回指定能源类型的数量。 + */ + public int getEnergyTypeCount(String energyType); } diff --git a/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/IEmsBaseMonitorInfoService.java b/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/IEmsBaseMonitorInfoService.java index d2f971d..63687d7 100644 --- a/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/IEmsBaseMonitorInfoService.java +++ b/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/IEmsBaseMonitorInfoService.java @@ -6,15 +6,15 @@ import com.ruoyi.ems.base.domain.TreeSelects; /** * 计量设备信息Service接口 - * + * * @author Yinq * @date 2024-05-08 */ -public interface IEmsBaseMonitorInfoService +public interface IEmsBaseMonitorInfoService { /** * 查询计量设备信息 - * + * * @param objId 计量设备信息主键 * @return 计量设备信息 */ @@ -36,7 +36,7 @@ public interface IEmsBaseMonitorInfoService /** * 新增计量设备信息 - * + * * @param emsBaseMonitorInfo 计量设备信息 * @return 结果 */ @@ -44,7 +44,7 @@ public interface IEmsBaseMonitorInfoService /** * 修改计量设备信息 - * + * * @param emsBaseMonitorInfo 计量设备信息 * @return 结果 */ @@ -52,7 +52,7 @@ public interface IEmsBaseMonitorInfoService /** * 批量删除计量设备信息 - * + * * @param objIds 需要删除的计量设备信息主键集合 * @return 结果 */ @@ -60,7 +60,7 @@ public interface IEmsBaseMonitorInfoService /** * 删除计量设备信息信息 - * + * * @param objId 计量设备信息主键 * @return 结果 */ @@ -86,4 +86,11 @@ public interface IEmsBaseMonitorInfoService * @return 树结构列表 */ public List buildMonitorInfoTree(List baseMonitorInfos); + + /** + * 获取指定能源类型的设备数量。 + * @param energyType 需要查询的能源类型。 + * @return 返回指定能源类型的数量。 + */ + public int getEnergyTypeCount(String energyType); } diff --git a/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/impl/EmsBaseMonitorInfoServiceImpl.java b/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/impl/EmsBaseMonitorInfoServiceImpl.java index 717ed54..ff33b6a 100644 --- a/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/impl/EmsBaseMonitorInfoServiceImpl.java +++ b/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/impl/EmsBaseMonitorInfoServiceImpl.java @@ -16,19 +16,19 @@ import com.ruoyi.ems.base.service.IEmsBaseMonitorInfoService; /** * 计量设备信息Service业务层处理 - * + * * @author Yinq * @date 2024-05-08 */ @Service -public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService +public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService { @Autowired private EmsBaseMonitorInfoMapper emsBaseMonitorInfoMapper; /** * 查询计量设备信息 - * + * * @param objId 计量设备信息主键 * @return 计量设备信息 */ @@ -40,7 +40,7 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService /** * 查询计量设备信息列表 - * + * * @param emsBaseMonitorInfo 计量设备信息 * @return 计量设备信息 */ @@ -62,7 +62,7 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService /** * 新增计量设备信息 - * + * * @param emsBaseMonitorInfo 计量设备信息 * @return 结果 */ @@ -75,7 +75,7 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService /** * 修改计量设备信息 - * + * * @param emsBaseMonitorInfo 计量设备信息 * @return 结果 */ @@ -88,7 +88,7 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService /** * 批量删除计量设备信息 - * + * * @param objIds 需要删除的计量设备信息主键 * @return 结果 */ @@ -100,7 +100,7 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService /** * 删除计量设备信息信息 - * + * * @param objId 计量设备信息主键 * @return 结果 */ @@ -200,4 +200,14 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService return getChildList(list, t).size() > 0; } + + /** + * 获取指定能源类型的设备数量。 + * @param energyType 需要查询的能源类型。 + * @return 返回指定能源类型的数量。 + */ + public int getEnergyTypeCount(String energyType){ + return emsBaseMonitorInfoMapper.getEnergyTypeCount(energyType); + } + } diff --git a/ruoyi-ems/src/main/java/com/ruoyi/ems/record/controller/TWTempertureDataController.java b/ruoyi-ems/src/main/java/com/ruoyi/ems/record/controller/TWTempertureDataController.java index ab8b13f..5da31dd 100644 --- a/ruoyi-ems/src/main/java/com/ruoyi/ems/record/controller/TWTempertureDataController.java +++ b/ruoyi-ems/src/main/java/com/ruoyi/ems/record/controller/TWTempertureDataController.java @@ -207,4 +207,13 @@ public class TWTempertureDataController extends BaseController return getDataTable(list); } + /** + * 查询最新的温度数据。 + * @param tWTempertureData 需要查询的温度数据对象。 + * @return 如果数据库中存在对应的温度数据,返回包含最新数据的列表;如果不存在或查询过程中发生异常,返回空列表。 + */ + @PostMapping("/selectLastTWTempertureData") + public List selectLastTWTempertureData(@RequestBody TWTempertureData tWTempertureData){ + return tWTempertureDataService.selectLastTWTempertureData(tWTempertureData) ; + } } diff --git a/ruoyi-ems/src/main/java/com/ruoyi/ems/record/mapper/TWTempertureDataMapper.java b/ruoyi-ems/src/main/java/com/ruoyi/ems/record/mapper/TWTempertureDataMapper.java index e80bcbe..884329d 100644 --- a/ruoyi-ems/src/main/java/com/ruoyi/ems/record/mapper/TWTempertureDataMapper.java +++ b/ruoyi-ems/src/main/java/com/ruoyi/ems/record/mapper/TWTempertureDataMapper.java @@ -5,15 +5,15 @@ import com.ruoyi.ems.record.domain.TWTempertureData; /** * 物联网实时数据Mapper接口 - * + * * @author Caoql * @date 2024-08-21 */ -public interface TWTempertureDataMapper +public interface TWTempertureDataMapper { /** * 查询物联网实时数据 - * + * * @param objid 物联网实时数据主键 * @return 物联网实时数据 */ @@ -21,7 +21,7 @@ public interface TWTempertureDataMapper /** * 查询物联网实时数据列表 - * + * * @param tWTempertureData 物联网实时数据 * @return 物联网实时数据集合 */ @@ -29,7 +29,7 @@ public interface TWTempertureDataMapper /** * 新增物联网实时数据 - * + * * @param tWTempertureData 物联网实时数据 * @return 结果 */ @@ -37,7 +37,7 @@ public interface TWTempertureDataMapper /** * 修改物联网实时数据 - * + * * @param tWTempertureData 物联网实时数据 * @return 结果 */ @@ -45,7 +45,7 @@ public interface TWTempertureDataMapper /** * 删除物联网实时数据 - * + * * @param objid 物联网实时数据主键 * @return 结果 */ @@ -53,7 +53,7 @@ public interface TWTempertureDataMapper /** * 批量删除物联网实时数据 - * + * * @param objids 需要删除的数据主键集合 * @return 结果 */ @@ -78,5 +78,5 @@ public interface TWTempertureDataMapper * @param tWTempertureData * @return */ - List selectLastTWTempertureDataList(TWTempertureData tWTempertureData); + public List selectLastTWTempertureDataList(TWTempertureData tWTempertureData); } diff --git a/ruoyi-ems/src/main/java/com/ruoyi/ems/record/service/ITWTempertureDataService.java b/ruoyi-ems/src/main/java/com/ruoyi/ems/record/service/ITWTempertureDataService.java index 910cd5e..ed23696 100644 --- a/ruoyi-ems/src/main/java/com/ruoyi/ems/record/service/ITWTempertureDataService.java +++ b/ruoyi-ems/src/main/java/com/ruoyi/ems/record/service/ITWTempertureDataService.java @@ -5,15 +5,15 @@ import com.ruoyi.ems.record.domain.TWTempertureData; /** * 物联网实时数据Service接口 - * + * * @author Caoql * @date 2024-08-21 */ -public interface ITWTempertureDataService +public interface ITWTempertureDataService { /** * 查询物联网实时数据 - * + * * @param objid 物联网实时数据主键 * @return 物联网实时数据 */ @@ -21,7 +21,7 @@ public interface ITWTempertureDataService /** * 查询物联网实时数据列表 - * + * * @param tWTempertureData 物联网实时数据 * @return 物联网实时数据集合 */ @@ -29,7 +29,7 @@ public interface ITWTempertureDataService /** * 新增物联网实时数据 - * + * * @param tWTempertureData 物联网实时数据 * @return 结果 */ @@ -37,7 +37,7 @@ public interface ITWTempertureDataService /** * 修改物联网实时数据 - * + * * @param tWTempertureData 物联网实时数据 * @return 结果 */ @@ -45,7 +45,7 @@ public interface ITWTempertureDataService /** * 批量删除物联网实时数据 - * + * * @param objids 需要删除的物联网实时数据主键集合 * @return 结果 */ @@ -53,7 +53,7 @@ public interface ITWTempertureDataService /** * 删除物联网实时数据信息 - * + * * @param objid 物联网实时数据主键 * @return 结果 */ @@ -78,5 +78,12 @@ public interface ITWTempertureDataService * @param tWTempertureData * @return */ - List selectLastTWTempertureDataList(TWTempertureData tWTempertureData); + public List selectLastTWTempertureDataList(TWTempertureData tWTempertureData); + + /** + * 查询最新的温度数据。 + * @param tWTempertureData 需要查询的温度数据对象。 + * @return 如果数据库中存在对应的温度数据,返回包含最新数据的列表;如果不存在或查询过程中发生异常,返回空列表。 + */ + public List selectLastTWTempertureData(TWTempertureData tWTempertureData); } diff --git a/ruoyi-ems/src/main/java/com/ruoyi/ems/record/service/impl/TWTempertureDataServiceImpl.java b/ruoyi-ems/src/main/java/com/ruoyi/ems/record/service/impl/TWTempertureDataServiceImpl.java index b469f6e..3045a29 100644 --- a/ruoyi-ems/src/main/java/com/ruoyi/ems/record/service/impl/TWTempertureDataServiceImpl.java +++ b/ruoyi-ems/src/main/java/com/ruoyi/ems/record/service/impl/TWTempertureDataServiceImpl.java @@ -1,6 +1,10 @@ package com.ruoyi.ems.record.service.impl; +import java.lang.reflect.Method; +import java.util.Collections; import java.util.List; +import java.util.ListIterator; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.ems.record.mapper.TWTempertureDataMapper; @@ -9,19 +13,19 @@ import com.ruoyi.ems.record.service.ITWTempertureDataService; /** * 物联网实时数据Service业务层处理 - * + * * @author Caoql * @date 2024-08-21 */ @Service -public class TWTempertureDataServiceImpl implements ITWTempertureDataService +public class TWTempertureDataServiceImpl implements ITWTempertureDataService { @Autowired private TWTempertureDataMapper tWTempertureDataMapper; /** * 查询物联网实时数据 - * + * * @param objid 物联网实时数据主键 * @return 物联网实时数据 */ @@ -33,7 +37,7 @@ public class TWTempertureDataServiceImpl implements ITWTempertureDataService /** * 查询物联网实时数据列表 - * + * * @param tWTempertureData 物联网实时数据 * @return 物联网实时数据 */ @@ -45,7 +49,7 @@ public class TWTempertureDataServiceImpl implements ITWTempertureDataService /** * 新增物联网实时数据 - * + * * @param tWTempertureData 物联网实时数据 * @return 结果 */ @@ -57,7 +61,7 @@ public class TWTempertureDataServiceImpl implements ITWTempertureDataService /** * 修改物联网实时数据 - * + * * @param tWTempertureData 物联网实时数据 * @return 结果 */ @@ -69,7 +73,7 @@ public class TWTempertureDataServiceImpl implements ITWTempertureDataService /** * 批量删除物联网实时数据 - * + * * @param objids 需要删除的物联网实时数据主键 * @return 结果 */ @@ -81,7 +85,7 @@ public class TWTempertureDataServiceImpl implements ITWTempertureDataService /** * 删除物联网实时数据信息 - * + * * @param objid 物联网实时数据主键 * @return 结果 */ @@ -120,4 +124,103 @@ public class TWTempertureDataServiceImpl implements ITWTempertureDataService // 按monitorName分组并获取每个分组的最新记录 return tWTempertureDataMapper.selectLastTWTempertureDataList(tWTempertureData); } + + /** + * 查询最新的温度数据。 + * @param tWTempertureData 需要查询的温度数据对象。 + * @return 如果数据库中存在对应的温度数据,返回包含最新数据的列表;如果不存在或查询过程中发生异常,返回空列表。 + */ + public List selectLastTWTempertureData(TWTempertureData tWTempertureData) { + try { + // 从数据库中查询温度数据列表 + List twlist = tWTempertureDataMapper.selectTWTempertureDataList(tWTempertureData); + if (twlist == null || twlist.isEmpty()) { + // 如果查询结果为空或列表为空,返回一个空列表 + return Collections.emptyList(); + } + + // 创建一个新的TWTempertureData对象用于存储最终的数据 + TWTempertureData data = new TWTempertureData(); + // 获取列表的反向迭代器,从最后一个元素开始遍历 + ListIterator iterator = twlist.listIterator(twlist.size()); + while (iterator.hasPrevious()) { + // 获取当前元素 + TWTempertureData t = iterator.previous(); + // 如果当前元素的tempreture属性不为空,则设置到data对象中 + setIfNotNull(t, data, "tempreture"); + // 如果当前元素的humidity属性不为空,则设置到data对象中 + setIfNotNull(t, data, "humidity"); + // 如果当前元素的illuminance属性不为空,则设置到data对象中 + setIfNotNull(t, data, "illuminance"); + // 如果当前元素的noise属性不为空,则设置到data对象中 + setIfNotNull(t, data, "noise"); + // 设置PM值到data对象中 + setPmValues(t, data); + } + + // 返回包含最终数据的单元素列表 + return Collections.singletonList(data); + } catch (Exception e) { + // 异常处理,打印堆栈跟踪并返回空列表 + e.printStackTrace(); + return Collections.emptyList(); + } + } + + +/** + * 将源对象中指定字段的值设置到目标对象的相应字段中,如果该值不为空且目标对象的对应字段为空。 + * + * @param source 源对象,从中获取字段值 + * @param target 目标对象,将字段值设置到此对象中 + * @param fieldName 要操作的字段名称 + */ +private void setIfNotNull(TWTempertureData source, TWTempertureData target, String fieldName) { + try { + // 获取源对象中指定字段的getter方法 + Method getMethod = TWTempertureData.class.getMethod("get" + capitalize(fieldName)); + // 获取目标对象中指定字段的setter方法,参数类型与getter方法返回类型一致 + Method setMethod = TWTempertureData.class.getMethod("set" + capitalize(fieldName), getMethod.getReturnType()); + // 调用getter方法获取源对象中的字段值 + Object value = getMethod.invoke(source); + // 如果字段值不为空且目标对象中的对应字段值为空,则调用setter方法将值设置到目标对象中 + if (value != null && getMethod.invoke(target) == null) { + setMethod.invoke(target, value); + } + } catch (Exception e) { + // 捕获并打印异常信息 + e.printStackTrace(); + } +} + +/** + * 设置PM值。 + * @param source 源TWTempertureData对象,用于提供PM值。 + * @param target 目标TWTempertureData对象,用于接收PM值。 + */ +private void setPmValues(TWTempertureData source, TWTempertureData target) { + setIfNotNull(source, target, "pm1"); + if (target.getPm1() == null) { + setIfNotNull(source, target, "pm2"); + } + if (target.getPm2() == null) { + setIfNotNull(source, target, "pm10"); + } +} + +/** + * 将字符串的首字母大写。 + * + * @param str 要处理的字符串 + * @return 首字母大写的字符串,如果输入为空或长度为0,则返回原字符串 + */ +private String capitalize(String str) { + // 如果字符串为null或者长度为0,直接返回原字符串 + if (str == null || str.length() == 0) { + return str; + } + // 将字符串的第一个字符转换为大写,并与剩余部分拼接后返回 + return str.substring(0, 1).toUpperCase() + str.substring(1); +} + } diff --git a/ruoyi-ems/src/main/resources/mapper/ems/base/EmsBaseMonitorInfoMapper.xml b/ruoyi-ems/src/main/resources/mapper/ems/base/EmsBaseMonitorInfoMapper.xml index 9c5a358..fff4856 100644 --- a/ruoyi-ems/src/main/resources/mapper/ems/base/EmsBaseMonitorInfoMapper.xml +++ b/ruoyi-ems/src/main/resources/mapper/ems/base/EmsBaseMonitorInfoMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + select count(1) from ems_base_monitor_info where monitor_type = #{energyType} + + diff --git a/ruoyi-module/src/main/java/com/ruoyi/record/controller/RecordBusbarAlarmController.java b/ruoyi-module/src/main/java/com/ruoyi/record/controller/RecordBusbarAlarmController.java index d2a0fde..3350707 100644 --- a/ruoyi-module/src/main/java/com/ruoyi/record/controller/RecordBusbarAlarmController.java +++ b/ruoyi-module/src/main/java/com/ruoyi/record/controller/RecordBusbarAlarmController.java @@ -115,4 +115,11 @@ public class RecordBusbarAlarmController extends BaseController List list = recordBusbarAlarmService.selectRecordBusbarAlarmList(recordBusbarAlarm); return success(list); } + + + //记录母排近七天每天一天的巡检记录次数。 + @PostMapping("/recordBusbarAlarmCount") + public AjaxResult recordBusbarAlarmCount(@RequestBody RecordBusbarAlarm recordBusbarAlarm) { + return AjaxResult.success(recordBusbarAlarmService.recordBusbarAlarmCount(recordBusbarAlarm)); + } } diff --git a/ruoyi-module/src/main/java/com/ruoyi/record/domain/VO/RecordBusbarAlarmCountResult.java b/ruoyi-module/src/main/java/com/ruoyi/record/domain/VO/RecordBusbarAlarmCountResult.java new file mode 100644 index 0000000..837d7f3 --- /dev/null +++ b/ruoyi-module/src/main/java/com/ruoyi/record/domain/VO/RecordBusbarAlarmCountResult.java @@ -0,0 +1,36 @@ +package com.ruoyi.record.domain.VO; + +import com.ruoyi.record.domain.RecordBusbarAlarm; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + + +public class RecordBusbarAlarmCountResult extends RecordBusbarAlarm { + private Date recordDate; + private int alarmCount; + + public Date getRecordDate() { + return recordDate; + } + public void setRecordDate(Date recordDate) { + this.recordDate = recordDate; + } + public int getAlarmCount() { + return alarmCount; + } + + public void setAlarmCount(int alarmCount) { + this.alarmCount = alarmCount; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + + .append("recordDate", getRecordDate()) + .append("alarmCount", getAlarmCount()) + .toString(); + } +} diff --git a/ruoyi-module/src/main/java/com/ruoyi/record/service/IRecordBusbarAlarmService.java b/ruoyi-module/src/main/java/com/ruoyi/record/service/IRecordBusbarAlarmService.java index 689abce..e160655 100644 --- a/ruoyi-module/src/main/java/com/ruoyi/record/service/IRecordBusbarAlarmService.java +++ b/ruoyi-module/src/main/java/com/ruoyi/record/service/IRecordBusbarAlarmService.java @@ -58,4 +58,6 @@ public interface IRecordBusbarAlarmService * @return 结果 */ public int deleteRecordBusbarAlarmByObjId(Long objId); + + int recordBusbarAlarmCount(RecordBusbarAlarm recordBusbarAlarm); } diff --git a/ruoyi-module/src/main/resources/mapper/record/RecordBusbarAlarmMapper.xml b/ruoyi-module/src/main/resources/mapper/record/RecordBusbarAlarmMapper.xml index f3edd84..c2ca75a 100644 --- a/ruoyi-module/src/main/resources/mapper/record/RecordBusbarAlarmMapper.xml +++ b/ruoyi-module/src/main/resources/mapper/record/RecordBusbarAlarmMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -19,13 +19,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + select objId, busbar_code, cabinet_code, temp_max, temp_min, temp_avg, temp_diff, file_path, alarm_type, alarm_value, is_flag, record_time from record_busbar_alarm - + + SELECT + DATE(record_time) AS record_date, + COUNT(*) AS alarm_count + FROM + record_busbar_alarm + WHERE + record_time >= date_sub(CURDATE(), INTERVAL 7 DAY) + GROUP BY + DATE(record_time) + +