diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/iot/WisdomScenarioContorller.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/iot/WisdomScenarioContorller.java index 7b7c43f..1c8acbd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/iot/WisdomScenarioContorller.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/iot/WisdomScenarioContorller.java @@ -7,6 +7,7 @@ import com.ruoyi.system.domain.BaseSensorInfo; import com.ruoyi.system.domain.dto.BaseAlarmModuleDto; import com.ruoyi.system.domain.dto.BaseMonitorunitInfoDto; import com.ruoyi.system.domain.dto.BaseSensorInfoDto; +import com.ruoyi.system.domain.dto.RecordAlarmDto; import com.ruoyi.system.service.IBaseAlarmModuleService; import com.ruoyi.system.service.IBaseMonitorunitInfoService; import com.ruoyi.system.service.IBaseSensorInfoService; @@ -16,6 +17,7 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; +import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Comparator; import java.util.List; @@ -142,4 +144,28 @@ public class WisdomScenarioContorller { return result; } + + /** + * 获取告警信息 + * @author WenJY + * @date 2022/3/27 11:36 + * @param monitorUnitId + * @return java.lang.String + */ + @GetMapping("/getAlarmInfo") + @ResponseBody + public String getAlarmInfo(String monitorUnitId){ + + if(!monitorUnitId.isEmpty()){ + List recordAlarmDtos = recordAlarmService.selectAlarmInfoList(monitorUnitId); + + String s = JSONArray.toJSONString(recordAlarmDtos); + + return s; + + } + + return null; + } + } diff --git a/ruoyi-admin/src/main/resources/templates/section/substation.html b/ruoyi-admin/src/main/resources/templates/section/substation.html index 7a6c354..7f751c4 100644 --- a/ruoyi-admin/src/main/resources/templates/section/substation.html +++ b/ruoyi-admin/src/main/resources/templates/section/substation.html @@ -298,14 +298,37 @@ width: ['10%', '10%', '10%', '10%', '30%', '10%', '10%', '10%'], }) - alertList.loadData([ + const alertListData = [ ['01', 'A1', '设备高温', '1#厂区', '无线检测 相对检测值为10°-20°,其值为21°-25°', '越限', '10:00:00', '已处理'], ['02', 'A1', '设备高温', '1#厂区', '无线检测 相对检测值为10°-20°,其值为21°-25°', '越限', '10:00:00', '未处理'], ['03', 'A1', '设备高温', '1#厂区', '无线检测 相对检测值为10°-20°,其值为21°-25°', '越限', '10:00:00', '已处理'], ['04', 'A1', '设备高温', '1#厂区', '无线检测 相对检测值为10°-20°,其值为21°-25°', '越限', '10:00:00', '未处理'], ['05', 'A1', '设备高温', '1#厂区', '无线检测 相对检测值为10°-20°,其值为21°-25°', '越限', '10:00:00', '已处理'], ['06', 'A1', '设备高温', '1#厂区', '无线检测 相对检测值为10°-20°,其值为21°-25°', '越限', '10:00:00', '已处理'], - ], Object.keys(alertListColumns)) + ]; + + alertList.loadData(alertListData, Object.keys(alertListColumns)) + + console.log(alertListData) + + //获取告警信息 + $(() => { + $.ajax({ + url: "/iot/wisdomScenario/getAlarmInfo?monitorUnitId=" + getParams("id"), + type: "get", + dataType: 'JSON', + success: (res) => { + console.log("告警信息:"+res); + + alertList.loadData(res.map(value => [value.alarmModuleId.substring(0,2), value.alarmModuleId.substring(0,2)+"...", value.alarmModuleText,value.sensorLocation,`${"无线检测 相对检测值为:"+value.minValue+"-"+value.maxValue+",其值为:"+value.alarmValue}`, "超限", value.collectTime,`${value.disposeFlag==1?'已处理':'未处理'}`]), Object.keys(alertListColumns)) + + }, + error: () => { + console.log("失败"); + } + }) + + }); function resize() { fontAdjust() diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/RecordAlarm.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/RecordAlarm.java index 06a12e1..cdfeb50 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/RecordAlarm.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/RecordAlarm.java @@ -40,6 +40,9 @@ public class RecordAlarm extends BaseEntity @Excel(name = "采集时间") private String collectTime; + /** 处理标识 */ + private Long disposeFlag; + public void setSensorId(String sensorId) { this.sensorId = sensorId; @@ -95,6 +98,14 @@ public class RecordAlarm extends BaseEntity return collectTime; } + public Long getDisposeFlag() { + return disposeFlag; + } + + public void setDisposeFlag(Long disposeFlag) { + this.disposeFlag = disposeFlag; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/RecordAlarmDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/RecordAlarmDto.java new file mode 100644 index 0000000..041b27e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/RecordAlarmDto.java @@ -0,0 +1,27 @@ +package com.ruoyi.system.domain.dto; + +import com.ruoyi.system.domain.RecordAlarm; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author WenJY + * @date 2022年03月27日 11:49 + */ +@Data +public class RecordAlarmDto extends RecordAlarm { + + private String alarmModuleId; + + private String alarmModuleText; + + private String sensorId; + + private String sensorName; + + private String sensorLocation; + + private String alarmInfo; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RecordAlarmMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RecordAlarmMapper.java index 36ed77a..cbee41c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RecordAlarmMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RecordAlarmMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.system.mapper; import java.util.List; import com.ruoyi.system.domain.RecordAlarm; +import com.ruoyi.system.domain.dto.RecordAlarmDto; /** * 异常数据记录Mapper接口 @@ -58,4 +59,13 @@ public interface RecordAlarmMapper * @return 结果 */ public int deleteRecordAlarmBySensorIds(String[] sensorIds); + + /** + * 根据智慧场景编号获取告警信息 + * @author WenJY + * @date 2022/3/27 11:55 + * @param monitorUnitTypeId + * @return java.util.List + */ + public List selectAlarmInfoList(String monitorUnitTypeId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IRecordAlarmService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IRecordAlarmService.java index 49cfee4..9fc5c16 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IRecordAlarmService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IRecordAlarmService.java @@ -2,6 +2,7 @@ package com.ruoyi.system.service; import java.util.List; import com.ruoyi.system.domain.RecordAlarm; +import com.ruoyi.system.domain.dto.RecordAlarmDto; /** * 异常数据记录Service接口 @@ -58,4 +59,13 @@ public interface IRecordAlarmService * @return 结果 */ public int deleteRecordAlarmBySensorId(String sensorId); + + /** + * 根据智慧场景编号获取告警信息 + * @author WenJY + * @date 2022/3/27 11:55 + * @param monitorUnitTypeId + * @return java.util.List + */ + public List selectAlarmInfoList(String monitorUnitTypeId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecordAlarmServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecordAlarmServiceImpl.java index 2b0939f..49e00b8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecordAlarmServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecordAlarmServiceImpl.java @@ -1,6 +1,8 @@ package com.ruoyi.system.service.impl; import java.util.List; + +import com.ruoyi.system.domain.dto.RecordAlarmDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.system.mapper.RecordAlarmMapper; @@ -91,4 +93,17 @@ public class RecordAlarmServiceImpl implements IRecordAlarmService { return recordAlarmMapper.deleteRecordAlarmBySensorId(sensorId); } + + /** + * 根据智慧场景编号获取告警信息 + * @author WenJY + * @date 2022/3/27 11:55 + * @param monitorUnitTypeId + * @return java.util.List + */ + @Override + public List selectAlarmInfoList(String monitorUnitTypeId){ + return recordAlarmMapper.selectAlarmInfoList(monitorUnitTypeId); + } + } diff --git a/ruoyi-system/src/main/resources/mapper/system/RecordAlarmMapper.xml b/ruoyi-system/src/main/resources/mapper/system/RecordAlarmMapper.xml index 11daa83..f7c484a 100644 --- a/ruoyi-system/src/main/resources/mapper/system/RecordAlarmMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/RecordAlarmMapper.xml @@ -10,11 +10,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + + + + + + + + - select Sensor_Id, AlarmType_Id, Min_Value, Alarm_Value, Max_Value, Collect_Time from record_alarm + select Sensor_Id, AlarmType_Id, Min_Value, Alarm_Value, Max_Value,Dispose_Flag, Collect_Time from record_alarm + select t1.AlarmModule_Id, + t1.AlarmModule_Text, + t3.Sensor_Location, + t4.Min_Value, + t4.Max_Value, + t4.Alarm_Value, + t4.Collect_Time, + t4.Dispose_Flag + from base_alarm_module t1 + left join base_monitorunit_info t2 on t2.MonitorUnit_Type = t1.MonitorUnit_Id + left join base_sensor_info t3 on t2.MonitorUnit_Id = t3.MonitorUnit_Id + left join record_alarm t4 on t3.Sensor_Id = t4.Sensor_Id and t1.AlarmType_Id = t4.AlarmType_Id + where t1.MonitorUnit_Id = #{monitorUnitTypeId} and t4.Collect_Time is not null + + \ No newline at end of file