暂态模块格式化时间处理

This commit is contained in:
2023-04-20 10:44:18 +08:00
parent bdffafbf56
commit 4b3ff6e3ff
8 changed files with 47 additions and 287 deletions

View File

@@ -121,37 +121,6 @@ public class EventDetailServiceImpl extends ServiceImpl<EventDetailMapper, RmpEv
return BeanUtil.copyToList(pageInfo.getRecords(), EventDetail.class);
// //组装sql语句
// StringBuilder stringBuilder = new StringBuilder();
// stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(startTime))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(endTime))).append("' and (");
// for (int i = 0; i < lineIndexes.size(); i++) {
// if (lineIndexes.size() - i != 1) {
// stringBuilder.append("line_id ='").append(lineIndexes.get(i)).append("' or ");
// } else {
// stringBuilder.append("line_id ='").append(lineIndexes.get(i)).append("' ");
// }
// }
// stringBuilder.append(") and (");
// for (int i = 0; i < waveType.size(); i++) {
// if (waveType.size() - i != 1) {
// stringBuilder.append("wave_type ='").append(waveType.get(i)).append("' or ");
// } else {
// stringBuilder.append("wave_type ='").append(waveType.get(i)).append("' ");
// }
// }
// stringBuilder.append(") order by time desc");
// int i = (pageNum - 1)*pageSize;
// stringBuilder.append(" LIMIT ").append(pageSize).append(" OFFSET ").append(i).append(" tz('Asia/Shanghai')");
// //sql语句
// String sql = "SELECT * FROM pqs_eventdetail WHERE " + stringBuilder;
// System.out.println(sql);
// //结果集
// QueryResult result = influxDbUtils.query(sql);
// //结果集映射到对象中
// InfluxDBResultMapper influxDBResultMapper = new InfluxDBResultMapper();
// List<EventDetail> eventDetailList = influxDBResultMapper.toPOJO(result, EventDetail.class);
//
// return eventDetailList;
}
}

View File

