Commit 959f022c authored by caotao's avatar caotao

1.根据预警周期动态返回数据

parent 5567c659
......@@ -168,6 +168,9 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
HashMap<String, Object> result = new HashMap<>();
HashMap<String, Object> alarmTrendMap = new HashMap<>();
HashMap<String,Object> maxValueAndWaringCycle = getWaringCycleAndMaxValueByWaring(idxBizFanWarningRecord.getWarningPeriod(),idxBizFanWarningRecord.getCONTENT(),idxBizFanWarningRecord.getPointName());
Integer warningCycle = Integer.valueOf(maxValueAndWaringCycle.get("warningCycle").toString());
alarmTrendMap.put("maxValue", maxValueAndWaringCycle.get("maxValue"));
alarmTrendMap.put("warningCycle", warningCycle);
List<HashMap<String, String>> alarmAbnormalityList = new ArrayList<>();
List<IdxBizFanHealthIndex> idxBizFanHealthIndexList = idxBizFanHealthIndexMapper.selectList(new QueryWrapper<IdxBizFanHealthIndex>()
.eq("GATEWAY_ID", idxBizFanWarningRecord.getGatewayId())
......@@ -190,39 +193,19 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
alarmAbnormalityItem.put("time", idxBizFanHealthIndex.getANALYSISTIME());
alarmAbnormalityItem.put("abnormal", String.valueOf(idxBizFanHealthIndex.getANOMALY()).replace("null","0.0"));
alarmAbnormalityItem.put("healthValue", String.valueOf(idxBizFanHealthIndex.getHealthIndex()));
if (idxBizFanHealthIndexListSize >= 3) {
if (i == 0) {
endTime = handlerDateStr(idxBizFanHealthIndex.getANALYSISTIME(), -8, 5);
}
if (i == 2) {
startTime = handlerDateStr(idxBizFanHealthIndex.getANALYSISTIME(), -8, -5);
}
}
if (idxBizFanHealthIndexListSize == 2) {
if (i == 0) {
endTime = handlerDateStr(idxBizFanHealthIndex.getANALYSISTIME(), -8, 5);
}
if (i == 1) {
startTime = handlerDateStr(idxBizFanHealthIndex.getANALYSISTIME(), -8, -5);
}
}
if (idxBizFanHealthIndexListSize == 1) {
if (i == 0) {
endTime = handlerDateStr(idxBizFanHealthIndex.getANALYSISTIME(), -8, 5);
startTime = handlerDateStr(idxBizFanHealthIndex.getANALYSISTIME(), -8, -5);
}
}
alarmAbnormalityList.add(alarmAbnormalityItem);
}
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;
alarmAbnormalityList=alarmAbnormalityList.subList(alarmAbnormalityList.size() - alarmAbnormalitySize, alarmAbnormalityList.size());
alarmAbnormalityList=alarmAbnormalityList.subList(alarmAbnormalityList.size() - warningCycle, alarmAbnormalityList.size());
alarmAbnormalityList.sort(Comparator.comparingInt(o->Integer.parseInt(o.get("sort"))));
if(alarmAbnormalityList.size()>0){
endTime = handlerDateStr(alarmAbnormalityList.get(0).get("time"),-8,5);
startTime = handlerDateStr(alarmAbnormalityList.get(alarmAbnormalityList.size()-1).get("time"),-8,-5);
}
result.put("alarmAbnormalityList", alarmAbnormalityList);
result.put("startTime", startTime);
result.put("endTime", endTime);
......@@ -238,6 +221,9 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
HashMap<String, Object> result = new HashMap<>();
HashMap<String, Object> alarmTrendMap = new HashMap<>();
HashMap<String,Object> maxValueAndWaringCycle = getWaringCycleAndMaxValueByWaring(idxBizPvWarningRecord.getWarningPeriod(),idxBizPvWarningRecord.getCONTENT(),idxBizPvWarningRecord.getPointName());
Integer warningCycle = Integer.valueOf(maxValueAndWaringCycle.get("warningCycle").toString());
alarmTrendMap.put("maxValue", maxValueAndWaringCycle.get("maxValue"));
alarmTrendMap.put("warningCycle", warningCycle);
List<HashMap<String, String>> alarmAbnormalityList = new ArrayList<>();
List<IdxBizPvHealthIndex> idxBizPvHealthIndexList = idxBizPvHealthIndexMapper.selectList(new QueryWrapper<IdxBizPvHealthIndex>()
.eq("GATEWAY_ID", idxBizPvWarningRecord.getGatewayId())
......@@ -290,9 +276,12 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
alarmTrendMap.put("warningCycle", maxValueAndWaringCycle.get("warningCycle"));
result.put("alarmTrend", alarmTrendMap);
// 异常度 alarmAbnormality
int alarmAbnormalitySize = idxBizPvHealthIndexListSize >= 3 ? 3 : idxBizPvHealthIndexListSize;
alarmAbnormalityList=alarmAbnormalityList.subList(alarmAbnormalityList.size() - alarmAbnormalitySize, alarmAbnormalityList.size());
alarmAbnormalityList=alarmAbnormalityList.subList(alarmAbnormalityList.size() - warningCycle, alarmAbnormalityList.size());
alarmAbnormalityList.sort(Comparator.comparingInt(o->Integer.parseInt(o.get("sort"))));
if(alarmAbnormalityList.size()>0){
endTime = handlerDateStr(alarmAbnormalityList.get(0).get("time"),-8,5);
startTime = handlerDateStr(alarmAbnormalityList.get(alarmAbnormalityList.size()-1).get("time"),-8,-5);
}
result.put("alarmAbnormalityList", alarmAbnormalityList);
result.put("startTime", startTime);
result.put("endTime", endTime);
......@@ -625,7 +614,7 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
String spiltStr =CommonConstans.waringPeriodTowaringCycle.get(warningPeriod);
String [] strings= warningContenct.split(spiltStr);
Double maxValue=0.0;
Integer warningCycle=0;
Integer warningCycle=1;
if(strings.length == 2){
if (spiltStr.equals("分钟")){
warningCycle = Integer.valueOf(strings[0])/10;
......
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