Commit eb797018 authored by caotao's avatar caotao

1.动态返回预警周期与预警值

parent 99de8784
......@@ -112,6 +112,14 @@ public class CommonConstans {
}
};
public static final HashMap<String, String> waringPeriodTowaringCycle = new HashMap<String, String>() {
{
put("按时刻", "分钟");
put("按小时", "小时");
put("按天", "天");
}
};
public static final HashMap<String, String> waringPeriodDateFormate = new HashMap<String, String>() {
{
......
......@@ -166,7 +166,8 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
*/
public HashMap<String, Object> getFanAlarmTrendAndAlarmAbnormalityList(IdxBizFanWarningRecord idxBizFanWarningRecord) {
HashMap<String, Object> result = new HashMap<>();
HashMap<String, List<String>> alarmTrendMap = new HashMap<>();
HashMap<String, Object> alarmTrendMap = new HashMap<>();
HashMap<String,Object> maxValueAndWaringCycle = getWaringCycleAndMaxValueByWaring(idxBizFanWarningRecord.getWarningPeriod(),idxBizFanWarningRecord.getCONTENT(),idxBizFanWarningRecord.getPointName());
List<HashMap<String, String>> alarmAbnormalityList = new ArrayList<>();
List<IdxBizFanHealthIndex> idxBizFanHealthIndexList = idxBizFanHealthIndexMapper.selectList(new QueryWrapper<IdxBizFanHealthIndex>()
.eq("GATEWAY_ID", idxBizFanWarningRecord.getGatewayId())
......@@ -176,7 +177,7 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
.orderByDesc("ANALYSIS_TIME")
.last("limit 30"));
List<String> xDatas = new ArrayList<>();
List<String> yDatas = new ArrayList<>();
List<Double> yDatas = new ArrayList<>();
String startTime = "";
String endTime = "";
int idxBizFanHealthIndexListSize = idxBizFanHealthIndexList.size();
......@@ -184,7 +185,7 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
HashMap<String, String> alarmAbnormalityItem = new HashMap<>();
IdxBizFanHealthIndex idxBizFanHealthIndex = idxBizFanHealthIndexList.get(i);
xDatas.add(idxBizFanHealthIndex.getANALYSISTIME());
yDatas.add(String.valueOf(idxBizFanHealthIndex.getHealthIndex()));
yDatas.add(idxBizFanHealthIndex.getHealthIndex());
alarmAbnormalityItem.put("sort", String.valueOf(i));
alarmAbnormalityItem.put("time", idxBizFanHealthIndex.getANALYSISTIME());
alarmAbnormalityItem.put("abnormal", String.valueOf(idxBizFanHealthIndex.getANOMALY()).replace("null","0.0"));
......@@ -215,6 +216,8 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
}
alarmTrendMap.put("xDatas", xDatas);
alarmTrendMap.put("yDatas", yDatas);
alarmTrendMap.put("maxValue", maxValueAndWaringCycle.get("maxValue"));
alarmTrendMap.put("warningCycle", maxValueAndWaringCycle.get("warningCycle"));
result.put("alarmTrend", alarmTrendMap);
// 异常度 alarmAbnormality
int alarmAbnormalitySize = idxBizFanHealthIndexListSize >= 3 ? 3 : idxBizFanHealthIndexListSize;
......@@ -233,7 +236,8 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
*/
public HashMap<String, Object> getPvAlarmTrendAndAlarmAbnormalityList(IdxBizPvWarningRecord idxBizPvWarningRecord) {
HashMap<String, Object> result = new HashMap<>();
HashMap<String, List<String>> alarmTrendMap = new HashMap<>();
HashMap<String, Object> alarmTrendMap = new HashMap<>();
HashMap<String,Object> maxValueAndWaringCycle = getWaringCycleAndMaxValueByWaring(idxBizPvWarningRecord.getWarningPeriod(),idxBizPvWarningRecord.getCONTENT(),idxBizPvWarningRecord.getPointName());
List<HashMap<String, String>> alarmAbnormalityList = new ArrayList<>();
List<IdxBizPvHealthIndex> idxBizPvHealthIndexList = idxBizPvHealthIndexMapper.selectList(new QueryWrapper<IdxBizPvHealthIndex>()
.eq("GATEWAY_ID", idxBizPvWarningRecord.getGatewayId())
......@@ -243,7 +247,7 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
.orderByDesc("ANALYSIS_TIME")
.last("limit 30"));
List<String> xDatas = new ArrayList<>();
List<String> yDatas = new ArrayList<>();
List<Double> yDatas = new ArrayList<>();
String startTime = "";
String endTime = "";
int idxBizPvHealthIndexListSize = idxBizPvHealthIndexList.size();
......@@ -251,7 +255,7 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
HashMap<String, String> alarmAbnormalityItem = new HashMap<>();
IdxBizPvHealthIndex idxBizPvHealthIndex = idxBizPvHealthIndexList.get(i);
xDatas.add(idxBizPvHealthIndex.getANALYSISTIME());
yDatas.add(String.valueOf(idxBizPvHealthIndex.getHealthIndex()));
yDatas.add(idxBizPvHealthIndex.getHealthIndex());
alarmAbnormalityItem.put("sort", String.valueOf(i));
alarmAbnormalityItem.put("time", idxBizPvHealthIndex.getANALYSISTIME());
alarmAbnormalityItem.put("abnormal", String.valueOf(idxBizPvHealthIndex.getANOMALY()).replace("null","0.0"));
......@@ -282,6 +286,8 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
}
alarmTrendMap.put("xDatas", xDatas);
alarmTrendMap.put("yDatas", yDatas);
alarmTrendMap.put("maxValue", maxValueAndWaringCycle.get("maxValue"));
alarmTrendMap.put("warningCycle", maxValueAndWaringCycle.get("warningCycle"));
result.put("alarmTrend", alarmTrendMap);
// 异常度 alarmAbnormality
int alarmAbnormalitySize = idxBizPvHealthIndexListSize >= 3 ? 3 : idxBizPvHealthIndexListSize;
......@@ -608,4 +614,30 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
date = DateUtil.offsetMinute(date, offsetMinutes);
return DateUtil.format(date, DatePattern.NORM_DATETIME_PATTERN);
}
/**
* 根据预预警类型获取预警周期与预警值
* @return
*/
public HashMap<String,Object> getWaringCycleAndMaxValueByWaring(String warningPeriod,String warningContenct,String pointName){
HashMap<String,Object> result = new HashMap<>();
warningContenct=warningContenct.replace(pointName+"连续","");
String spiltStr =CommonConstans.waringPeriodTowaringCycle.get(warningPeriod);
String [] strings= warningContenct.split(spiltStr);
Double maxValue=0.0;
Integer warningCycle=0;
if(strings.length == 2){
if (spiltStr.equals("分钟")){
warningCycle = Integer.valueOf(strings[0])/10;
}else {
warningCycle=Integer.valueOf(strings[0]);
}
if(strings[1].contains("<")){
maxValue = Double.valueOf(strings[1].split("<")[1]);
}
}
result.put("maxValue",maxValue);
result.put("warningCycle",warningCycle);
return result;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment