From e2236bdb285884a32b8c58f0873deb603261f4c3 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Thu, 10 May 2018 15:17:39 +0800
Subject: [PATCH] 获取 报警levels,提供 mpID监控点id,orgId组织id,皆为可选参数
---
src/main/java/com/moral/controller/ScreenController.java | 95 ++++++++++++++++++++++-------------------------
1 files changed, 44 insertions(+), 51 deletions(-)
diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index 4c54351..8cc897a 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -7,11 +7,7 @@
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
@@ -25,6 +21,7 @@
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cglib.beans.BeanMap;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.ObjectUtils;
@@ -158,17 +155,49 @@
* @return the alarm levels
*/
@GetMapping("alarm-levels")
- public Object getAlarmLevels(HttpServletRequest request, Integer orgId) {
+ public Object getAlarmLevels(HttpServletRequest request, Optional<Integer> orgId, Optional<Integer> mpId) {
List<Map<String,Object>> sensorAlarmList = null;
- try {
- AlarmConfigValue alarmConfigValue = alarmConfigService.queryValueByOrganizationId(orgId).get();
- Map<String,AlarmSensorLevel> alarmLevelMap = alarmConfigValue.getAlarmLevels();
- sensorAlarmList = alarmLevelMap.keySet().stream().map(key -> {
- AlarmSensorLevel alarmSensorLevel = alarmLevelMap.get(key);
- JSONObject alarmSensorLevelMap = (JSONObject) JSON.toJSON(alarmSensorLevel);
- alarmSensorLevelMap.put("key",key);
- return alarmSensorLevelMap;
- }).collect(Collectors.toList());
+ Map<String,AlarmSensorLevel> alarmLevelMap = null;
+ try {
+ if(orgId.isPresent()){
+ AlarmConfigValue alarmConfigValue = alarmConfigService.queryValueByOrganizationId(orgId.get()).get();
+ alarmLevelMap = alarmConfigValue.getAlarmLevels();
+ }else if(mpId.isPresent()){
+ AlarmConfig alarmConfig = alarmConfigService.queryByMonitorPointId(mpId.get()).get();
+ alarmLevelMap = alarmConfig.getValue().getAlarmLevels();
+ // ������������������������������������������������������
+ 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;
+ }
+ }
+ if(alarmLevelMap!=null){
+ //map to list
+ Map<String, AlarmSensorLevel> finalAlarmLevelMap = alarmLevelMap;
+ sensorAlarmList = alarmLevelMap.keySet().stream().map(key -> {
+ AlarmSensorLevel alarmSensorLevel = finalAlarmLevelMap.get(key);
+ Map<String,Object> alarmSensorLevelMap = new HashMap<>(BeanMap.create(alarmSensorLevel));
+ alarmSensorLevelMap.put("key",key);
+ return alarmSensorLevelMap;
+ }).collect(Collectors.toList());
+ }else{
+ return new ResultBean<>("���������������������������������������������",ResultBean.FAIL);
+ }
} catch (Exception e) {
e.printStackTrace();
Map<String, Object> err = new LinkedHashMap<String, Object>();
@@ -494,41 +523,5 @@
Map pieData = alarmDailyService.getPieData(parameters);
List<Map<String, Object>> list = (List<Map<String, Object>>) pieData.get(sensorKey);
return new ResultBean<List<Map<String, Object>>>(list);
- }
-
- /**
- * ������������������
- * @param mpid
- * @return
- */
- @GetMapping("getalevels")
- public ResultBean<Map<String,AlarmSensorLevel>> getAlarmLevelByMonitorPointId(int mpid){
- AlarmConfig alarmConfig = alarmConfigService.queryByMonitorPointId(mpid).get();
- Map<String,AlarmSensorLevel> alarmSensorLevelMap = alarmConfig.getValue().getAlarmLevels();
- // ������������������������������������������������������
- if(alarmConfig.getId()!=null){
- AlarmConfigValue defaultAlarmValue = alarmConfigService.getDefaultAlarmConfigValue();
- Map<String,AlarmSensorLevel> defaultSensorLevelMap = defaultAlarmValue.getAlarmLevels();
- Map<String,AlarmSensorLevel> alarmSensorLevelMapNotZO = alarmSensorLevelMap.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);
- alarmSensorLevelMap = defaultSensorLevelMap;
- }
-
- ResultBean<Map<String,AlarmSensorLevel>> resultBean = new ResultBean();
- resultBean.setCode(ResultBean.SUCCESS);
- resultBean.setData(alarmSensorLevelMap);
- return resultBean;
}
}
--
Gitblit v1.8.0