From c976fedb4d58a23aff930188d4031adac54a3037 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Thu, 10 May 2018 17:18:37 +0800
Subject: [PATCH] 获取报警 阀值
---
src/main/java/com/moral/controller/AlarmController.java | 5 ++++-
src/main/java/com/moral/controller/ScreenController.java | 49 +++++++++++++++++++++++++------------------------
2 files changed, 29 insertions(+), 25 deletions(-)
diff --git a/src/main/java/com/moral/controller/AlarmController.java b/src/main/java/com/moral/controller/AlarmController.java
index ce4cf51..d026fa0 100644
--- a/src/main/java/com/moral/controller/AlarmController.java
+++ b/src/main/java/com/moral/controller/AlarmController.java
@@ -53,7 +53,10 @@
if(!CollectionUtils.isEmpty(device.getOrganizationIds())){
List<Sensor> sensorList = sensorService.queryByVersionId(device.getDeviceVersionId()).getData();
String data = historyService.queryValueByMacAndTime(alarm.getMac(),alarm.getTime());
- AlarmConfigValue alarmConfigValue = alarmConfigService.queryValueByOrganizationId(device.getOrganizationIds().get(0)).get();
+ AlarmConfigValue alarmConfigValue
+ = alarmConfigService
+ .queryValueByOrganizationId(device.getOrganizationIds().get(0))
+ .get().getValue();
if(device!=null
&&!CollectionUtils.isEmpty(sensorList)
&&!StringUtils.isEmpty(data)
diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index 8cc897a..0968946 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -157,36 +157,37 @@
@GetMapping("alarm-levels")
public Object getAlarmLevels(HttpServletRequest request, Optional<Integer> orgId, Optional<Integer> mpId) {
List<Map<String,Object>> sensorAlarmList = null;
- Map<String,AlarmSensorLevel> alarmLevelMap = null;
- try {
+ try {
+ AlarmConfig alarmConfig = null;
if(orgId.isPresent()){
- AlarmConfigValue alarmConfigValue = alarmConfigService.queryValueByOrganizationId(orgId.get()).get();
- alarmLevelMap = alarmConfigValue.getAlarmLevels();
+ alarmConfig = alarmConfigService.queryValueByOrganizationId(orgId.get()).get();
}else if(mpId.isPresent()){
- AlarmConfig alarmConfig = alarmConfigService.queryByMonitorPointId(mpId.get()).get();
- alarmLevelMap = alarmConfig.getValue().getAlarmLevels();
+ alarmConfig = alarmConfigService.queryByMonitorPointId(mpId.get()).get();
+ }
+ //���������������
+ if(alarmConfig.getValue()!=null&&alarmConfig.getValue().getAlarmLevels()!=null){
+ Map<String, AlarmSensorLevel> alarmLevelMap = alarmConfig.getValue().getAlarmLevels();
// ������������������������������������������������������
+ Map<String,AlarmSensorLevel> defaultSensorLevelMap = null;
if(alarmConfig.getId()!=null){
AlarmConfigValue defaultAlarmValue = alarmConfigService.getDefaultAlarmConfigValue();
- Map<String,AlarmSensorLevel> defaultSensorLevelMap = defaultAlarmValue.getAlarmLevels();
- Map<String,AlarmSensorLevel> alarmSensorLevelMapNotZO = alarmLevelMap.entrySet().stream().collect(
- HashMap::new,
- (map,entry) -> {
- AlarmSensorLevel alarmSensorLevel = entry.getValue();
- if(alarmSensorLevel.isEnable()||alarmSensorLevel.isDegressEnable()){
- map.put(entry.getKey(),entry.getValue());
- }
- },
- (oMap,nMap) -> {
- oMap.putAll(nMap);
- }
- );
- // ������������������������������������
- defaultSensorLevelMap.putAll(alarmSensorLevelMapNotZO);
- alarmLevelMap = defaultSensorLevelMap;
+ defaultSensorLevelMap = defaultAlarmValue.getAlarmLevels();
}
- }
- if(alarmLevelMap!=null){
+ Map<String, AlarmSensorLevel> finalDefaultSensorLevelMap = defaultSensorLevelMap;
+ alarmLevelMap.entrySet().stream().forEach(entry -> {
+ //��� increment������0������������������������
+ AlarmSensorLevel alarmSensorLevel = entry.getValue();
+ boolean isAllZero = alarmSensorLevel.getIncrement().stream().allMatch(item -> item == 0);
+ if(isAllZero){
+ AlarmSensorLevel defaultAlarmSensorLevel = finalDefaultSensorLevelMap==null?null:finalDefaultSensorLevelMap.get(entry.getKey());
+ if(defaultAlarmSensorLevel!=null){
+ alarmSensorLevel.setIncrement(defaultAlarmSensorLevel.getIncrement());
+ }else{
+ List<Float> tempList = Arrays.asList(0.0f,200.0f,500.0f);
+ alarmSensorLevel.setIncrement(tempList);
+ }
+ }
+ });
//map to list
Map<String, AlarmSensorLevel> finalAlarmLevelMap = alarmLevelMap;
sensorAlarmList = alarmLevelMap.keySet().stream().map(key -> {
--
Gitblit v1.8.0