Commit 511a37dc authored by zhangsen's avatar zhangsen

预警详情修改

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