fengxiang
2018-05-10 f9abb9474b09cf37ac4bbd6a65ea6229ebc06214
src/main/java/com/moral/controller/ScreenController.java
@@ -17,6 +17,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.moral.entity.alarm.AlarmConfig;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.log4j.Logger;
@@ -494,4 +495,40 @@
      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;
   }
}