Commit 511a37dc authored by zhangsen's avatar zhangsen

预警详情修改

parent cbbf9846
......@@ -7,9 +7,13 @@ import com.yeejoin.amos.boot.module.jxiop.biz.constants.CommonConstans;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.*;
import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.*;
import com.yeejoin.amos.boot.module.jxiop.biz.service.IAlarmInfoDetailService;
import com.yeejoin.amos.boot.module.jxiop.biz.tdMapper2.FanHealthIndexMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.tdMapper2.FanWaringRecordMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.tdMapper2.PvHealthIndexMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.tdMapper2.PvWaringRecordMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.tdengine.FanHealthIndex;
import com.yeejoin.amos.boot.module.jxiop.biz.tdengine.FanWarningRecord;
import com.yeejoin.amos.boot.module.jxiop.biz.tdengine.PvHealthIndex;
import com.yeejoin.amos.boot.module.jxiop.biz.tdengine.PvWarningRecord;
import com.yeejoin.amos.boot.module.jxiop.biz.tdmapper.IndicatorDataMapper;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -54,6 +58,13 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
@Autowired
private PvWaringRecordMapper pvWaringRecordMapper;
@Autowired
FanHealthIndexMapper fanHealthIndexMapper;
@Autowired
PvHealthIndexMapper pvHealthIndexMapper;
@Override
public Map<String, Object> getAlramInfoDetailOfFan(String id) {
......@@ -184,26 +195,27 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
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())
.eq("INDEX_ADDRESS", idxBizFanWarningRecord.getIndexAddress())
.eq("ANALYSIS_TYPE", idxBizFanWarningRecord.getWarningPeriod())
.le("ANALYSIS_TIME", DateUtil.offsetMinute(DateUtil.parse(idxBizFanWarningRecord.getRecDate(), DatePattern.NORM_DATETIME_PATTERN), 1))
.orderByDesc("ANALYSIS_TIME")
List<FanHealthIndex> idxBizFanHealthIndexList = fanHealthIndexMapper.selectList(new QueryWrapper<FanHealthIndex>()
.eq("gateway_id", idxBizFanWarningRecord.getGatewayId())
.eq("index_address", idxBizFanWarningRecord.getIndexAddress())
.eq("analysis_type", idxBizFanWarningRecord.getWarningPeriod())
//时区减8小时 时间加1分钟
.le("ts", DateUtil.offsetMinute(DateUtil.parse(idxBizFanWarningRecord.getRecDate(), DatePattern.NORM_DATETIME_PATTERN), -479))
.orderByDesc("ts")
.last("limit 30"));
List<String> xDatas = new ArrayList<>();
List<Double> yDatas = new ArrayList<>();
String startTime = "";
String endTime = "";
String startTime = idxBizFanWarningRecord.getRecDate();
String endTime = idxBizFanWarningRecord.getRecDate();
int idxBizFanHealthIndexListSize = idxBizFanHealthIndexList.size();
for (int i = idxBizFanHealthIndexListSize - 1; i >= 0; i--) {
HashMap<String, String> alarmAbnormalityItem = new HashMap<>();
IdxBizFanHealthIndex idxBizFanHealthIndex = idxBizFanHealthIndexList.get(i);
xDatas.add(idxBizFanHealthIndex.getANALYSISTIME());
FanHealthIndex idxBizFanHealthIndex = idxBizFanHealthIndexList.get(i);
xDatas.add(idxBizFanHealthIndex.getAnalysisTime());
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"));
alarmAbnormalityItem.put("time", idxBizFanHealthIndex.getAnalysisTime());
alarmAbnormalityItem.put("abnormal", String.valueOf(idxBizFanHealthIndex.getAnomaly()).replace("null","0.0"));
alarmAbnormalityItem.put("healthValue", String.valueOf(idxBizFanHealthIndex.getHealthIndex()));
alarmAbnormalityList.add(alarmAbnormalityItem);
}
......@@ -212,7 +224,7 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
result.put("alarmTrend", alarmTrendMap);
// 异常度 alarmAbnormality
alarmAbnormalityList=alarmAbnormalityList.subList(alarmAbnormalityList.size() - warningCycle, alarmAbnormalityList.size());
alarmAbnormalityList=alarmAbnormalityList.subList(alarmAbnormalityList.size() - warningCycle >= 0 ? alarmAbnormalityList.size() - warningCycle : 0, 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);
......@@ -237,47 +249,47 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
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())
.eq("INDEX_ADDRESS", idxBizPvWarningRecord.getIndexAddress())
.eq("ANALYSIS_TYPE", idxBizPvWarningRecord.getWarningPeriod())
.le("ANALYSIS_TIME", DateUtil.offsetMinute(DateUtil.parse(idxBizPvWarningRecord.getRecDate(), DatePattern.NORM_DATETIME_PATTERN), 1))
.orderByDesc("ANALYSIS_TIME")
List<PvHealthIndex> idxBizPvHealthIndexList = pvHealthIndexMapper.selectList(new QueryWrapper<PvHealthIndex>()
.eq("gateway_id", idxBizPvWarningRecord.getGatewayId())
.eq("index_address", idxBizPvWarningRecord.getIndexAddress())
.eq("analysis_type", idxBizPvWarningRecord.getWarningPeriod())
.le("ts", DateUtil.offsetMinute(DateUtil.parse(idxBizPvWarningRecord.getRecDate(), DatePattern.NORM_DATETIME_PATTERN), -479))
.orderByDesc("ts")
.last("limit 30"));
List<String> xDatas = new ArrayList<>();
List<Double> yDatas = new ArrayList<>();
String startTime = "";
String endTime = "";
String startTime = idxBizPvWarningRecord.getRecDate();
String endTime = idxBizPvWarningRecord.getRecDate();
int idxBizPvHealthIndexListSize = idxBizPvHealthIndexList.size();
for (int i = idxBizPvHealthIndexList.size() - 1; i >= 0; i--) {
HashMap<String, String> alarmAbnormalityItem = new HashMap<>();
IdxBizPvHealthIndex idxBizPvHealthIndex = idxBizPvHealthIndexList.get(i);
xDatas.add(idxBizPvHealthIndex.getANALYSISTIME());
PvHealthIndex idxBizPvHealthIndex = idxBizPvHealthIndexList.get(i);
xDatas.add(idxBizPvHealthIndex.getAnalysisTime());
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"));
alarmAbnormalityItem.put("time", idxBizPvHealthIndex.getAnalysisTime());
alarmAbnormalityItem.put("abnormal", String.valueOf(idxBizPvHealthIndex.getAnomaly()).replace("null","0.0"));
alarmAbnormalityItem.put("healthValue", String.valueOf(idxBizPvHealthIndex.getHealthIndex()));
if (idxBizPvHealthIndexListSize >= 3) {
if (i == 0) {
endTime = handlerDateStr(idxBizPvHealthIndex.getANALYSISTIME(), -8, 5);
endTime = handlerDateStr(idxBizPvHealthIndex.getAnalysisTime(), -8, 5);
}
if (i == 2) {
startTime = handlerDateStr(idxBizPvHealthIndex.getANALYSISTIME(), -8, -5);
startTime = handlerDateStr(idxBizPvHealthIndex.getAnalysisTime(), -8, -5);
}
}
if (idxBizPvHealthIndexListSize == 2) {
if (i == 0) {
endTime = handlerDateStr(idxBizPvHealthIndex.getANALYSISTIME(), -8, 5);
endTime = handlerDateStr(idxBizPvHealthIndex.getAnalysisTime(), -8, 5);
}
if (i == 1) {
startTime = handlerDateStr(idxBizPvHealthIndex.getANALYSISTIME(), -8, -5);
startTime = handlerDateStr(idxBizPvHealthIndex.getAnalysisTime(), -8, -5);
}
}
if (idxBizPvHealthIndexListSize == 1) {
if (i == 0) {
endTime = handlerDateStr(idxBizPvHealthIndex.getANALYSISTIME(), -8, 5);
startTime = handlerDateStr(idxBizPvHealthIndex.getANALYSISTIME(), -8, -5);
endTime = handlerDateStr(idxBizPvHealthIndex.getAnalysisTime(), -8, 5);
startTime = handlerDateStr(idxBizPvHealthIndex.getAnalysisTime(), -8, -5);
}
}
alarmAbnormalityList.add(alarmAbnormalityItem);
......@@ -288,7 +300,7 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
alarmTrendMap.put("warningCycle", maxValueAndWaringCycle.get("warningCycle"));
result.put("alarmTrend", alarmTrendMap);
// 异常度 alarmAbnormality
alarmAbnormalityList=alarmAbnormalityList.subList(alarmAbnormalityList.size() - warningCycle, alarmAbnormalityList.size());
alarmAbnormalityList=alarmAbnormalityList.subList(alarmAbnormalityList.size() - warningCycle >= 0 ? alarmAbnormalityList.size() - warningCycle : 0, 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);
......
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