From c0d88c1f82394c0374d2d592f4d2bca951d6334e Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Mon, 14 May 2018 15:58:07 +0800
Subject: [PATCH] 报表展示 增加行业筛选

---
 src/main/java/com/moral/controller/ScreenController.java |   51 +++++++++++++++++++++++++++------------------------
 1 files changed, 27 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..f7d72e0 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -157,36 +157,39 @@
 	@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();
+                     if(alarmSensorLevel.getIncrement()!=null){
+                         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