fengxiang
2018-05-10 c976fedb4d58a23aff930188d4031adac54a3037
获取报警 阀值
2 files modified
48 ■■■■ changed files
src/main/java/com/moral/controller/AlarmController.java 5 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/controller/ScreenController.java 43 ●●●● patch | view | raw | blame | history
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)
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 {
            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) -> {
                     defaultSensorLevelMap = defaultAlarmValue.getAlarmLevels();
                 }
                 Map<String, AlarmSensorLevel> finalDefaultSensorLevelMap = defaultSensorLevelMap;
                 alarmLevelMap.entrySet().stream().forEach(entry -> {
                     //当 increment都为0时,替换为默认值
                                 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;
                     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);
                 }
             }
             if(alarmLevelMap!=null){
                 });
                 //map to list
                 Map<String, AlarmSensorLevel> finalAlarmLevelMap = alarmLevelMap;
                 sensorAlarmList = alarmLevelMap.keySet().stream().map(key -> {