feat(backend): 添加设备信息查询和异常数据记录功能

- 在 EmsBaseMonitorInfoMapper 中添加了根据设备编码列表查询设备信息的方法
- 在 EmsRecordAlarmDataMapper 中添加了查询最近时间内的异常数据的方法
- 在 EmsBaseEnergyTypeMapper 和 EmsBaseMonitorInfoMapper 中启用了二级缓存
- 废弃了 EMSTask 中的采集设备告警定时任务方法
boardTest
zch 1 month ago
parent f8e7c905fa
commit b799cd5a7c

@ -2,6 +2,7 @@ package com.os.ems.base.mapper;
import java.util.List;
import com.os.ems.base.domain.EmsBaseMonitorInfo;
import org.apache.ibatis.annotations.Param;
/**
* Mapper
@ -65,4 +66,11 @@ public interface EmsBaseMonitorInfoMapper
* @return
*/
public String selectEmsBaseMonitorTypeByMonitorCode(String monitorCode);
/**
*
* @param monitorCodes
* @return
*/
public List<EmsBaseMonitorInfo> selectMonitorInfoByCodes(@Param("monitorCodes") List<String> monitorCodes);
}

@ -1,7 +1,9 @@
package com.os.ems.record.mapper;
import java.util.Date;
import java.util.List;
import com.os.ems.record.domain.EmsRecordAlarmData;
import org.apache.ibatis.annotations.Param;
/**
* Mapper
@ -58,4 +60,12 @@ public interface EmsRecordAlarmDataMapper
* @return
*/
public int deleteEmsRecordAlarmDataByObjIds(Long[] objIds);
/**
*
*
* @param fiveMinutesAgo
* @return
*/
public List<EmsRecordAlarmData> selectRecentAlarmData(@Param("fiveMinutesAgo") Date fiveMinutesAgo);
}

@ -4,6 +4,13 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.os.ems.base.mapper.EmsBaseEnergyTypeMapper">
<!-- 启用二级缓存 -->
<cache
eviction="LRU"
flushInterval="7200000"
size="500"
readOnly="true"/>
<resultMap type="EmsBaseEnergyType" id="EmsBaseEnergyTypeResult">
<result property="objId" column="obj_id"/>
<result property="energyTypeId" column="energy_type_id"/>

@ -4,6 +4,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.os.ems.base.mapper.EmsBaseMonitorInfoMapper">
<!-- 启用二级缓存 -->
<cache
eviction="LRU"
flushInterval="3600000"
size="1000"
readOnly="true"/>
<resultMap type="EmsBaseMonitorInfo" id="EmsBaseMonitorInfoResult">
<result property="objId" column="obj_id" />
<result property="parentId" column="parent_id" />
@ -171,4 +178,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{objId}
</foreach>
</delete>
<!-- 根据设备编码列表查询设备信息 -->
<select id="selectMonitorInfoByCodes" resultMap="EmsBaseMonitorInfoResult">
<include refid="selectEmsBaseMonitorInfoVo"/>
WHERE monitor_code IN
<foreach collection="monitorCodes" item="monitorCode" open="(" separator="," close=")">
#{monitorCode}
</foreach>
</select>
</mapper>

@ -139,4 +139,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{objId}
</foreach>
</delete>
<!-- 查询最近时间内的异常数据 -->
<select id="selectRecentAlarmData" parameterType="java.util.Date" resultMap="EmsRecordAlarmDataResult">
SELECT rad.obj_id,
rad.monitor_id,
rad.collect_device_id,
rad.collect_time,
rad.alarm_type,
rad.alarm_status,
rad.alarm_data,
rad.operation_name,
rad.operation_time,
rad.cause,
rad.create_by,
rad.create_time,
rad.update_by,
rad.update_time,
rad.notify_user
FROM ems_record_alarm_data rad
WHERE rad.alarm_status = 1
AND rad.alarm_type = 0
AND rad.create_time >= #{fiveMinutesAgo}
</select>
</mapper>

@ -23,24 +23,11 @@ public class EMSTask {
private IEmsRecordAlarmDataService emsRecordAlarmDataService;
/**
*
*
* @Scheduled
*/
public void collectDeviceAlarmsTask() {
emsRecordAlarmDataService.collectDeviceAlarmsTask();
}
/**
*
*/
public void exceedDnbThresholdAlarmsTask() {
emsRecordAlarmDataService.exceedDnbThresholdAlarmsTask();
}
/**
*
*/
public void hourlyConsumptionAlarmsTask() {
emsRecordAlarmDataService.hourlyConsumptionAlarmsTask();
}
// public void checkIotenvThresholdAlarms() {
// emsRecordAlarmDataService.checkIotenvThresholdAlarms();
// }
}

Loading…
Cancel
Save