@@ -110,13 +110,7 @@ public class TransientServiceImpl implements TransientService {
List<String> LineIndexes = deviceList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(LineIndexes)) {
//influxDB查询待分页数据总量
/* List<EventDetail> data = eventDetailService.getEventDetail(LineIndexes, transientParam.getSearchBeginTime(), transientParam.getSearchEndTime(),transientParam.getWaveType());
page.setTotal(data.size());
//分页总页数
int pages = (int) Math.ceil(data.size() * 1.0 / transientParam.getPageSize());
page.setPages(pages);*/
//influxDB分页查询
List<EventDetail> eventDetailData = eventDetailService.getEventDetailLimit(LineIndexes, transientParam.getSearchBeginTime(), transientParam.getSearchEndTime(), transientParam.getPageSize(), transientParam.getPageNum(), transientParam.getWaveType());
if (!CollectionUtils.isEmpty(eventDetailData)) {
@@ -331,14 +325,11 @@ public class TransientServiceImpl implements TransientService {
page= BeanUtil.copyProperties(pageInfo,Page.class);
if (CollUtil.isNotEmpty(eventDetailData)) {
List<String> lineIds = eventDetailData.stream().map(EventDetailNew::getLineId).collect(Collectors.toList());
lineIds = lineIds.stream().distinct().collect(Collectors.toList());
List<String> lineIds = eventDetailData.stream().map(EventDetailNew::getLineId).distinct().collect(Collectors.toList());
List<AreaLineInfoVO> r = lineFeignClient.getBaseLineAreaInfo(lineIds).getData();
List<DictData> reasonList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_REASON.getName()).getData();
List<DictData> typeList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName()).getData();
for (EventDetailNew eventDetail : eventDetailData) {
for (AreaLineInfoVO areaLineInfoVO : r) {
if (eventDetail.getLineId().equals(areaLineInfoVO.getLineId())) {
@@ -383,114 +374,7 @@ public class TransientServiceImpl implements TransientService {
return page;
}
/**
* 查询数据库
*/
private Long getTransientDetail(StringBuilder stringBuilder, TransientParam transientParam) {
Long total = 0L;
//组装sql语句
stringBuilder.append(" and time >= '").append(DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime()))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime()))).append("'").append(InfluxDBPublicParam.TIME_ZONE);
//sql语句
String sql = "SELECT count(wave_type) FROM pqs_eventdetail WHERE " + stringBuilder;
System.out.println("sql------------->>>" + sql);
//结果集
QueryResult result = influxDbUtils.query(sql);
//结果集映射到对象中
List<QueryResult.Series> series = result.getResults().get(0).getSeries();
if (CollUtil.isNotEmpty(series)) {
Double tem = (Double) series.get(0).getValues().get(0).get(1);
total = tem.longValue();
}
return total;
}
/**
* 根据条件拼接sql语句
*/
private List<EventDetailNew> getTransientDetailLimit(List<String> lineIndexes, TransientParam transientParam) {
//查询数据是否为空不为空拼接sql语句
StringBuilder querySql = new StringBuilder();
if (Objects.nonNull(transientParam.getEventValueMin())) {
querySql.append(" and event_value >=").append(transientParam.getEventValueMin());
}
if (Objects.nonNull(transientParam.getEventValueMax())) {
querySql.append(" and event_value <=").append(transientParam.getEventValueMax());
}
if (Objects.nonNull(transientParam.getPersistMin())) {
querySql.append(" and persist_time >=").append(transientParam.getPersistMin());
}
if (Objects.nonNull(transientParam.getEventValueMax())) {
querySql.append(" and persist_time <=").append(transientParam.getPersistMax());
}
if (Objects.nonNull(transientParam.getSeverityMin())) {
querySql.append(" and severity >=").append(transientParam.getSeverityMin());
}
if (Objects.nonNull(transientParam.getSeverityMax())) {
querySql.append(" and severity <=").append(transientParam.getSeverityMax());
}
if (Objects.nonNull(transientParam.getFileFlag())) {
querySql.append(" and file_flag = ").append(transientParam.getFileFlag());
}
if (CollUtil.isNotEmpty(transientParam.getWaveType())) {
querySql.append(" and ( ");
for (int i = 0; i < transientParam.getWaveType().size(); i++) {
if (transientParam.getWaveType().size() - i != 1) {
querySql.append("wave_type =").append(transientParam.getWaveType().get(i)).append(" or ");
} else {
querySql.append("wave_type =").append(transientParam.getWaveType().get(i)).append(") ");
}
}
}
if (CollUtil.isNotEmpty(transientParam.getEventReason())) {
querySql.append(" and ( ");
for (int i = 0; i < transientParam.getEventReason().size(); i++) {
if (transientParam.getWaveType().size() - i != 1) {
querySql.append("event_reason =").append(transientParam.getEventReason().get(i)).append(" or ");
} else {
querySql.append("event_reason =").append(transientParam.getEventReason().get(i)).append(") ");
}
}
}
if (CollUtil.isNotEmpty(transientParam.getEventType())) {
querySql.append(" and ( ");
for (int i = 0; i < transientParam.getEventType().size(); i++) {
if (transientParam.getEventType().size() - i != 1) {
querySql.append("event_type =").append(transientParam.getEventType().get(i)).append(" or ");
} else {
querySql.append("event_type =").append(transientParam.getEventType().get(i)).append(") ");
}
}
}
//组装sql语句
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime())))
.append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime()))).append("'")
.append(querySql);
stringBuilder.append(" and (");
for (int i = 0; i < lineIndexes.size(); i++) {
if (lineIndexes.size() - i != 1) {
stringBuilder.append("line_id ='").append(lineIndexes.get(i)).append("' or ");
} else {
stringBuilder.append("line_id ='").append(lineIndexes.get(i)).append("') ");
}
}
int i = (transientParam.getPageNum() - 1) * transientParam.getPageSize();
stringBuilder.append(" LIMIT ").append(transientParam.getPageSize()).append(" OFFSET ").append(i).append(" tz('Asia/Shanghai')");
//sql语句
String sql = "SELECT * FROM pqs_eventdetail WHERE " + stringBuilder;
//结果集
QueryResult queryresult = influxDbUtils.query(sql);
//结果集映射到对象中
InfluxDBResultMapperCn influxDBResultMapper = new InfluxDBResultMapperCn();
List<EventDetailNew> eventDetailList = influxDBResultMapper.toPOJO(queryresult, EventDetailNew.class);
return eventDetailList;
}
/**
* 复制保存文件