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/ScreenController.java |   49 +++++++++++++++++++++++++------------------------
 1 files changed, 25 insertions(+), 24 deletions(-)

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